diff --git a/pkg/generate/code/set_sdk.go b/pkg/generate/code/set_sdk.go index 03c78d06..73eaae64 100644 --- a/pkg/generate/code/set_sdk.go +++ b/pkg/generate/code/set_sdk.go @@ -1786,7 +1786,7 @@ func setSDKForUnion( cfg, r, indexedVarName, memberShape, - indentLevel+2, + indentLevel+1, ) out += setSDKForContainer( cfg, r, @@ -1797,12 +1797,16 @@ func setSDKForUnion( memberShapeRef, false, op, - indentLevel+2, + indentLevel+1, ) - out += fmt.Sprintf("%s%s.Value = *%s\n", indent, elemVarName, indexedVarName) + out += fmt.Sprintf("%s\t%s.Value = *%s\n", indent, elemVarName, indexedVarName) + out += fmt.Sprintf("%s\t%s = %s\n", indent, targetVarName, elemVarName) + out += fmt.Sprintf("%s\tisInterfaceSet = true\n", indent) } default: - out += fmt.Sprintf("%s%s.Value = *%s\n", indent, elemVarName, sourceAdaptedVarName) + out += fmt.Sprintf("%s\t%s.Value = *%s\n", indent, elemVarName, sourceAdaptedVarName) + out += fmt.Sprintf("%s\t%s = %s\n", indent, targetVarName, elemVarName) + out += fmt.Sprintf("%s\tisInterfaceSet = true\n", indent) } if memberShape.RealType == "union" { memberShapeRef.Shape.Type = "structure" diff --git a/pkg/generate/code/set_sdk_test.go b/pkg/generate/code/set_sdk_test.go index 9479fce6..36a46551 100644 --- a/pkg/generate/code/set_sdk_test.go +++ b/pkg/generate/code/set_sdk_test.go @@ -4871,3 +4871,957 @@ func TestSetSDK_MQ_Broker_Configuration_Nested_Set_To(t *testing.T) { assert.Equal(expected, actual) } + +func TestEMRContainers_VirtualCluster_WithUnion(t *testing.T) { + assert := assert.New(t) + require := require.New(t) + + emrModel := testutil.NewModelForServiceWithOptions(t, "emrcontainers", &testutil.TestingModelOptions{ + GeneratorConfigFile: "generator-with-union.yaml", + }) + + crd := testutil.GetCRDByName(t, emrModel, "VirtualCluster") + require.NotNil(crd) + assert.NotNil(crd.Ops.Create) + + expected := ` + if r.ko.Spec.ClientToken != nil { + res.ClientToken = r.ko.Spec.ClientToken + } + if r.ko.Spec.ContainerProvider != nil { + f1 := &svcsdktypes.ContainerProvider{} + if r.ko.Spec.ContainerProvider.ID != nil { + f1.Id = r.ko.Spec.ContainerProvider.ID + } + if r.ko.Spec.ContainerProvider.Info != nil { + var f1f1 svcsdktypes.ContainerInfo + isInterfaceSet := false + if r.ko.Spec.ContainerProvider.Info.EKSInfo != nil { + if isInterfaceSet { + return nil, ackerr.NewTerminalError(fmt.Errorf("can only set one of the members for EksInfo")) + } + f1f1f0Parent := &svcsdktypes.ContainerInfoMemberEksInfo{} + f1f1f0 := &svcsdktypes.EksInfo{} + if r.ko.Spec.ContainerProvider.Info.EKSInfo.Namespace != nil { + f1f1f0.Namespace = r.ko.Spec.ContainerProvider.Info.EKSInfo.Namespace + } + f1f1f0Parent.Value = *f1f1f0 + f1f1 = f1f1f0Parent + isInterfaceSet = true + } + f1.Info = f1f1 + } + if r.ko.Spec.ContainerProvider.Type != nil { + f1.Type = svcsdktypes.ContainerProviderType(*r.ko.Spec.ContainerProvider.Type) + } + res.ContainerProvider = f1 + } + if r.ko.Spec.Name != nil { + res.Name = r.ko.Spec.Name + } + if r.ko.Spec.SecurityConfigurationID != nil { + res.SecurityConfigurationId = r.ko.Spec.SecurityConfigurationID + } + if r.ko.Spec.Tags != nil { + res.Tags = aws.ToStringMap(r.ko.Spec.Tags) + } +` + + actual := code.SetSDK(crd.Config(), crd, model.OpTypeCreate, "r.ko", "res", 1) + + assert.Equal( + expected, + actual, + ) +} + +func TestPipes_Pipe_WithUnion(t *testing.T) { + assert := assert.New(t) + require := require.New(t) + + emrModel := testutil.NewModelForServiceWithOptions(t, "pipes", &testutil.TestingModelOptions{ + GeneratorConfigFile: "generator-with-union.yaml", + }) + + crd := testutil.GetCRDByName(t, emrModel, "Pipe") + require.NotNil(crd) + assert.NotNil(crd.Ops.Create) + + expected := ` + if r.ko.Spec.Description != nil { + res.Description = r.ko.Spec.Description + } + if r.ko.Spec.DesiredState != nil { + res.DesiredState = svcsdktypes.RequestedPipeState(*r.ko.Spec.DesiredState) + } + if r.ko.Spec.Enrichment != nil { + res.Enrichment = r.ko.Spec.Enrichment + } + if r.ko.Spec.EnrichmentParameters != nil { + f3 := &svcsdktypes.PipeEnrichmentParameters{} + if r.ko.Spec.EnrichmentParameters.HTTPParameters != nil { + f3f0 := &svcsdktypes.PipeEnrichmentHttpParameters{} + if r.ko.Spec.EnrichmentParameters.HTTPParameters.HeaderParameters != nil { + f3f0.HeaderParameters = aws.ToStringMap(r.ko.Spec.EnrichmentParameters.HTTPParameters.HeaderParameters) + } + if r.ko.Spec.EnrichmentParameters.HTTPParameters.PathParameterValues != nil { + f3f0.PathParameterValues = aws.ToStringSlice(r.ko.Spec.EnrichmentParameters.HTTPParameters.PathParameterValues) + } + if r.ko.Spec.EnrichmentParameters.HTTPParameters.QueryStringParameters != nil { + f3f0.QueryStringParameters = aws.ToStringMap(r.ko.Spec.EnrichmentParameters.HTTPParameters.QueryStringParameters) + } + f3.HttpParameters = f3f0 + } + if r.ko.Spec.EnrichmentParameters.InputTemplate != nil { + f3.InputTemplate = r.ko.Spec.EnrichmentParameters.InputTemplate + } + res.EnrichmentParameters = f3 + } + if r.ko.Spec.Name != nil { + res.Name = r.ko.Spec.Name + } + if r.ko.Spec.RoleARN != nil { + res.RoleArn = r.ko.Spec.RoleARN + } + if r.ko.Spec.Source != nil { + res.Source = r.ko.Spec.Source + } + if r.ko.Spec.SourceParameters != nil { + f7 := &svcsdktypes.PipeSourceParameters{} + if r.ko.Spec.SourceParameters.ActiveMQBrokerParameters != nil { + f7f0 := &svcsdktypes.PipeSourceActiveMQBrokerParameters{} + if r.ko.Spec.SourceParameters.ActiveMQBrokerParameters.BatchSize != nil { + batchSizeCopy0 := *r.ko.Spec.SourceParameters.ActiveMQBrokerParameters.BatchSize + if batchSizeCopy0 > math.MaxInt32 || batchSizeCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field BatchSize is of type int32") + } + batchSizeCopy := int32(batchSizeCopy0) + f7f0.BatchSize = &batchSizeCopy + } + if r.ko.Spec.SourceParameters.ActiveMQBrokerParameters.Credentials != nil { + var f7f0f1 svcsdktypes.MQBrokerAccessCredentials + isInterfaceSet := false + if r.ko.Spec.SourceParameters.ActiveMQBrokerParameters.Credentials.BasicAuth != nil { + if isInterfaceSet { + return nil, ackerr.NewTerminalError(fmt.Errorf("can only set one of the members for BasicAuth")) + } + f7f0f1f0Parent := &svcsdktypes.MQBrokerAccessCredentialsMemberBasicAuth{} + f7f0f1f0Parent.Value = *r.ko.Spec.SourceParameters.ActiveMQBrokerParameters.Credentials.BasicAuth + f7f0f1 = f7f0f1f0Parent + isInterfaceSet = true + } + f7f0.Credentials = f7f0f1 + } + if r.ko.Spec.SourceParameters.ActiveMQBrokerParameters.MaximumBatchingWindowInSeconds != nil { + maximumBatchingWindowInSecondsCopy0 := *r.ko.Spec.SourceParameters.ActiveMQBrokerParameters.MaximumBatchingWindowInSeconds + if maximumBatchingWindowInSecondsCopy0 > math.MaxInt32 || maximumBatchingWindowInSecondsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumBatchingWindowInSeconds is of type int32") + } + maximumBatchingWindowInSecondsCopy := int32(maximumBatchingWindowInSecondsCopy0) + f7f0.MaximumBatchingWindowInSeconds = &maximumBatchingWindowInSecondsCopy + } + if r.ko.Spec.SourceParameters.ActiveMQBrokerParameters.QueueName != nil { + f7f0.QueueName = r.ko.Spec.SourceParameters.ActiveMQBrokerParameters.QueueName + } + f7.ActiveMQBrokerParameters = f7f0 + } + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters != nil { + f7f1 := &svcsdktypes.PipeSourceDynamoDBStreamParameters{} + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters.BatchSize != nil { + batchSizeCopy0 := *r.ko.Spec.SourceParameters.DynamoDBStreamParameters.BatchSize + if batchSizeCopy0 > math.MaxInt32 || batchSizeCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field BatchSize is of type int32") + } + batchSizeCopy := int32(batchSizeCopy0) + f7f1.BatchSize = &batchSizeCopy + } + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters.DeadLetterConfig != nil { + f7f1f1 := &svcsdktypes.DeadLetterConfig{} + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters.DeadLetterConfig.ARN != nil { + f7f1f1.Arn = r.ko.Spec.SourceParameters.DynamoDBStreamParameters.DeadLetterConfig.ARN + } + f7f1.DeadLetterConfig = f7f1f1 + } + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters.MaximumBatchingWindowInSeconds != nil { + maximumBatchingWindowInSecondsCopy0 := *r.ko.Spec.SourceParameters.DynamoDBStreamParameters.MaximumBatchingWindowInSeconds + if maximumBatchingWindowInSecondsCopy0 > math.MaxInt32 || maximumBatchingWindowInSecondsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumBatchingWindowInSeconds is of type int32") + } + maximumBatchingWindowInSecondsCopy := int32(maximumBatchingWindowInSecondsCopy0) + f7f1.MaximumBatchingWindowInSeconds = &maximumBatchingWindowInSecondsCopy + } + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters.MaximumRecordAgeInSeconds != nil { + maximumRecordAgeInSecondsCopy0 := *r.ko.Spec.SourceParameters.DynamoDBStreamParameters.MaximumRecordAgeInSeconds + if maximumRecordAgeInSecondsCopy0 > math.MaxInt32 || maximumRecordAgeInSecondsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumRecordAgeInSeconds is of type int32") + } + maximumRecordAgeInSecondsCopy := int32(maximumRecordAgeInSecondsCopy0) + f7f1.MaximumRecordAgeInSeconds = &maximumRecordAgeInSecondsCopy + } + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters.MaximumRetryAttempts != nil { + maximumRetryAttemptsCopy0 := *r.ko.Spec.SourceParameters.DynamoDBStreamParameters.MaximumRetryAttempts + if maximumRetryAttemptsCopy0 > math.MaxInt32 || maximumRetryAttemptsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumRetryAttempts is of type int32") + } + maximumRetryAttemptsCopy := int32(maximumRetryAttemptsCopy0) + f7f1.MaximumRetryAttempts = &maximumRetryAttemptsCopy + } + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters.OnPartialBatchItemFailure != nil { + f7f1.OnPartialBatchItemFailure = svcsdktypes.OnPartialBatchItemFailureStreams(*r.ko.Spec.SourceParameters.DynamoDBStreamParameters.OnPartialBatchItemFailure) + } + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters.ParallelizationFactor != nil { + parallelizationFactorCopy0 := *r.ko.Spec.SourceParameters.DynamoDBStreamParameters.ParallelizationFactor + if parallelizationFactorCopy0 > math.MaxInt32 || parallelizationFactorCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field ParallelizationFactor is of type int32") + } + parallelizationFactorCopy := int32(parallelizationFactorCopy0) + f7f1.ParallelizationFactor = ¶llelizationFactorCopy + } + if r.ko.Spec.SourceParameters.DynamoDBStreamParameters.StartingPosition != nil { + f7f1.StartingPosition = svcsdktypes.DynamoDBStreamStartPosition(*r.ko.Spec.SourceParameters.DynamoDBStreamParameters.StartingPosition) + } + f7.DynamoDBStreamParameters = f7f1 + } + if r.ko.Spec.SourceParameters.FilterCriteria != nil { + f7f2 := &svcsdktypes.FilterCriteria{} + if r.ko.Spec.SourceParameters.FilterCriteria.Filters != nil { + f7f2f0 := []svcsdktypes.Filter{} + for _, f7f2f0iter := range r.ko.Spec.SourceParameters.FilterCriteria.Filters { + f7f2f0elem := &svcsdktypes.Filter{} + if f7f2f0iter.Pattern != nil { + f7f2f0elem.Pattern = f7f2f0iter.Pattern + } + f7f2f0 = append(f7f2f0, *f7f2f0elem) + } + f7f2.Filters = f7f2f0 + } + f7.FilterCriteria = f7f2 + } + if r.ko.Spec.SourceParameters.KinesisStreamParameters != nil { + f7f3 := &svcsdktypes.PipeSourceKinesisStreamParameters{} + if r.ko.Spec.SourceParameters.KinesisStreamParameters.BatchSize != nil { + batchSizeCopy0 := *r.ko.Spec.SourceParameters.KinesisStreamParameters.BatchSize + if batchSizeCopy0 > math.MaxInt32 || batchSizeCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field BatchSize is of type int32") + } + batchSizeCopy := int32(batchSizeCopy0) + f7f3.BatchSize = &batchSizeCopy + } + if r.ko.Spec.SourceParameters.KinesisStreamParameters.DeadLetterConfig != nil { + f7f3f1 := &svcsdktypes.DeadLetterConfig{} + if r.ko.Spec.SourceParameters.KinesisStreamParameters.DeadLetterConfig.ARN != nil { + f7f3f1.Arn = r.ko.Spec.SourceParameters.KinesisStreamParameters.DeadLetterConfig.ARN + } + f7f3.DeadLetterConfig = f7f3f1 + } + if r.ko.Spec.SourceParameters.KinesisStreamParameters.MaximumBatchingWindowInSeconds != nil { + maximumBatchingWindowInSecondsCopy0 := *r.ko.Spec.SourceParameters.KinesisStreamParameters.MaximumBatchingWindowInSeconds + if maximumBatchingWindowInSecondsCopy0 > math.MaxInt32 || maximumBatchingWindowInSecondsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumBatchingWindowInSeconds is of type int32") + } + maximumBatchingWindowInSecondsCopy := int32(maximumBatchingWindowInSecondsCopy0) + f7f3.MaximumBatchingWindowInSeconds = &maximumBatchingWindowInSecondsCopy + } + if r.ko.Spec.SourceParameters.KinesisStreamParameters.MaximumRecordAgeInSeconds != nil { + maximumRecordAgeInSecondsCopy0 := *r.ko.Spec.SourceParameters.KinesisStreamParameters.MaximumRecordAgeInSeconds + if maximumRecordAgeInSecondsCopy0 > math.MaxInt32 || maximumRecordAgeInSecondsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumRecordAgeInSeconds is of type int32") + } + maximumRecordAgeInSecondsCopy := int32(maximumRecordAgeInSecondsCopy0) + f7f3.MaximumRecordAgeInSeconds = &maximumRecordAgeInSecondsCopy + } + if r.ko.Spec.SourceParameters.KinesisStreamParameters.MaximumRetryAttempts != nil { + maximumRetryAttemptsCopy0 := *r.ko.Spec.SourceParameters.KinesisStreamParameters.MaximumRetryAttempts + if maximumRetryAttemptsCopy0 > math.MaxInt32 || maximumRetryAttemptsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumRetryAttempts is of type int32") + } + maximumRetryAttemptsCopy := int32(maximumRetryAttemptsCopy0) + f7f3.MaximumRetryAttempts = &maximumRetryAttemptsCopy + } + if r.ko.Spec.SourceParameters.KinesisStreamParameters.OnPartialBatchItemFailure != nil { + f7f3.OnPartialBatchItemFailure = svcsdktypes.OnPartialBatchItemFailureStreams(*r.ko.Spec.SourceParameters.KinesisStreamParameters.OnPartialBatchItemFailure) + } + if r.ko.Spec.SourceParameters.KinesisStreamParameters.ParallelizationFactor != nil { + parallelizationFactorCopy0 := *r.ko.Spec.SourceParameters.KinesisStreamParameters.ParallelizationFactor + if parallelizationFactorCopy0 > math.MaxInt32 || parallelizationFactorCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field ParallelizationFactor is of type int32") + } + parallelizationFactorCopy := int32(parallelizationFactorCopy0) + f7f3.ParallelizationFactor = ¶llelizationFactorCopy + } + if r.ko.Spec.SourceParameters.KinesisStreamParameters.StartingPosition != nil { + f7f3.StartingPosition = svcsdktypes.KinesisStreamStartPosition(*r.ko.Spec.SourceParameters.KinesisStreamParameters.StartingPosition) + } + if r.ko.Spec.SourceParameters.KinesisStreamParameters.StartingPositionTimestamp != nil { + f7f3.StartingPositionTimestamp = &r.ko.Spec.SourceParameters.KinesisStreamParameters.StartingPositionTimestamp.Time + } + f7.KinesisStreamParameters = f7f3 + } + if r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters != nil { + f7f4 := &svcsdktypes.PipeSourceManagedStreamingKafkaParameters{} + if r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.BatchSize != nil { + batchSizeCopy0 := *r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.BatchSize + if batchSizeCopy0 > math.MaxInt32 || batchSizeCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field BatchSize is of type int32") + } + batchSizeCopy := int32(batchSizeCopy0) + f7f4.BatchSize = &batchSizeCopy + } + if r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.ConsumerGroupID != nil { + f7f4.ConsumerGroupID = r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.ConsumerGroupID + } + if r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.Credentials != nil { + var f7f4f2 svcsdktypes.MSKAccessCredentials + isInterfaceSet := false + if r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.Credentials.ClientCertificateTLSAuth != nil { + if isInterfaceSet { + return nil, ackerr.NewTerminalError(fmt.Errorf("can only set one of the members for ClientCertificateTlsAuth")) + } + f7f4f2f0Parent := &svcsdktypes.MSKAccessCredentialsMemberClientCertificateTlsAuth{} + f7f4f2f0Parent.Value = *r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.Credentials.ClientCertificateTLSAuth + f7f4f2 = f7f4f2f0Parent + isInterfaceSet = true + } + if r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.Credentials.SASLSCRAM512Auth != nil { + if isInterfaceSet { + return nil, ackerr.NewTerminalError(fmt.Errorf("can only set one of the members for SaslScram512Auth")) + } + f7f4f2f1Parent := &svcsdktypes.MSKAccessCredentialsMemberSaslScram512Auth{} + f7f4f2f1Parent.Value = *r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.Credentials.SASLSCRAM512Auth + f7f4f2 = f7f4f2f1Parent + isInterfaceSet = true + } + f7f4.Credentials = f7f4f2 + } + if r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.MaximumBatchingWindowInSeconds != nil { + maximumBatchingWindowInSecondsCopy0 := *r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.MaximumBatchingWindowInSeconds + if maximumBatchingWindowInSecondsCopy0 > math.MaxInt32 || maximumBatchingWindowInSecondsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumBatchingWindowInSeconds is of type int32") + } + maximumBatchingWindowInSecondsCopy := int32(maximumBatchingWindowInSecondsCopy0) + f7f4.MaximumBatchingWindowInSeconds = &maximumBatchingWindowInSecondsCopy + } + if r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.StartingPosition != nil { + f7f4.StartingPosition = svcsdktypes.MSKStartPosition(*r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.StartingPosition) + } + if r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.TopicName != nil { + f7f4.TopicName = r.ko.Spec.SourceParameters.ManagedStreamingKafkaParameters.TopicName + } + f7.ManagedStreamingKafkaParameters = f7f4 + } + if r.ko.Spec.SourceParameters.RabbitMQBrokerParameters != nil { + f7f5 := &svcsdktypes.PipeSourceRabbitMQBrokerParameters{} + if r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.BatchSize != nil { + batchSizeCopy0 := *r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.BatchSize + if batchSizeCopy0 > math.MaxInt32 || batchSizeCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field BatchSize is of type int32") + } + batchSizeCopy := int32(batchSizeCopy0) + f7f5.BatchSize = &batchSizeCopy + } + if r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.Credentials != nil { + var f7f5f1 svcsdktypes.MQBrokerAccessCredentials + isInterfaceSet := false + if r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.Credentials.BasicAuth != nil { + if isInterfaceSet { + return nil, ackerr.NewTerminalError(fmt.Errorf("can only set one of the members for BasicAuth")) + } + f7f5f1f0Parent := &svcsdktypes.MQBrokerAccessCredentialsMemberBasicAuth{} + f7f5f1f0Parent.Value = *r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.Credentials.BasicAuth + f7f5f1 = f7f5f1f0Parent + isInterfaceSet = true + } + f7f5.Credentials = f7f5f1 + } + if r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.MaximumBatchingWindowInSeconds != nil { + maximumBatchingWindowInSecondsCopy0 := *r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.MaximumBatchingWindowInSeconds + if maximumBatchingWindowInSecondsCopy0 > math.MaxInt32 || maximumBatchingWindowInSecondsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumBatchingWindowInSeconds is of type int32") + } + maximumBatchingWindowInSecondsCopy := int32(maximumBatchingWindowInSecondsCopy0) + f7f5.MaximumBatchingWindowInSeconds = &maximumBatchingWindowInSecondsCopy + } + if r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.QueueName != nil { + f7f5.QueueName = r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.QueueName + } + if r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.VirtualHost != nil { + f7f5.VirtualHost = r.ko.Spec.SourceParameters.RabbitMQBrokerParameters.VirtualHost + } + f7.RabbitMQBrokerParameters = f7f5 + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters != nil { + f7f6 := &svcsdktypes.PipeSourceSelfManagedKafkaParameters{} + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.AdditionalBootstrapServers != nil { + f7f6.AdditionalBootstrapServers = aws.ToStringSlice(r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.AdditionalBootstrapServers) + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.BatchSize != nil { + batchSizeCopy0 := *r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.BatchSize + if batchSizeCopy0 > math.MaxInt32 || batchSizeCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field BatchSize is of type int32") + } + batchSizeCopy := int32(batchSizeCopy0) + f7f6.BatchSize = &batchSizeCopy + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.ConsumerGroupID != nil { + f7f6.ConsumerGroupID = r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.ConsumerGroupID + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.Credentials != nil { + var f7f6f3 svcsdktypes.SelfManagedKafkaAccessConfigurationCredentials + isInterfaceSet := false + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.Credentials.BasicAuth != nil { + if isInterfaceSet { + return nil, ackerr.NewTerminalError(fmt.Errorf("can only set one of the members for BasicAuth")) + } + f7f6f3f0Parent := &svcsdktypes.SelfManagedKafkaAccessConfigurationCredentialsMemberBasicAuth{} + f7f6f3f0Parent.Value = *r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.Credentials.BasicAuth + f7f6f3 = f7f6f3f0Parent + isInterfaceSet = true + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.Credentials.ClientCertificateTLSAuth != nil { + if isInterfaceSet { + return nil, ackerr.NewTerminalError(fmt.Errorf("can only set one of the members for ClientCertificateTlsAuth")) + } + f7f6f3f1Parent := &svcsdktypes.SelfManagedKafkaAccessConfigurationCredentialsMemberClientCertificateTlsAuth{} + f7f6f3f1Parent.Value = *r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.Credentials.ClientCertificateTLSAuth + f7f6f3 = f7f6f3f1Parent + isInterfaceSet = true + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.Credentials.SASLSCRAM256Auth != nil { + if isInterfaceSet { + return nil, ackerr.NewTerminalError(fmt.Errorf("can only set one of the members for SaslScram256Auth")) + } + f7f6f3f2Parent := &svcsdktypes.SelfManagedKafkaAccessConfigurationCredentialsMemberSaslScram256Auth{} + f7f6f3f2Parent.Value = *r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.Credentials.SASLSCRAM256Auth + f7f6f3 = f7f6f3f2Parent + isInterfaceSet = true + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.Credentials.SASLSCRAM512Auth != nil { + if isInterfaceSet { + return nil, ackerr.NewTerminalError(fmt.Errorf("can only set one of the members for SaslScram512Auth")) + } + f7f6f3f3Parent := &svcsdktypes.SelfManagedKafkaAccessConfigurationCredentialsMemberSaslScram512Auth{} + f7f6f3f3Parent.Value = *r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.Credentials.SASLSCRAM512Auth + f7f6f3 = f7f6f3f3Parent + isInterfaceSet = true + } + f7f6.Credentials = f7f6f3 + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.MaximumBatchingWindowInSeconds != nil { + maximumBatchingWindowInSecondsCopy0 := *r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.MaximumBatchingWindowInSeconds + if maximumBatchingWindowInSecondsCopy0 > math.MaxInt32 || maximumBatchingWindowInSecondsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumBatchingWindowInSeconds is of type int32") + } + maximumBatchingWindowInSecondsCopy := int32(maximumBatchingWindowInSecondsCopy0) + f7f6.MaximumBatchingWindowInSeconds = &maximumBatchingWindowInSecondsCopy + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.ServerRootCaCertificate != nil { + f7f6.ServerRootCaCertificate = r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.ServerRootCaCertificate + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.StartingPosition != nil { + f7f6.StartingPosition = svcsdktypes.SelfManagedKafkaStartPosition(*r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.StartingPosition) + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.TopicName != nil { + f7f6.TopicName = r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.TopicName + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.VPC != nil { + f7f6f8 := &svcsdktypes.SelfManagedKafkaAccessConfigurationVpc{} + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.VPC.SecurityGroup != nil { + f7f6f8.SecurityGroup = aws.ToStringSlice(r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.VPC.SecurityGroup) + } + if r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.VPC.Subnets != nil { + f7f6f8.Subnets = aws.ToStringSlice(r.ko.Spec.SourceParameters.SelfManagedKafkaParameters.VPC.Subnets) + } + f7f6.Vpc = f7f6f8 + } + f7.SelfManagedKafkaParameters = f7f6 + } + if r.ko.Spec.SourceParameters.SQSQueueParameters != nil { + f7f7 := &svcsdktypes.PipeSourceSqsQueueParameters{} + if r.ko.Spec.SourceParameters.SQSQueueParameters.BatchSize != nil { + batchSizeCopy0 := *r.ko.Spec.SourceParameters.SQSQueueParameters.BatchSize + if batchSizeCopy0 > math.MaxInt32 || batchSizeCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field BatchSize is of type int32") + } + batchSizeCopy := int32(batchSizeCopy0) + f7f7.BatchSize = &batchSizeCopy + } + if r.ko.Spec.SourceParameters.SQSQueueParameters.MaximumBatchingWindowInSeconds != nil { + maximumBatchingWindowInSecondsCopy0 := *r.ko.Spec.SourceParameters.SQSQueueParameters.MaximumBatchingWindowInSeconds + if maximumBatchingWindowInSecondsCopy0 > math.MaxInt32 || maximumBatchingWindowInSecondsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MaximumBatchingWindowInSeconds is of type int32") + } + maximumBatchingWindowInSecondsCopy := int32(maximumBatchingWindowInSecondsCopy0) + f7f7.MaximumBatchingWindowInSeconds = &maximumBatchingWindowInSecondsCopy + } + f7.SqsQueueParameters = f7f7 + } + res.SourceParameters = f7 + } + if r.ko.Spec.Tags != nil { + res.Tags = aws.ToStringMap(r.ko.Spec.Tags) + } + if r.ko.Spec.Target != nil { + res.Target = r.ko.Spec.Target + } + if r.ko.Spec.TargetParameters != nil { + f10 := &svcsdktypes.PipeTargetParameters{} + if r.ko.Spec.TargetParameters.BatchJobParameters != nil { + f10f0 := &svcsdktypes.PipeTargetBatchJobParameters{} + if r.ko.Spec.TargetParameters.BatchJobParameters.ArrayProperties != nil { + f10f0f0 := &svcsdktypes.BatchArrayProperties{} + if r.ko.Spec.TargetParameters.BatchJobParameters.ArrayProperties.Size != nil { + sizeCopy0 := *r.ko.Spec.TargetParameters.BatchJobParameters.ArrayProperties.Size + if sizeCopy0 > math.MaxInt32 || sizeCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field Size is of type int32") + } + sizeCopy := int32(sizeCopy0) + f10f0f0.Size = &sizeCopy + } + f10f0.ArrayProperties = f10f0f0 + } + if r.ko.Spec.TargetParameters.BatchJobParameters.ContainerOverrides != nil { + f10f0f1 := &svcsdktypes.BatchContainerOverrides{} + if r.ko.Spec.TargetParameters.BatchJobParameters.ContainerOverrides.Command != nil { + f10f0f1.Command = aws.ToStringSlice(r.ko.Spec.TargetParameters.BatchJobParameters.ContainerOverrides.Command) + } + if r.ko.Spec.TargetParameters.BatchJobParameters.ContainerOverrides.Environment != nil { + f10f0f1f1 := []svcsdktypes.BatchEnvironmentVariable{} + for _, f10f0f1f1iter := range r.ko.Spec.TargetParameters.BatchJobParameters.ContainerOverrides.Environment { + f10f0f1f1elem := &svcsdktypes.BatchEnvironmentVariable{} + if f10f0f1f1iter.Name != nil { + f10f0f1f1elem.Name = f10f0f1f1iter.Name + } + if f10f0f1f1iter.Value != nil { + f10f0f1f1elem.Value = f10f0f1f1iter.Value + } + f10f0f1f1 = append(f10f0f1f1, *f10f0f1f1elem) + } + f10f0f1.Environment = f10f0f1f1 + } + if r.ko.Spec.TargetParameters.BatchJobParameters.ContainerOverrides.InstanceType != nil { + f10f0f1.InstanceType = r.ko.Spec.TargetParameters.BatchJobParameters.ContainerOverrides.InstanceType + } + if r.ko.Spec.TargetParameters.BatchJobParameters.ContainerOverrides.ResourceRequirements != nil { + f10f0f1f3 := []svcsdktypes.BatchResourceRequirement{} + for _, f10f0f1f3iter := range r.ko.Spec.TargetParameters.BatchJobParameters.ContainerOverrides.ResourceRequirements { + f10f0f1f3elem := &svcsdktypes.BatchResourceRequirement{} + if f10f0f1f3iter.Type != nil { + f10f0f1f3elem.Type = svcsdktypes.BatchResourceRequirementType(*f10f0f1f3iter.Type) + } + if f10f0f1f3iter.Value != nil { + f10f0f1f3elem.Value = f10f0f1f3iter.Value + } + f10f0f1f3 = append(f10f0f1f3, *f10f0f1f3elem) + } + f10f0f1.ResourceRequirements = f10f0f1f3 + } + f10f0.ContainerOverrides = f10f0f1 + } + if r.ko.Spec.TargetParameters.BatchJobParameters.DependsOn != nil { + f10f0f2 := []svcsdktypes.BatchJobDependency{} + for _, f10f0f2iter := range r.ko.Spec.TargetParameters.BatchJobParameters.DependsOn { + f10f0f2elem := &svcsdktypes.BatchJobDependency{} + if f10f0f2iter.JobID != nil { + f10f0f2elem.JobId = f10f0f2iter.JobID + } + if f10f0f2iter.Type != nil { + f10f0f2elem.Type = svcsdktypes.BatchJobDependencyType(*f10f0f2iter.Type) + } + f10f0f2 = append(f10f0f2, *f10f0f2elem) + } + f10f0.DependsOn = f10f0f2 + } + if r.ko.Spec.TargetParameters.BatchJobParameters.JobDefinition != nil { + f10f0.JobDefinition = r.ko.Spec.TargetParameters.BatchJobParameters.JobDefinition + } + if r.ko.Spec.TargetParameters.BatchJobParameters.JobName != nil { + f10f0.JobName = r.ko.Spec.TargetParameters.BatchJobParameters.JobName + } + if r.ko.Spec.TargetParameters.BatchJobParameters.Parameters != nil { + f10f0.Parameters = aws.ToStringMap(r.ko.Spec.TargetParameters.BatchJobParameters.Parameters) + } + if r.ko.Spec.TargetParameters.BatchJobParameters.RetryStrategy != nil { + f10f0f6 := &svcsdktypes.BatchRetryStrategy{} + if r.ko.Spec.TargetParameters.BatchJobParameters.RetryStrategy.Attempts != nil { + attemptsCopy0 := *r.ko.Spec.TargetParameters.BatchJobParameters.RetryStrategy.Attempts + if attemptsCopy0 > math.MaxInt32 || attemptsCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field Attempts is of type int32") + } + attemptsCopy := int32(attemptsCopy0) + f10f0f6.Attempts = &attemptsCopy + } + f10f0.RetryStrategy = f10f0f6 + } + f10.BatchJobParameters = f10f0 + } + if r.ko.Spec.TargetParameters.CloudWatchLogsParameters != nil { + f10f1 := &svcsdktypes.PipeTargetCloudWatchLogsParameters{} + if r.ko.Spec.TargetParameters.CloudWatchLogsParameters.LogStreamName != nil { + f10f1.LogStreamName = r.ko.Spec.TargetParameters.CloudWatchLogsParameters.LogStreamName + } + if r.ko.Spec.TargetParameters.CloudWatchLogsParameters.Timestamp != nil { + f10f1.Timestamp = r.ko.Spec.TargetParameters.CloudWatchLogsParameters.Timestamp + } + f10.CloudWatchLogsParameters = f10f1 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters != nil { + f10f2 := &svcsdktypes.PipeTargetEcsTaskParameters{} + if r.ko.Spec.TargetParameters.ECSTaskParameters.CapacityProviderStrategy != nil { + f10f2f0 := []svcsdktypes.CapacityProviderStrategyItem{} + for _, f10f2f0iter := range r.ko.Spec.TargetParameters.ECSTaskParameters.CapacityProviderStrategy { + f10f2f0elem := &svcsdktypes.CapacityProviderStrategyItem{} + if f10f2f0iter.Base != nil { + baseCopy0 := *f10f2f0iter.Base + if baseCopy0 > math.MaxInt32 || baseCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field base is of type int32") + } + baseCopy := int32(baseCopy0) + f10f2f0elem.Base = baseCopy + } + if f10f2f0iter.CapacityProvider != nil { + f10f2f0elem.CapacityProvider = f10f2f0iter.CapacityProvider + } + if f10f2f0iter.Weight != nil { + weightCopy0 := *f10f2f0iter.Weight + if weightCopy0 > math.MaxInt32 || weightCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field weight is of type int32") + } + weightCopy := int32(weightCopy0) + f10f2f0elem.Weight = weightCopy + } + f10f2f0 = append(f10f2f0, *f10f2f0elem) + } + f10f2.CapacityProviderStrategy = f10f2f0 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.EnableECSManagedTags != nil { + f10f2.EnableECSManagedTags = *r.ko.Spec.TargetParameters.ECSTaskParameters.EnableECSManagedTags + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.EnableExecuteCommand != nil { + f10f2.EnableExecuteCommand = *r.ko.Spec.TargetParameters.ECSTaskParameters.EnableExecuteCommand + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.Group != nil { + f10f2.Group = r.ko.Spec.TargetParameters.ECSTaskParameters.Group + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.LaunchType != nil { + f10f2.LaunchType = svcsdktypes.LaunchType(*r.ko.Spec.TargetParameters.ECSTaskParameters.LaunchType) + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.NetworkConfiguration != nil { + f10f2f5 := &svcsdktypes.NetworkConfiguration{} + if r.ko.Spec.TargetParameters.ECSTaskParameters.NetworkConfiguration.AWSVPCConfiguration != nil { + f10f2f5f0 := &svcsdktypes.AwsVpcConfiguration{} + if r.ko.Spec.TargetParameters.ECSTaskParameters.NetworkConfiguration.AWSVPCConfiguration.AssignPublicIP != nil { + f10f2f5f0.AssignPublicIp = svcsdktypes.AssignPublicIp(*r.ko.Spec.TargetParameters.ECSTaskParameters.NetworkConfiguration.AWSVPCConfiguration.AssignPublicIP) + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.NetworkConfiguration.AWSVPCConfiguration.SecurityGroups != nil { + f10f2f5f0.SecurityGroups = aws.ToStringSlice(r.ko.Spec.TargetParameters.ECSTaskParameters.NetworkConfiguration.AWSVPCConfiguration.SecurityGroups) + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.NetworkConfiguration.AWSVPCConfiguration.Subnets != nil { + f10f2f5f0.Subnets = aws.ToStringSlice(r.ko.Spec.TargetParameters.ECSTaskParameters.NetworkConfiguration.AWSVPCConfiguration.Subnets) + } + f10f2f5.AwsvpcConfiguration = f10f2f5f0 + } + f10f2.NetworkConfiguration = f10f2f5 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides != nil { + f10f2f6 := &svcsdktypes.EcsTaskOverride{} + if r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.ContainerOverrides != nil { + f10f2f6f0 := []svcsdktypes.EcsContainerOverride{} + for _, f10f2f6f0iter := range r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.ContainerOverrides { + f10f2f6f0elem := &svcsdktypes.EcsContainerOverride{} + if f10f2f6f0iter.Command != nil { + f10f2f6f0elem.Command = aws.ToStringSlice(f10f2f6f0iter.Command) + } + if f10f2f6f0iter.CPU != nil { + cpuCopy0 := *f10f2f6f0iter.CPU + if cpuCopy0 > math.MaxInt32 || cpuCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field Cpu is of type int32") + } + cpuCopy := int32(cpuCopy0) + f10f2f6f0elem.Cpu = &cpuCopy + } + if f10f2f6f0iter.Environment != nil { + f10f2f6f0elemf2 := []svcsdktypes.EcsEnvironmentVariable{} + for _, f10f2f6f0elemf2iter := range f10f2f6f0iter.Environment { + f10f2f6f0elemf2elem := &svcsdktypes.EcsEnvironmentVariable{} + if f10f2f6f0elemf2iter.Name != nil { + f10f2f6f0elemf2elem.Name = f10f2f6f0elemf2iter.Name + } + if f10f2f6f0elemf2iter.Value != nil { + f10f2f6f0elemf2elem.Value = f10f2f6f0elemf2iter.Value + } + f10f2f6f0elemf2 = append(f10f2f6f0elemf2, *f10f2f6f0elemf2elem) + } + f10f2f6f0elem.Environment = f10f2f6f0elemf2 + } + if f10f2f6f0iter.EnvironmentFiles != nil { + f10f2f6f0elemf3 := []svcsdktypes.EcsEnvironmentFile{} + for _, f10f2f6f0elemf3iter := range f10f2f6f0iter.EnvironmentFiles { + f10f2f6f0elemf3elem := &svcsdktypes.EcsEnvironmentFile{} + if f10f2f6f0elemf3iter.Type != nil { + f10f2f6f0elemf3elem.Type = svcsdktypes.EcsEnvironmentFileType(*f10f2f6f0elemf3iter.Type) + } + if f10f2f6f0elemf3iter.Value != nil { + f10f2f6f0elemf3elem.Value = f10f2f6f0elemf3iter.Value + } + f10f2f6f0elemf3 = append(f10f2f6f0elemf3, *f10f2f6f0elemf3elem) + } + f10f2f6f0elem.EnvironmentFiles = f10f2f6f0elemf3 + } + if f10f2f6f0iter.Memory != nil { + memoryCopy0 := *f10f2f6f0iter.Memory + if memoryCopy0 > math.MaxInt32 || memoryCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field Memory is of type int32") + } + memoryCopy := int32(memoryCopy0) + f10f2f6f0elem.Memory = &memoryCopy + } + if f10f2f6f0iter.MemoryReservation != nil { + memoryReservationCopy0 := *f10f2f6f0iter.MemoryReservation + if memoryReservationCopy0 > math.MaxInt32 || memoryReservationCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field MemoryReservation is of type int32") + } + memoryReservationCopy := int32(memoryReservationCopy0) + f10f2f6f0elem.MemoryReservation = &memoryReservationCopy + } + if f10f2f6f0iter.Name != nil { + f10f2f6f0elem.Name = f10f2f6f0iter.Name + } + if f10f2f6f0iter.ResourceRequirements != nil { + f10f2f6f0elemf7 := []svcsdktypes.EcsResourceRequirement{} + for _, f10f2f6f0elemf7iter := range f10f2f6f0iter.ResourceRequirements { + f10f2f6f0elemf7elem := &svcsdktypes.EcsResourceRequirement{} + if f10f2f6f0elemf7iter.Type != nil { + f10f2f6f0elemf7elem.Type = svcsdktypes.EcsResourceRequirementType(*f10f2f6f0elemf7iter.Type) + } + if f10f2f6f0elemf7iter.Value != nil { + f10f2f6f0elemf7elem.Value = f10f2f6f0elemf7iter.Value + } + f10f2f6f0elemf7 = append(f10f2f6f0elemf7, *f10f2f6f0elemf7elem) + } + f10f2f6f0elem.ResourceRequirements = f10f2f6f0elemf7 + } + f10f2f6f0 = append(f10f2f6f0, *f10f2f6f0elem) + } + f10f2f6.ContainerOverrides = f10f2f6f0 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.CPU != nil { + f10f2f6.Cpu = r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.CPU + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.EphemeralStorage != nil { + f10f2f6f2 := &svcsdktypes.EcsEphemeralStorage{} + if r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.EphemeralStorage.SizeInGiB != nil { + sizeInGiBCopy0 := *r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.EphemeralStorage.SizeInGiB + if sizeInGiBCopy0 > math.MaxInt32 || sizeInGiBCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field sizeInGiB is of type int32") + } + sizeInGiBCopy := int32(sizeInGiBCopy0) + f10f2f6f2.SizeInGiB = &sizeInGiBCopy + } + f10f2f6.EphemeralStorage = f10f2f6f2 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.ExecutionRoleARN != nil { + f10f2f6.ExecutionRoleArn = r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.ExecutionRoleARN + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.InferenceAcceleratorOverrides != nil { + f10f2f6f4 := []svcsdktypes.EcsInferenceAcceleratorOverride{} + for _, f10f2f6f4iter := range r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.InferenceAcceleratorOverrides { + f10f2f6f4elem := &svcsdktypes.EcsInferenceAcceleratorOverride{} + if f10f2f6f4iter.DeviceName != nil { + f10f2f6f4elem.DeviceName = f10f2f6f4iter.DeviceName + } + if f10f2f6f4iter.DeviceType != nil { + f10f2f6f4elem.DeviceType = f10f2f6f4iter.DeviceType + } + f10f2f6f4 = append(f10f2f6f4, *f10f2f6f4elem) + } + f10f2f6.InferenceAcceleratorOverrides = f10f2f6f4 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.Memory != nil { + f10f2f6.Memory = r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.Memory + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.TaskRoleARN != nil { + f10f2f6.TaskRoleArn = r.ko.Spec.TargetParameters.ECSTaskParameters.Overrides.TaskRoleARN + } + f10f2.Overrides = f10f2f6 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.PlacementConstraints != nil { + f10f2f7 := []svcsdktypes.PlacementConstraint{} + for _, f10f2f7iter := range r.ko.Spec.TargetParameters.ECSTaskParameters.PlacementConstraints { + f10f2f7elem := &svcsdktypes.PlacementConstraint{} + if f10f2f7iter.Expression != nil { + f10f2f7elem.Expression = f10f2f7iter.Expression + } + if f10f2f7iter.Type != nil { + f10f2f7elem.Type = svcsdktypes.PlacementConstraintType(*f10f2f7iter.Type) + } + f10f2f7 = append(f10f2f7, *f10f2f7elem) + } + f10f2.PlacementConstraints = f10f2f7 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.PlacementStrategy != nil { + f10f2f8 := []svcsdktypes.PlacementStrategy{} + for _, f10f2f8iter := range r.ko.Spec.TargetParameters.ECSTaskParameters.PlacementStrategy { + f10f2f8elem := &svcsdktypes.PlacementStrategy{} + if f10f2f8iter.Field != nil { + f10f2f8elem.Field = f10f2f8iter.Field + } + if f10f2f8iter.Type != nil { + f10f2f8elem.Type = svcsdktypes.PlacementStrategyType(*f10f2f8iter.Type) + } + f10f2f8 = append(f10f2f8, *f10f2f8elem) + } + f10f2.PlacementStrategy = f10f2f8 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.PlatformVersion != nil { + f10f2.PlatformVersion = r.ko.Spec.TargetParameters.ECSTaskParameters.PlatformVersion + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.PropagateTags != nil { + f10f2.PropagateTags = svcsdktypes.PropagateTags(*r.ko.Spec.TargetParameters.ECSTaskParameters.PropagateTags) + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.ReferenceID != nil { + f10f2.ReferenceId = r.ko.Spec.TargetParameters.ECSTaskParameters.ReferenceID + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.Tags != nil { + f10f2f12 := []svcsdktypes.Tag{} + for _, f10f2f12iter := range r.ko.Spec.TargetParameters.ECSTaskParameters.Tags { + f10f2f12elem := &svcsdktypes.Tag{} + if f10f2f12iter.Key != nil { + f10f2f12elem.Key = f10f2f12iter.Key + } + if f10f2f12iter.Value != nil { + f10f2f12elem.Value = f10f2f12iter.Value + } + f10f2f12 = append(f10f2f12, *f10f2f12elem) + } + f10f2.Tags = f10f2f12 + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.TaskCount != nil { + taskCountCopy0 := *r.ko.Spec.TargetParameters.ECSTaskParameters.TaskCount + if taskCountCopy0 > math.MaxInt32 || taskCountCopy0 < math.MinInt32 { + return nil, fmt.Errorf("error: field TaskCount is of type int32") + } + taskCountCopy := int32(taskCountCopy0) + f10f2.TaskCount = &taskCountCopy + } + if r.ko.Spec.TargetParameters.ECSTaskParameters.TaskDefinitionARN != nil { + f10f2.TaskDefinitionArn = r.ko.Spec.TargetParameters.ECSTaskParameters.TaskDefinitionARN + } + f10.EcsTaskParameters = f10f2 + } + if r.ko.Spec.TargetParameters.EventBridgeEventBusParameters != nil { + f10f3 := &svcsdktypes.PipeTargetEventBridgeEventBusParameters{} + if r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.DetailType != nil { + f10f3.DetailType = r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.DetailType + } + if r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.EndpointID != nil { + f10f3.EndpointId = r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.EndpointID + } + if r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.Resources != nil { + f10f3.Resources = aws.ToStringSlice(r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.Resources) + } + if r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.Source != nil { + f10f3.Source = r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.Source + } + if r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.Time != nil { + f10f3.Time = r.ko.Spec.TargetParameters.EventBridgeEventBusParameters.Time + } + f10.EventBridgeEventBusParameters = f10f3 + } + if r.ko.Spec.TargetParameters.HTTPParameters != nil { + f10f4 := &svcsdktypes.PipeTargetHttpParameters{} + if r.ko.Spec.TargetParameters.HTTPParameters.HeaderParameters != nil { + f10f4.HeaderParameters = aws.ToStringMap(r.ko.Spec.TargetParameters.HTTPParameters.HeaderParameters) + } + if r.ko.Spec.TargetParameters.HTTPParameters.PathParameterValues != nil { + f10f4.PathParameterValues = aws.ToStringSlice(r.ko.Spec.TargetParameters.HTTPParameters.PathParameterValues) + } + if r.ko.Spec.TargetParameters.HTTPParameters.QueryStringParameters != nil { + f10f4.QueryStringParameters = aws.ToStringMap(r.ko.Spec.TargetParameters.HTTPParameters.QueryStringParameters) + } + f10.HttpParameters = f10f4 + } + if r.ko.Spec.TargetParameters.InputTemplate != nil { + f10.InputTemplate = r.ko.Spec.TargetParameters.InputTemplate + } + if r.ko.Spec.TargetParameters.KinesisStreamParameters != nil { + f10f6 := &svcsdktypes.PipeTargetKinesisStreamParameters{} + if r.ko.Spec.TargetParameters.KinesisStreamParameters.PartitionKey != nil { + f10f6.PartitionKey = r.ko.Spec.TargetParameters.KinesisStreamParameters.PartitionKey + } + f10.KinesisStreamParameters = f10f6 + } + if r.ko.Spec.TargetParameters.LambdaFunctionParameters != nil { + f10f7 := &svcsdktypes.PipeTargetLambdaFunctionParameters{} + if r.ko.Spec.TargetParameters.LambdaFunctionParameters.InvocationType != nil { + f10f7.InvocationType = svcsdktypes.PipeTargetInvocationType(*r.ko.Spec.TargetParameters.LambdaFunctionParameters.InvocationType) + } + f10.LambdaFunctionParameters = f10f7 + } + if r.ko.Spec.TargetParameters.RedshiftDataParameters != nil { + f10f8 := &svcsdktypes.PipeTargetRedshiftDataParameters{} + if r.ko.Spec.TargetParameters.RedshiftDataParameters.Database != nil { + f10f8.Database = r.ko.Spec.TargetParameters.RedshiftDataParameters.Database + } + if r.ko.Spec.TargetParameters.RedshiftDataParameters.DBUser != nil { + f10f8.DbUser = r.ko.Spec.TargetParameters.RedshiftDataParameters.DBUser + } + if r.ko.Spec.TargetParameters.RedshiftDataParameters.SecretManagerARN != nil { + f10f8.SecretManagerArn = r.ko.Spec.TargetParameters.RedshiftDataParameters.SecretManagerARN + } + if r.ko.Spec.TargetParameters.RedshiftDataParameters.SQLs != nil { + f10f8.Sqls = aws.ToStringSlice(r.ko.Spec.TargetParameters.RedshiftDataParameters.SQLs) + } + if r.ko.Spec.TargetParameters.RedshiftDataParameters.StatementName != nil { + f10f8.StatementName = r.ko.Spec.TargetParameters.RedshiftDataParameters.StatementName + } + if r.ko.Spec.TargetParameters.RedshiftDataParameters.WithEvent != nil { + f10f8.WithEvent = *r.ko.Spec.TargetParameters.RedshiftDataParameters.WithEvent + } + f10.RedshiftDataParameters = f10f8 + } + if r.ko.Spec.TargetParameters.SageMakerPipelineParameters != nil { + f10f9 := &svcsdktypes.PipeTargetSageMakerPipelineParameters{} + if r.ko.Spec.TargetParameters.SageMakerPipelineParameters.PipelineParameterList != nil { + f10f9f0 := []svcsdktypes.SageMakerPipelineParameter{} + for _, f10f9f0iter := range r.ko.Spec.TargetParameters.SageMakerPipelineParameters.PipelineParameterList { + f10f9f0elem := &svcsdktypes.SageMakerPipelineParameter{} + if f10f9f0iter.Name != nil { + f10f9f0elem.Name = f10f9f0iter.Name + } + if f10f9f0iter.Value != nil { + f10f9f0elem.Value = f10f9f0iter.Value + } + f10f9f0 = append(f10f9f0, *f10f9f0elem) + } + f10f9.PipelineParameterList = f10f9f0 + } + f10.SageMakerPipelineParameters = f10f9 + } + if r.ko.Spec.TargetParameters.SQSQueueParameters != nil { + f10f10 := &svcsdktypes.PipeTargetSqsQueueParameters{} + if r.ko.Spec.TargetParameters.SQSQueueParameters.MessageDeduplicationID != nil { + f10f10.MessageDeduplicationId = r.ko.Spec.TargetParameters.SQSQueueParameters.MessageDeduplicationID + } + if r.ko.Spec.TargetParameters.SQSQueueParameters.MessageGroupID != nil { + f10f10.MessageGroupId = r.ko.Spec.TargetParameters.SQSQueueParameters.MessageGroupID + } + f10.SqsQueueParameters = f10f10 + } + if r.ko.Spec.TargetParameters.StepFunctionStateMachineParameters != nil { + f10f11 := &svcsdktypes.PipeTargetStateMachineParameters{} + if r.ko.Spec.TargetParameters.StepFunctionStateMachineParameters.InvocationType != nil { + f10f11.InvocationType = svcsdktypes.PipeTargetInvocationType(*r.ko.Spec.TargetParameters.StepFunctionStateMachineParameters.InvocationType) + } + f10.StepFunctionStateMachineParameters = f10f11 + } + res.TargetParameters = f10 + } +` + + actual := code.SetSDK(crd.Config(), crd, model.OpTypeCreate, "r.ko", "res", 1) + + assert.Equal( + expected, + actual, + ) +} diff --git a/pkg/testdata/codegen/sdk-codegen/aws-models/pipes.json b/pkg/testdata/codegen/sdk-codegen/aws-models/pipes.json new file mode 100644 index 00000000..1e8e2913 --- /dev/null +++ b/pkg/testdata/codegen/sdk-codegen/aws-models/pipes.json @@ -0,0 +1,5829 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.pipes#Arn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2,4}((-gov)|(-de)|(-iso([a-z]?)))?-[a-z]+(-\\d{1})?)?:(\\d{12})?:(.+)$" + } + }, + "com.amazonaws.pipes#ArnOrJsonPath": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2,4}((-gov)|(-de)|(-iso([a-z]?)))?-[a-z]+(-\\d{1})?)?:(\\d{12})?:(.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$" + } + }, + "com.amazonaws.pipes#ArnOrUrl": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^smk://(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2,4}((-gov)|(-de)|(-iso([a-z]?)))?-[a-z]+(-\\d{1})?)?:(\\d{12})?:(.+)$" + } + }, + "com.amazonaws.pipes#AssignPublicIp": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLED", + "name": "ENABLED" + }, + { + "value": "DISABLED", + "name": "DISABLED" + } + ] + } + }, + "com.amazonaws.pipes#AwsVpcConfiguration": { + "type": "structure", + "members": { + "Subnets": { + "target": "com.amazonaws.pipes#Subnets", + "traits": { + "smithy.api#documentation": "

Specifies the subnets associated with the task. These subnets must all be in the same\n VPC. You can specify as many as 16 subnets.

", + "smithy.api#required": {} + } + }, + "SecurityGroups": { + "target": "com.amazonaws.pipes#SecurityGroups", + "traits": { + "smithy.api#documentation": "

Specifies the security groups associated with the task. These security groups must all\n be in the same VPC. You can specify as many as five security groups. If you do not specify\n a security group, the default security group for the VPC is used.

" + } + }, + "AssignPublicIp": { + "target": "com.amazonaws.pipes#AssignPublicIp", + "traits": { + "smithy.api#documentation": "

Specifies whether the task's elastic network interface receives a public IP address. You\n can specify ENABLED only when LaunchType in\n EcsParameters is set to FARGATE.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure specifies the VPC subnets and security groups for the task, and whether a\n public IP address is to be used. This structure is relevant only for ECS tasks that use the\n awsvpc network mode.

" + } + }, + "com.amazonaws.pipes#BatchArrayProperties": { + "type": "structure", + "members": { + "Size": { + "target": "com.amazonaws.pipes#BatchArraySize", + "traits": { + "smithy.api#documentation": "

The size of the array, if this is an array batch job.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. \n If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an Batch job.

" + } + }, + "com.amazonaws.pipes#BatchArraySize": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 2, + "max": 10000 + } + } + }, + "com.amazonaws.pipes#BatchContainerOverrides": { + "type": "structure", + "members": { + "Command": { + "target": "com.amazonaws.pipes#StringList", + "traits": { + "smithy.api#documentation": "

The command to send to the container that overrides the default command from the Docker\n image or the task definition.

" + } + }, + "Environment": { + "target": "com.amazonaws.pipes#BatchEnvironmentVariableList", + "traits": { + "smithy.api#documentation": "

The environment variables to send to the container. You can add new environment\n variables, which are added to the container at launch, or you can override the existing\n environment variables from the Docker image or the task definition.

\n \n

Environment variables cannot start with \"Batch\". This\n naming convention is reserved for variables that Batch sets.

\n
" + } + }, + "InstanceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The instance type to use for a multi-node parallel job.

\n \n

This parameter isn't applicable to single-node container jobs or jobs that run on\n Fargate resources, and shouldn't be provided.

\n
" + } + }, + "ResourceRequirements": { + "target": "com.amazonaws.pipes#BatchResourceRequirementsList", + "traits": { + "smithy.api#documentation": "

The type and amount of resources to assign to a container. This overrides the settings\n in the job definition. The supported resources include GPU,\n MEMORY, and VCPU.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The overrides that are sent to a container.

" + } + }, + "com.amazonaws.pipes#BatchDependsOn": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#BatchJobDependency" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + }, + "com.amazonaws.pipes#BatchEnvironmentVariable": { + "type": "structure", + "members": { + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the key-value pair. For environment variables, this is the name of the\n environment variable.

" + } + }, + "Value": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The value of the key-value pair. For environment variables, this is the value of the\n environment variable.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The environment variables to send to the container. You can add new environment\n variables, which are added to the container at launch, or you can override the existing\n environment variables from the Docker image or the task definition.

\n \n

Environment variables cannot start with \"Batch\". This\n naming convention is reserved for variables that Batch sets.

\n
" + } + }, + "com.amazonaws.pipes#BatchEnvironmentVariableList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#BatchEnvironmentVariable" + } + }, + "com.amazonaws.pipes#BatchJobDependency": { + "type": "structure", + "members": { + "JobId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The job ID of the Batch job that's associated with this\n dependency.

" + } + }, + "Type": { + "target": "com.amazonaws.pipes#BatchJobDependencyType", + "traits": { + "smithy.api#documentation": "

The type of the job dependency.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An object that represents an Batch job dependency.

" + } + }, + "com.amazonaws.pipes#BatchJobDependencyType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "N_TO_N", + "name": "N_TO_N" + }, + { + "value": "SEQUENTIAL", + "name": "SEQUENTIAL" + } + ] + } + }, + "com.amazonaws.pipes#BatchParametersMap": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.pipes#BatchResourceRequirement": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.pipes#BatchResourceRequirementType", + "traits": { + "smithy.api#documentation": "

The type of resource to assign to a container. The supported resources include\n GPU, MEMORY, and VCPU.

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The quantity of the specified resource to reserve for the container. The values vary\n based on the type specified.

\n
\n
type=\"GPU\"
\n
\n

The number of physical GPUs to reserve for the container. Make sure that the\n number of GPUs reserved for all containers in a job doesn't exceed the number of\n available GPUs on the compute resource that the job is launched on.

\n \n

GPUs aren't available for jobs that are running on Fargate\n resources.

\n
\n
\n
type=\"MEMORY\"
\n
\n

The memory hard limit (in MiB) present to the container. This parameter is\n supported for jobs that are running on EC2 resources. If your container attempts\n to exceed the memory specified, the container is terminated. This parameter maps\n to Memory in the Create a\n container section of the Docker Remote API and\n the --memory option to docker run. You\n must specify at least 4 MiB of memory for a job. This is required but can be\n specified in several places for multi-node parallel (MNP) jobs. It must be\n specified for each node at least once. This parameter maps to Memory\n in the \n Create a container section of the Docker Remote API and\n the --memory option to docker run.

\n \n

If you're trying to maximize your resource utilization by providing your\n jobs as much memory as possible for a particular instance type, see Memory management in the Batch User\n Guide.

\n
\n

For jobs that are running on Fargate resources, then\n value is the hard limit (in MiB), and must match one of the\n supported values and the VCPU values must be one of the values\n supported for that memory value.

\n
\n
value = 512
\n
\n

\n VCPU = 0.25

\n
\n
value = 1024
\n
\n

\n VCPU = 0.25 or 0.5

\n
\n
value = 2048
\n
\n

\n VCPU = 0.25, 0.5, or 1

\n
\n
value = 3072
\n
\n

\n VCPU = 0.5, or 1

\n
\n
value = 4096
\n
\n

\n VCPU = 0.5, 1, or 2

\n
\n
value = 5120, 6144, or 7168
\n
\n

\n VCPU = 1 or 2

\n
\n
value = 8192
\n
\n

\n VCPU = 1, 2, 4, or 8

\n
\n
value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360
\n
\n

\n VCPU = 2 or 4

\n
\n
value = 16384
\n
\n

\n VCPU = 2, 4, or 8

\n
\n
value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648,\n 29696, or 30720
\n
\n

\n VCPU = 4

\n
\n
value = 20480, 24576, or 28672
\n
\n

\n VCPU = 4 or 8

\n
\n
value = 36864, 45056, 53248, or 61440
\n
\n

\n VCPU = 8

\n
\n
value = 32768, 40960, 49152, or 57344
\n
\n

\n VCPU = 8 or 16

\n
\n
value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or\n 122880
\n
\n

\n VCPU = 16

\n
\n
\n
\n
type=\"VCPU\"
\n
\n

The number of vCPUs reserved for the container. This parameter maps to\n CpuShares in the Create a\n container section of the Docker Remote API and\n the --cpu-shares option to docker run. Each\n vCPU is equivalent to 1,024 CPU shares. For EC2 resources, you must specify at\n least one vCPU. This is required but can be specified in several places; it must\n be specified for each node at least once.

\n

The default for the Fargate On-Demand vCPU resource count quota\n is 6 vCPUs. For more information about Fargate quotas, see Fargate quotas in the Amazon Web Services\n General Reference.

\n

For jobs that are running on Fargate resources, then\n value must match one of the supported values and the\n MEMORY values must be one of the values supported for that\n VCPU value. The supported values are 0.25, 0.5, 1, 2, 4, 8, and\n 16

\n
\n
value = 0.25
\n
\n

\n MEMORY = 512, 1024, or 2048

\n
\n
value = 0.5
\n
\n

\n MEMORY = 1024, 2048, 3072, or 4096

\n
\n
value = 1
\n
\n

\n MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or\n 8192

\n
\n
value = 2
\n
\n

\n MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240,\n 11264, 12288, 13312, 14336, 15360, or 16384

\n
\n
value = 4
\n
\n

\n MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336,\n 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576,\n 25600, 26624, 27648, 28672, 29696, or 30720

\n
\n
value = 8
\n
\n

\n MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960,\n 45056, 49152, 53248, 57344, or 61440

\n
\n
value = 16
\n
\n

\n MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920,\n 90112, 98304, 106496, 114688, or 122880

\n
\n
\n
\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The type and amount of a resource to assign to a container. The supported resources\n include GPU, MEMORY, and VCPU.

" + } + }, + "com.amazonaws.pipes#BatchResourceRequirementType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "GPU", + "name": "GPU" + }, + { + "value": "MEMORY", + "name": "MEMORY" + }, + { + "value": "VCPU", + "name": "VCPU" + } + ] + } + }, + "com.amazonaws.pipes#BatchResourceRequirementsList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#BatchResourceRequirement" + } + }, + "com.amazonaws.pipes#BatchRetryAttempts": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.pipes#BatchRetryStrategy": { + "type": "structure", + "members": { + "Attempts": { + "target": "com.amazonaws.pipes#BatchRetryAttempts", + "traits": { + "smithy.api#documentation": "

The number of times to move a job to the RUNNABLE status. If the value of\n attempts is greater than one, the job is retried on failure the same number\n of attempts as the value.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The retry strategy that's associated with a job. For more information, see Automated job\n retries in the Batch User Guide.

" + } + }, + "com.amazonaws.pipes#Boolean": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.pipes#CapacityProvider": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#CapacityProviderStrategy": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#CapacityProviderStrategyItem" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 6 + } + } + }, + "com.amazonaws.pipes#CapacityProviderStrategyItem": { + "type": "structure", + "members": { + "capacityProvider": { + "target": "com.amazonaws.pipes#CapacityProvider", + "traits": { + "smithy.api#documentation": "

The short name of the capacity provider.

", + "smithy.api#required": {} + } + }, + "weight": { + "target": "com.amazonaws.pipes#CapacityProviderStrategyItemWeight", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The weight value designates the relative percentage of the total number of tasks\n launched that should use the specified capacity provider. The weight value is taken into\n consideration after the base value, if defined, is satisfied.

" + } + }, + "base": { + "target": "com.amazonaws.pipes#CapacityProviderStrategyItemBase", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The base value designates how many tasks, at a minimum, to run on the specified capacity\n provider. Only one capacity provider in a capacity provider strategy can have a base\n defined. If no value is specified, the default value of 0 is used.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The details of a capacity provider strategy. To learn more, see CapacityProviderStrategyItem in the Amazon ECS API Reference.

" + } + }, + "com.amazonaws.pipes#CapacityProviderStrategyItemBase": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 100000 + } + } + }, + "com.amazonaws.pipes#CapacityProviderStrategyItemWeight": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 1000 + } + } + }, + "com.amazonaws.pipes#CloudwatchLogGroupArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^(^arn:aws([a-z]|\\-)*:logs:([a-z]{2,4}((-gov)|(-de)|(-iso([a-z]?)))?-[a-z]+(-\\d{1})?):(\\d{12}):log-group:[\\.\\-_/#A-Za-z0-9]{1,512}(:\\*)?)$" + } + }, + "com.amazonaws.pipes#CloudwatchLogsLogDestination": { + "type": "structure", + "members": { + "LogGroupArn": { + "target": "com.amazonaws.pipes#CloudwatchLogGroupArn", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Resource Name (ARN) for the CloudWatch log group to which EventBridge sends the log records.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon CloudWatch Logs logging configuration settings for the pipe.

" + } + }, + "com.amazonaws.pipes#CloudwatchLogsLogDestinationParameters": { + "type": "structure", + "members": { + "LogGroupArn": { + "target": "com.amazonaws.pipes#CloudwatchLogGroupArn", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Resource Name (ARN) for the CloudWatch log group to which EventBridge sends the log records.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon CloudWatch Logs logging configuration settings for the pipe.

" + } + }, + "com.amazonaws.pipes#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the resource that caused the exception.

", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The type of resource that caused the exception.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

An action you attempted resulted in an exception.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.pipes#CreatePipe": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#CreatePipeRequest" + }, + "output": { + "target": "com.amazonaws.pipes#CreatePipeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#ConflictException" + }, + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#NotFoundException" + }, + { + "target": "com.amazonaws.pipes#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.pipes#ThrottlingException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to create a pipe", + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "smithy.api#documentation": "

Create a pipe. Amazon EventBridge Pipes connect event sources to targets and reduces\n the need for specialized knowledge and integration code.

", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/pipes/{Name}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.pipes#CreatePipeRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.pipes#PipeDescription", + "traits": { + "smithy.api#documentation": "

A description of the pipe.

" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe should be in.

" + } + }, + "Source": { + "target": "com.amazonaws.pipes#ArnOrUrl", + "traits": { + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

The ARN of the source resource.

", + "smithy.api#required": {} + } + }, + "SourceParameters": { + "target": "com.amazonaws.pipes#PipeSourceParameters", + "traits": { + "smithy.api#documentation": "

The parameters required to set up a source for your pipe.

" + } + }, + "Enrichment": { + "target": "com.amazonaws.pipes#OptionalArn", + "traits": { + "smithy.api#documentation": "

The ARN of the enrichment resource.

" + } + }, + "EnrichmentParameters": { + "target": "com.amazonaws.pipes#PipeEnrichmentParameters", + "traits": { + "smithy.api#documentation": "

The parameters required to set up enrichment on your pipe.

" + } + }, + "Target": { + "target": "com.amazonaws.pipes#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the target resource.

", + "smithy.api#required": {} + } + }, + "TargetParameters": { + "target": "com.amazonaws.pipes#PipeTargetParameters", + "traits": { + "smithy.api#documentation": "

The parameters required to set up a target for your pipe.

\n

For more information about pipe target parameters, including how to use dynamic path parameters, see Target parameters in the Amazon EventBridge User Guide.

" + } + }, + "RoleArn": { + "target": "com.amazonaws.pipes#RoleArn", + "traits": { + "smithy.api#documentation": "

The ARN of the role that allows the pipe to send data to the target.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.pipes#TagMap", + "traits": { + "smithy.api#documentation": "

The list of key-value pairs to associate with the pipe.

" + } + }, + "LogConfiguration": { + "target": "com.amazonaws.pipes#PipeLogConfigurationParameters", + "traits": { + "aws.cloudformation#cfnMutability": "write", + "smithy.api#documentation": "

The logging configuration settings for the pipe.

" + } + }, + "KmsKeyIdentifier": { + "target": "com.amazonaws.pipes#KmsKeyIdentifier", + "traits": { + "smithy.api#documentation": "

The identifier of the KMS\n customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt pipe data. The identifier can be the key \n Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.

\n

If you do not specify a customer managed key identifier, EventBridge uses an\n Amazon Web Services owned key to encrypt pipe data.

\n

For more information, see Managing keys in the Key Management Service\n Developer Guide.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.pipes#CreatePipeResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the pipe.

" + } + }, + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe should be in.

" + } + }, + "CurrentState": { + "target": "com.amazonaws.pipes#PipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe is in.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the pipe was created.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

When the pipe was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.pipes#Database": { + "type": "string", + "traits": { + "smithy.api#documentation": "// Redshift Database", + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#DbUser": { + "type": "string", + "traits": { + "smithy.api#documentation": "// Database user name", + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#DeadLetterConfig": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.pipes#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the specified target for the dead-letter queue.

\n

For Amazon Kinesis stream and Amazon DynamoDB stream sources, specify\n either an Amazon SNS topic or Amazon SQS queue ARN.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A DeadLetterConfig object that contains information about a dead-letter\n queue configuration.

" + } + }, + "com.amazonaws.pipes#DeletePipe": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#DeletePipeRequest" + }, + "output": { + "target": "com.amazonaws.pipes#DeletePipeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#ConflictException" + }, + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#NotFoundException" + }, + { + "target": "com.amazonaws.pipes#ThrottlingException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete a pipe", + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "smithy.api#documentation": "

Delete an existing pipe. For more information about pipes, see Amazon EventBridge Pipes in the Amazon EventBridge User Guide.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/v1/pipes/{Name}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.pipes#DeletePipeRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.pipes#DeletePipeResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the pipe.

" + } + }, + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeStateDescribeResponse", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The state the pipe should be in.

" + } + }, + "CurrentState": { + "target": "com.amazonaws.pipes#PipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe is in.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the pipe was created.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

When the pipe was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.pipes#DescribePipe": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#DescribePipeRequest" + }, + "output": { + "target": "com.amazonaws.pipes#DescribePipeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#NotFoundException" + }, + { + "target": "com.amazonaws.pipes#ThrottlingException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to describe a pipe", + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "smithy.api#documentation": "

Get the information about an existing pipe. For more information about pipes, see Amazon EventBridge Pipes in the Amazon EventBridge User Guide.

", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/pipes/{Name}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.pipes#DescribePipeRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.pipes#DescribePipeResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the pipe.

" + } + }, + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

" + } + }, + "Description": { + "target": "com.amazonaws.pipes#PipeDescription", + "traits": { + "smithy.api#documentation": "

A description of the pipe.

" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeStateDescribeResponse", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The state the pipe should be in.

" + } + }, + "CurrentState": { + "target": "com.amazonaws.pipes#PipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe is in.

" + } + }, + "StateReason": { + "target": "com.amazonaws.pipes#PipeStateReason", + "traits": { + "smithy.api#documentation": "

The reason the pipe is in its current state.

" + } + }, + "Source": { + "target": "com.amazonaws.pipes#ArnOrUrl", + "traits": { + "smithy.api#documentation": "

The ARN of the source resource.

" + } + }, + "SourceParameters": { + "target": "com.amazonaws.pipes#PipeSourceParameters", + "traits": { + "smithy.api#documentation": "

The parameters required to set up a source for your pipe.

" + } + }, + "Enrichment": { + "target": "com.amazonaws.pipes#OptionalArn", + "traits": { + "smithy.api#documentation": "

The ARN of the enrichment resource.

" + } + }, + "EnrichmentParameters": { + "target": "com.amazonaws.pipes#PipeEnrichmentParameters", + "traits": { + "smithy.api#documentation": "

The parameters required to set up enrichment on your pipe.

" + } + }, + "Target": { + "target": "com.amazonaws.pipes#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the target resource.

" + } + }, + "TargetParameters": { + "target": "com.amazonaws.pipes#PipeTargetParameters", + "traits": { + "smithy.api#documentation": "

The parameters required to set up a target for your pipe.

\n

For more information about pipe target parameters, including how to use dynamic path parameters, see Target parameters in the Amazon EventBridge User Guide.

" + } + }, + "RoleArn": { + "target": "com.amazonaws.pipes#RoleArn", + "traits": { + "smithy.api#documentation": "

The ARN of the role that allows the pipe to send data to the target.

" + } + }, + "Tags": { + "target": "com.amazonaws.pipes#TagMap", + "traits": { + "smithy.api#documentation": "

The list of key-value pairs to associate with the pipe.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the pipe was created.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

When the pipe was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" + } + }, + "LogConfiguration": { + "target": "com.amazonaws.pipes#PipeLogConfiguration", + "traits": { + "aws.cloudformation#cfnMutability": "read", + "smithy.api#documentation": "

The logging configuration settings for the pipe.

" + } + }, + "KmsKeyIdentifier": { + "target": "com.amazonaws.pipes#KmsKeyIdentifier", + "traits": { + "smithy.api#documentation": "

The identifier of the KMS\n customer managed key for EventBridge to use to encrypt pipe data, if one has been specified.

\n

For more information, see Data encryption in EventBridge in the Amazon EventBridge User Guide.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.pipes#DimensionMapping": { + "type": "structure", + "members": { + "DimensionValue": { + "target": "com.amazonaws.pipes#DimensionValue", + "traits": { + "smithy.api#documentation": "

Dynamic path to the dimension value in the source event.

", + "smithy.api#required": {} + } + }, + "DimensionValueType": { + "target": "com.amazonaws.pipes#DimensionValueType", + "traits": { + "smithy.api#documentation": "

The data type of the dimension for the time-series data.

", + "smithy.api#required": {} + } + }, + "DimensionName": { + "target": "com.amazonaws.pipes#DimensionName", + "traits": { + "smithy.api#documentation": "

The metadata attributes of the time series. For example, the name and Availability Zone\n of an Amazon EC2 instance or the name of the manufacturer of a wind turbine are\n dimensions.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Maps source data to a dimension in the target Timestream for LiveAnalytics\n table.

\n

For more information, see Amazon Timestream for LiveAnalytics concepts\n

" + } + }, + "com.amazonaws.pipes#DimensionMappings": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#DimensionMapping" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.pipes#DimensionName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.pipes#DimensionValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, + "com.amazonaws.pipes#DimensionValueType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "VARCHAR", + "name": "VARCHAR" + } + ] + } + }, + "com.amazonaws.pipes#DynamoDBStreamStartPosition": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TRIM_HORIZON", + "name": "TRIM_HORIZON" + }, + { + "value": "LATEST", + "name": "LATEST" + } + ] + } + }, + "com.amazonaws.pipes#EcsContainerOverride": { + "type": "structure", + "members": { + "Command": { + "target": "com.amazonaws.pipes#StringList", + "traits": { + "smithy.api#documentation": "

The command to send to the container that overrides the default command from the Docker\n image or the task definition. You must also specify a container name.

" + } + }, + "Cpu": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of cpu units reserved for the container, instead of the default\n value from the task definition. You must also specify a container name.

" + } + }, + "Environment": { + "target": "com.amazonaws.pipes#EcsEnvironmentVariableList", + "traits": { + "smithy.api#documentation": "

The environment variables to send to the container. You can add new environment\n variables, which are added to the container at launch, or you can override the existing\n environment variables from the Docker image or the task definition. You must also specify a\n container name.

" + } + }, + "EnvironmentFiles": { + "target": "com.amazonaws.pipes#EcsEnvironmentFileList", + "traits": { + "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container, instead of\n the value from the container definition.

" + } + }, + "Memory": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The hard limit (in MiB) of memory to present to the container, instead of the default\n value from the task definition. If your container attempts to exceed the memory specified\n here, the container is killed. You must also specify a container name.

" + } + }, + "MemoryReservation": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The soft limit (in MiB) of memory to reserve for the container, instead of the default\n value from the task definition. You must also specify a container name.

" + } + }, + "Name": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The name of the container that receives the override. This parameter is required if any\n override is specified.

" + } + }, + "ResourceRequirements": { + "target": "com.amazonaws.pipes#EcsResourceRequirementsList", + "traits": { + "smithy.api#documentation": "

The type and amount of a resource to assign to a container, instead of the default value\n from the task definition. The only supported resource is a GPU.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The overrides that are sent to a container. An empty container override can be passed\n in. An example of an empty container override is {\"containerOverrides\": [ ] }.\n If a non-empty container override is specified, the name parameter must be\n included.

" + } + }, + "com.amazonaws.pipes#EcsContainerOverrideList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#EcsContainerOverride" + } + }, + "com.amazonaws.pipes#EcsEnvironmentFile": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.pipes#EcsEnvironmentFileType", + "traits": { + "smithy.api#documentation": "

The file type to use. The only supported value is s3.

", + "smithy.api#required": {} + } + }, + "value": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon S3 object containing the\n environment variable file.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. You can\n specify up to ten environment files. The file must have a .env file extension.\n Each line in an environment file should contain an environment variable in\n VARIABLE=VALUE format. Lines beginning with # are treated as\n comments and are ignored. For more information about the environment variable file syntax,\n see Declare default environment\n variables in file.

\n

If there are environment variables specified using the environment\n parameter in a container definition, they take precedence over the variables contained\n within an environment file. If multiple environment files are specified that contain the\n same variable, they're processed from the top down. We recommend that you use unique\n variable names. For more information, see Specifying environment\n variables in the Amazon Elastic Container Service Developer\n Guide.

\n

This parameter is only supported for tasks hosted on Fargate using the\n following platform versions:

\n " + } + }, + "com.amazonaws.pipes#EcsEnvironmentFileList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#EcsEnvironmentFile" + } + }, + "com.amazonaws.pipes#EcsEnvironmentFileType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "s3", + "name": "s3" + } + ] + } + }, + "com.amazonaws.pipes#EcsEnvironmentVariable": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The name of the key-value pair. For environment variables, this is the name of the\n environment variable.

" + } + }, + "value": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The value of the key-value pair. For environment variables, this is the value of the\n environment variable.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The environment variables to send to the container. You can add new environment\n variables, which are added to the container at launch, or you can override the existing\n environment variables from the Docker image or the task definition. You must also specify a\n container name.

" + } + }, + "com.amazonaws.pipes#EcsEnvironmentVariableList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#EcsEnvironmentVariable" + } + }, + "com.amazonaws.pipes#EcsEphemeralStorage": { + "type": "structure", + "members": { + "sizeInGiB": { + "target": "com.amazonaws.pipes#EphemeralStorageSize", + "traits": { + "smithy.api#documentation": "

The total amount, in GiB, of ephemeral storage to set for the task. The minimum\n supported value is 21 GiB and the maximum supported value is 200\n GiB.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n expand the total amount of ephemeral storage available, beyond the default amount, for\n tasks hosted on Fargate. For more information, see Fargate task storage in the Amazon ECS User Guide\n for Fargate.

\n \n

This parameter is only supported for tasks hosted on Fargate using\n Linux platform version 1.4.0 or later. This parameter is not supported for\n Windows containers on Fargate.

\n
" + } + }, + "com.amazonaws.pipes#EcsInferenceAcceleratorOverride": { + "type": "structure", + "members": { + "deviceName": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The Elastic Inference accelerator device name to override for the task. This parameter\n must match a deviceName specified in the task definition.

" + } + }, + "deviceType": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The Elastic Inference accelerator type to use.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details on an Elastic Inference accelerator task override. This parameter is used to\n override the Elastic Inference accelerator specified in the task definition. For more\n information, see Working with Amazon Elastic\n Inference on Amazon ECS in the Amazon Elastic Container Service\n Developer Guide.

" + } + }, + "com.amazonaws.pipes#EcsInferenceAcceleratorOverrideList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#EcsInferenceAcceleratorOverride" + } + }, + "com.amazonaws.pipes#EcsResourceRequirement": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.pipes#EcsResourceRequirementType", + "traits": { + "smithy.api#documentation": "

The type of resource to assign to a container. The supported values are GPU\n or InferenceAccelerator.

", + "smithy.api#required": {} + } + }, + "value": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The value for the specified resource type.

\n

If the GPU type is used, the value is the number of physical\n GPUs the Amazon ECS container agent reserves for the container. The\n number of GPUs that's reserved for all containers in a task can't exceed the number of\n available GPUs on the container instance that the task is launched on.

\n

If the InferenceAccelerator type is used, the value matches\n the deviceName for an InferenceAccelerator specified in a task\n definition.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The type and amount of a resource to assign to a container. The supported resource types\n are GPUs and Elastic Inference accelerators. For more information, see Working with\n GPUs on Amazon ECS or Working with Amazon Elastic\n Inference on Amazon ECS in the Amazon Elastic Container Service\n Developer Guide\n

" + } + }, + "com.amazonaws.pipes#EcsResourceRequirementType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "GPU", + "name": "GPU" + }, + { + "value": "InferenceAccelerator", + "name": "InferenceAccelerator" + } + ] + } + }, + "com.amazonaws.pipes#EcsResourceRequirementsList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#EcsResourceRequirement" + } + }, + "com.amazonaws.pipes#EcsTaskOverride": { + "type": "structure", + "members": { + "ContainerOverrides": { + "target": "com.amazonaws.pipes#EcsContainerOverrideList", + "traits": { + "smithy.api#documentation": "

One or more container overrides that are sent to a task.

" + } + }, + "Cpu": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The cpu override for the task.

" + } + }, + "EphemeralStorage": { + "target": "com.amazonaws.pipes#EcsEphemeralStorage", + "traits": { + "smithy.api#documentation": "

The ephemeral storage setting override for the task.

\n \n

This parameter is only supported for tasks hosted on Fargate that use\n the following platform versions:

\n \n
" + } + }, + "ExecutionRoleArn": { + "target": "com.amazonaws.pipes#ArnOrJsonPath", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the task execution IAM role override for the task. For\n more information, see Amazon ECS\n task execution IAM role in the Amazon Elastic Container Service Developer\n Guide.

" + } + }, + "InferenceAcceleratorOverrides": { + "target": "com.amazonaws.pipes#EcsInferenceAcceleratorOverrideList", + "traits": { + "smithy.api#documentation": "

The Elastic Inference accelerator override for the task.

" + } + }, + "Memory": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The memory override for the task.

" + } + }, + "TaskRoleArn": { + "target": "com.amazonaws.pipes#ArnOrJsonPath", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume.\n All containers in this task are granted the permissions that are specified in this role.\n For more information, see IAM Role for Tasks in\n the Amazon Elastic Container Service Developer Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The overrides that are associated with a task.

" + } + }, + "com.amazonaws.pipes#EndpointString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 300 + }, + "smithy.api#pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#EphemeralStorageSize": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 21, + "max": 200 + } + } + }, + "com.amazonaws.pipes#EpochTimeUnit": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "MILLISECONDS", + "name": "MILLISECONDS" + }, + { + "value": "SECONDS", + "name": "SECONDS" + }, + { + "value": "MICROSECONDS", + "name": "MICROSECONDS" + }, + { + "value": "NANOSECONDS", + "name": "NANOSECONDS" + } + ] + } + }, + "com.amazonaws.pipes#ErrorMessage": { + "type": "string" + }, + "com.amazonaws.pipes#EventBridgeDetailType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#EventBridgeEndpointId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + }, + "smithy.api#pattern": "^[A-Za-z0-9\\-]+[\\.][A-Za-z0-9\\-]+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#EventBridgeEventResourceList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#ArnOrJsonPath" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.pipes#EventBridgeEventSource": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "(?=[/\\.\\-_A-Za-z0-9]+)((?!aws\\.).*)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#EventPattern": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4096 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#Filter": { + "type": "structure", + "members": { + "Pattern": { + "target": "com.amazonaws.pipes#EventPattern", + "traits": { + "smithy.api#documentation": "

The event pattern.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Filter events using an event pattern. For more information, see Events and Event\n Patterns in the Amazon EventBridge User Guide.

" + } + }, + "com.amazonaws.pipes#FilterCriteria": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.pipes#FilterList", + "traits": { + "smithy.api#documentation": "

The event patterns.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The collection of event patterns used to filter events.

\n

To remove a filter, specify a FilterCriteria object with an empty array of Filter objects.

\n

For more information, see Events and Event\n Patterns in the Amazon EventBridge User Guide.

" + } + }, + "com.amazonaws.pipes#FilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#Filter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, + "com.amazonaws.pipes#FirehoseArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^(^arn:aws([a-z]|\\-)*:firehose:([a-z]{2,4}((-gov)|(-de)|(-iso([a-z]?)))?-[a-z]+(-\\d{1})?):(\\d{12}):deliverystream/[a-zA-Z0-9_.-]{1,64})$" + } + }, + "com.amazonaws.pipes#FirehoseLogDestination": { + "type": "structure", + "members": { + "DeliveryStreamArn": { + "target": "com.amazonaws.pipes#FirehoseArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Firehose delivery stream to which EventBridge delivers the pipe log records.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon Data Firehose logging configuration settings for the pipe.

" + } + }, + "com.amazonaws.pipes#FirehoseLogDestinationParameters": { + "type": "structure", + "members": { + "DeliveryStreamArn": { + "target": "com.amazonaws.pipes#FirehoseArn", + "traits": { + "smithy.api#documentation": "

Specifies the Amazon Resource Name (ARN) of the Firehose delivery stream to\n which EventBridge delivers the pipe log records.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon Data Firehose logging configuration settings for the pipe.

" + } + }, + "com.amazonaws.pipes#HeaderKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^[!#$%&'*+-.^_`|~0-9a-zA-Z]+|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$" + } + }, + "com.amazonaws.pipes#HeaderParametersMap": { + "type": "map", + "key": { + "target": "com.amazonaws.pipes#HeaderKey" + }, + "value": { + "target": "com.amazonaws.pipes#HeaderValue" + } + }, + "com.amazonaws.pipes#HeaderValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^[ \\t]*[\\x20-\\x7E]+([ \\t]+[\\x20-\\x7E]+)*[ \\t]*|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#IncludeExecutionData": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#IncludeExecutionDataOption" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.pipes#IncludeExecutionDataOption": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ALL", + "name": "ALL" + } + ] + } + }, + "com.amazonaws.pipes#InputTemplate": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 8192 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#InternalException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of seconds to wait before retrying the action that caused the\n exception.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

This exception occurs due to unexpected causes.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.pipes#JsonPath": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*$" + } + }, + "com.amazonaws.pipes#KafkaBootstrapServers": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#EndpointString" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2 + } + } + }, + "com.amazonaws.pipes#KafkaTopicName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 249 + }, + "smithy.api#pattern": "^[^.]([a-zA-Z0-9\\-_.]+)$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#KinesisPartitionKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#KinesisStreamStartPosition": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TRIM_HORIZON", + "name": "TRIM_HORIZON" + }, + { + "value": "LATEST", + "name": "LATEST" + }, + { + "value": "AT_TIMESTAMP", + "name": "AT_TIMESTAMP" + } + ] + } + }, + "com.amazonaws.pipes#KmsKeyIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_\\-/:]*$" + } + }, + "com.amazonaws.pipes#LaunchType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "EC2", + "name": "EC2" + }, + { + "value": "FARGATE", + "name": "FARGATE" + }, + { + "value": "EXTERNAL", + "name": "EXTERNAL" + } + ] + } + }, + "com.amazonaws.pipes#LimitMax10": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.pipes#LimitMax100": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.pipes#LimitMax10000": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 10000 + } + } + }, + "com.amazonaws.pipes#LimitMin1": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.pipes#ListPipes": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#ListPipesRequest" + }, + "output": { + "target": "com.amazonaws.pipes#ListPipesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#ThrottlingException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to list all pipes in your account", + "smithy.api#documentation": "

Get the pipes associated with this account. For more information about pipes, see Amazon EventBridge Pipes in the Amazon EventBridge User Guide.

", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/pipes", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "pageSize": "Limit", + "outputToken": "NextToken", + "items": "Pipes" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.pipes#ListPipesRequest": { + "type": "structure", + "members": { + "NamePrefix": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

A value that will return a subset of the pipes associated with this account. For\n example, \"NamePrefix\": \"ABC\" will return all endpoints with \"ABC\" in the\n name.

", + "smithy.api#httpQuery": "NamePrefix" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe should be in.

", + "smithy.api#httpQuery": "DesiredState" + } + }, + "CurrentState": { + "target": "com.amazonaws.pipes#PipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe is in.

", + "smithy.api#httpQuery": "CurrentState" + } + }, + "SourcePrefix": { + "target": "com.amazonaws.pipes#ResourceArn", + "traits": { + "smithy.api#documentation": "

The prefix matching the pipe source.

", + "smithy.api#httpQuery": "SourcePrefix" + } + }, + "TargetPrefix": { + "target": "com.amazonaws.pipes#ResourceArn", + "traits": { + "smithy.api#documentation": "

The prefix matching the pipe target.

", + "smithy.api#httpQuery": "TargetPrefix" + } + }, + "NextToken": { + "target": "com.amazonaws.pipes#NextToken", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. \n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination \n token will return an HTTP 400 InvalidToken error.

", + "smithy.api#httpQuery": "NextToken" + } + }, + "Limit": { + "target": "com.amazonaws.pipes#LimitMax100", + "traits": { + "smithy.api#documentation": "

The maximum number of pipes to include in the response.

", + "smithy.api#httpQuery": "Limit" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.pipes#ListPipesResponse": { + "type": "structure", + "members": { + "Pipes": { + "target": "com.amazonaws.pipes#PipeList", + "traits": { + "smithy.api#documentation": "

The pipes returned by the call.

" + } + }, + "NextToken": { + "target": "com.amazonaws.pipes#NextToken", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. \n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination \n token will return an HTTP 400 InvalidToken error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.pipes#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.pipes#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#NotFoundException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to list the tags for a resource", + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "smithy.api#documentation": "

Displays the tags associated with a pipe.

", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.pipes#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the pipe for which you want to view tags.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#references": [ + { + "resource": "com.amazonaws.pipes#PipeResource", + "ids": { + "Name": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.pipes#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.pipes#TagMap", + "traits": { + "smithy.api#documentation": "

The list of key-value pairs to associate with the pipe.

" + } + } + } + }, + "com.amazonaws.pipes#LogLevel": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "OFF", + "name": "OFF" + }, + { + "value": "ERROR", + "name": "ERROR" + }, + { + "value": "INFO", + "name": "INFO" + }, + { + "value": "TRACE", + "name": "TRACE" + } + ] + } + }, + "com.amazonaws.pipes#LogStreamName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.pipes#MQBrokerAccessCredentials": { + "type": "union", + "members": { + "BasicAuth": { + "target": "com.amazonaws.pipes#SecretManagerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Secrets Manager secret.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Secrets Manager secret that stores your broker credentials.

" + } + }, + "com.amazonaws.pipes#MQBrokerQueueName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#pattern": "^[\\s\\S]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#MSKAccessCredentials": { + "type": "union", + "members": { + "SaslScram512Auth": { + "target": "com.amazonaws.pipes#SecretManagerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Secrets Manager secret.

" + } + }, + "ClientCertificateTlsAuth": { + "target": "com.amazonaws.pipes#SecretManagerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Secrets Manager secret.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Secrets Manager secret that stores your stream credentials.

" + } + }, + "com.amazonaws.pipes#MSKStartPosition": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TRIM_HORIZON", + "name": "TRIM_HORIZON" + }, + { + "value": "LATEST", + "name": "LATEST" + } + ] + } + }, + "com.amazonaws.pipes#MaximumBatchingWindowInSeconds": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 300 + } + } + }, + "com.amazonaws.pipes#MaximumRecordAgeInSeconds": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": -1, + "max": 604800 + } + } + }, + "com.amazonaws.pipes#MaximumRetryAttemptsESM": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": -1, + "max": 10000 + } + } + }, + "com.amazonaws.pipes#MeasureName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.pipes#MeasureValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, + "com.amazonaws.pipes#MeasureValueType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DOUBLE", + "name": "DOUBLE" + }, + { + "value": "BIGINT", + "name": "BIGINT" + }, + { + "value": "VARCHAR", + "name": "VARCHAR" + }, + { + "value": "BOOLEAN", + "name": "BOOLEAN" + }, + { + "value": "TIMESTAMP", + "name": "TIMESTAMP" + } + ] + } + }, + "com.amazonaws.pipes#MessageDeduplicationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#MessageGroupId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#MultiMeasureAttributeMapping": { + "type": "structure", + "members": { + "MeasureValue": { + "target": "com.amazonaws.pipes#MeasureValue", + "traits": { + "smithy.api#documentation": "

Dynamic path to the measurement attribute in the source event.

", + "smithy.api#required": {} + } + }, + "MeasureValueType": { + "target": "com.amazonaws.pipes#MeasureValueType", + "traits": { + "smithy.api#documentation": "

Data type of the measurement attribute in the source event.

", + "smithy.api#required": {} + } + }, + "MultiMeasureAttributeName": { + "target": "com.amazonaws.pipes#MultiMeasureAttributeName", + "traits": { + "smithy.api#documentation": "

Target measure name to be used.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A mapping of a source event data field to a measure in a Timestream for\n LiveAnalytics record.

" + } + }, + "com.amazonaws.pipes#MultiMeasureAttributeMappings": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#MultiMeasureAttributeMapping" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.pipes#MultiMeasureAttributeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.pipes#MultiMeasureMapping": { + "type": "structure", + "members": { + "MultiMeasureName": { + "target": "com.amazonaws.pipes#MultiMeasureName", + "traits": { + "smithy.api#documentation": "

The name of the multiple measurements per record (multi-measure).

", + "smithy.api#required": {} + } + }, + "MultiMeasureAttributeMappings": { + "target": "com.amazonaws.pipes#MultiMeasureAttributeMappings", + "traits": { + "smithy.api#documentation": "

Mappings that represent multiple source event fields mapped to measures in the same\n Timestream for LiveAnalytics record.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Maps multiple measures from the source event to the same Timestream for\n LiveAnalytics record.

\n

For more information, see Amazon Timestream for LiveAnalytics concepts\n

" + } + }, + "com.amazonaws.pipes#MultiMeasureMappings": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#MultiMeasureMapping" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + } + } + }, + "com.amazonaws.pipes#MultiMeasureName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.pipes#NetworkConfiguration": { + "type": "structure", + "members": { + "awsvpcConfiguration": { + "target": "com.amazonaws.pipes#AwsVpcConfiguration", + "traits": { + "smithy.api#documentation": "

Use this structure to specify the VPC subnets and security groups for the task, and\n whether a public IP address is to be used. This structure is relevant only for ECS tasks\n that use the awsvpc network mode.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure specifies the network configuration for an Amazon ECS\n task.

" + } + }, + "com.amazonaws.pipes#NextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#NotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.pipes#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

An entity that you specified does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.pipes#OnPartialBatchItemFailureStreams": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AUTOMATIC_BISECT", + "name": "AUTOMATIC_BISECT" + } + ] + } + }, + "com.amazonaws.pipes#OptionalArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1600 + }, + "smithy.api#pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2,4}((-gov)|(-de)|(-iso([a-z]?)))?-[a-z]+(-\\d{1})?)?:(\\d{12})?:(.+)$" + } + }, + "com.amazonaws.pipes#PathParameter": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(?!\\s*$).+|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#PathParameterList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#PathParameter" + } + }, + "com.amazonaws.pipes#Pipe": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

" + } + }, + "Arn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "aws.cloudformation#cfnAdditionalIdentifier": {}, + "smithy.api#documentation": "

The ARN of the pipe.

" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe should be in.

" + } + }, + "CurrentState": { + "target": "com.amazonaws.pipes#PipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe is in.

" + } + }, + "StateReason": { + "target": "com.amazonaws.pipes#PipeStateReason", + "traits": { + "smithy.api#documentation": "

The reason the pipe is in its current state.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the pipe was created.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

When the pipe was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" + } + }, + "Source": { + "target": "com.amazonaws.pipes#ArnOrUrl", + "traits": { + "smithy.api#documentation": "

The ARN of the source resource.

" + } + }, + "Target": { + "target": "com.amazonaws.pipes#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the target resource.

" + } + }, + "Enrichment": { + "target": "com.amazonaws.pipes#OptionalArn", + "traits": { + "smithy.api#documentation": "

The ARN of the enrichment resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An object that represents a pipe. Amazon EventBridgePipes connect event sources to\n targets and reduces the need for specialized knowledge and integration code.

" + } + }, + "com.amazonaws.pipes#PipeArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^arn:aws([a-z]|\\-)*:([a-zA-Z0-9\\-]+):([a-z]|\\d|\\-)*:([0-9]{12})?:(.+)$" + } + }, + "com.amazonaws.pipes#PipeDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^.*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#PipeEnrichmentHttpParameters": { + "type": "structure", + "members": { + "PathParameterValues": { + "target": "com.amazonaws.pipes#PathParameterList", + "traits": { + "smithy.api#documentation": "

The path parameter values to be used to populate API Gateway REST API or EventBridge ApiDestination path wildcards (\"*\").

" + } + }, + "HeaderParameters": { + "target": "com.amazonaws.pipes#HeaderParametersMap", + "traits": { + "smithy.api#documentation": "

The headers that need to be sent as part of request invoking the API Gateway REST\n API or EventBridge ApiDestination.

" + } + }, + "QueryStringParameters": { + "target": "com.amazonaws.pipes#QueryStringParametersMap", + "traits": { + "smithy.api#documentation": "

The query string keys/values that need to be sent as part of request invoking the\n API Gateway REST API or EventBridge ApiDestination.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

These are custom parameter to be used when the target is an API Gateway REST APIs\n or EventBridge ApiDestinations. In the latter case, these are merged with any\n InvocationParameters specified on the Connection, with any values from the Connection\n taking precedence.

" + } + }, + "com.amazonaws.pipes#PipeEnrichmentParameters": { + "type": "structure", + "members": { + "InputTemplate": { + "target": "com.amazonaws.pipes#InputTemplate", + "traits": { + "smithy.api#documentation": "

Valid JSON text passed to the enrichment. In this case, nothing from the event itself is\n passed to the enrichment. For more information, see The JavaScript Object Notation (JSON)\n Data Interchange Format.

\n

To remove an input template, specify an empty string.

" + } + }, + "HttpParameters": { + "target": "com.amazonaws.pipes#PipeEnrichmentHttpParameters", + "traits": { + "smithy.api#documentation": "

Contains the HTTP parameters to use when the target is a API Gateway REST\n endpoint or EventBridge ApiDestination.

\n

If you specify an API Gateway REST API or EventBridge ApiDestination as a\n target, you can use this parameter to specify headers, path parameters, and query string\n keys/values as part of your target invoking request. If you're using ApiDestinations, the\n corresponding Connection can also have these values configured. In case of any conflicting\n keys, values from the Connection take precedence.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters required to set up enrichment on your pipe.

" + } + }, + "com.amazonaws.pipes#PipeList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#Pipe" + } + }, + "com.amazonaws.pipes#PipeLogConfiguration": { + "type": "structure", + "members": { + "S3LogDestination": { + "target": "com.amazonaws.pipes#S3LogDestination", + "traits": { + "smithy.api#documentation": "

The Amazon S3 logging configuration settings for the pipe.

" + } + }, + "FirehoseLogDestination": { + "target": "com.amazonaws.pipes#FirehoseLogDestination", + "traits": { + "smithy.api#documentation": "

The Amazon Data Firehose logging configuration settings for the pipe.

" + } + }, + "CloudwatchLogsLogDestination": { + "target": "com.amazonaws.pipes#CloudwatchLogsLogDestination", + "traits": { + "smithy.api#documentation": "

The Amazon CloudWatch Logs logging configuration settings for the pipe.

" + } + }, + "Level": { + "target": "com.amazonaws.pipes#LogLevel", + "traits": { + "smithy.api#documentation": "

The level of logging detail to include. This applies to all log destinations for the pipe.

" + } + }, + "IncludeExecutionData": { + "target": "com.amazonaws.pipes#IncludeExecutionData", + "traits": { + "smithy.api#documentation": "

Whether the execution data (specifically, the payload,\n awsRequest, and awsResponse fields) is included in the log\n messages for this pipe.

\n

This applies to all log destinations for the pipe.

\n

For more information, see Including execution data in logs in the Amazon EventBridge User\n Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The logging configuration settings for the pipe.

" + } + }, + "com.amazonaws.pipes#PipeLogConfigurationParameters": { + "type": "structure", + "members": { + "S3LogDestination": { + "target": "com.amazonaws.pipes#S3LogDestinationParameters", + "traits": { + "smithy.api#documentation": "

The Amazon S3 logging configuration settings for the pipe.

" + } + }, + "FirehoseLogDestination": { + "target": "com.amazonaws.pipes#FirehoseLogDestinationParameters", + "traits": { + "smithy.api#documentation": "

The Amazon Data Firehose logging configuration settings for the pipe.

" + } + }, + "CloudwatchLogsLogDestination": { + "target": "com.amazonaws.pipes#CloudwatchLogsLogDestinationParameters", + "traits": { + "smithy.api#documentation": "

The Amazon CloudWatch Logs logging configuration settings for the pipe.

" + } + }, + "Level": { + "target": "com.amazonaws.pipes#LogLevel", + "traits": { + "smithy.api#documentation": "

The level of logging detail to include. This applies to all log destinations for the pipe.

\n

For more information, see Specifying\n EventBridge Pipes log level in the Amazon EventBridge User\n Guide.

", + "smithy.api#required": {} + } + }, + "IncludeExecutionData": { + "target": "com.amazonaws.pipes#IncludeExecutionData", + "traits": { + "smithy.api#documentation": "

Specify ALL to include the execution data (specifically, the\n payload, awsRequest, and awsResponse fields) in\n the log messages for this pipe.

\n

This applies to all log destinations for the pipe.

\n

For more information, see Including execution data in logs in the Amazon EventBridge User\n Guide.

\n

By default, execution data is not included.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the logging configuration settings for the pipe.

\n

When you call UpdatePipe, EventBridge updates the fields in the\n PipeLogConfigurationParameters object atomically as one and overrides\n existing values. This is by design. If you don't specify an optional field in any of the\n Amazon Web Services service parameters objects\n (CloudwatchLogsLogDestinationParameters,\n FirehoseLogDestinationParameters, or\n S3LogDestinationParameters), EventBridge sets that field to its\n system-default value during the update.

\n

For example, suppose when you created the pipe you specified a Firehose stream\n log destination. You then update the pipe to add an Amazon S3 log destination. In\n addition to specifying the S3LogDestinationParameters for the new log\n destination, you must also specify the fields in the\n FirehoseLogDestinationParameters object in order to retain the Firehose stream log destination.

\n

For more information on generating pipe log records, see Log EventBridge\n Pipes in the Amazon EventBridge User Guide.

" + } + }, + "com.amazonaws.pipes#PipeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[\\.\\-_A-Za-z0-9]+$" + } + }, + "com.amazonaws.pipes#PipeResource": { + "type": "resource", + "identifiers": { + "Name": { + "target": "com.amazonaws.pipes#PipeName" + } + }, + "put": { + "target": "com.amazonaws.pipes#CreatePipe" + }, + "read": { + "target": "com.amazonaws.pipes#DescribePipe" + }, + "update": { + "target": "com.amazonaws.pipes#UpdatePipe" + }, + "delete": { + "target": "com.amazonaws.pipes#DeletePipe" + }, + "list": { + "target": "com.amazonaws.pipes#ListPipes" + }, + "operations": [ + { + "target": "com.amazonaws.pipes#StartPipe" + }, + { + "target": "com.amazonaws.pipes#StopPipe" + } + ], + "traits": { + "aws.api#arn": { + "template": "pipe/{Name}" + }, + "aws.cloudformation#cfnResource": { + "name": "Pipe" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#iamResource": { + "name": "pipe" + }, + "smithy.api#documentation": "Represents a pipe that will connect a source to a target through an optional filtering and enrichment step" + } + }, + "com.amazonaws.pipes#PipeSourceActiveMQBrokerParameters": { + "type": "structure", + "members": { + "Credentials": { + "target": "com.amazonaws.pipes#MQBrokerAccessCredentials", + "traits": { + "smithy.api#documentation": "

The credentials needed to access the resource.

", + "smithy.api#required": {} + } + }, + "QueueName": { + "target": "com.amazonaws.pipes#MQBrokerQueueName", + "traits": { + "smithy.api#documentation": "

The name of the destination queue to consume.

", + "smithy.api#required": {} + } + }, + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using an Active MQ broker as a source.

" + } + }, + "com.amazonaws.pipes#PipeSourceDynamoDBStreamParameters": { + "type": "structure", + "members": { + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "DeadLetterConfig": { + "target": "com.amazonaws.pipes#DeadLetterConfig", + "traits": { + "smithy.api#documentation": "

Define the target queue to send dead-letter queue events to.

" + } + }, + "OnPartialBatchItemFailure": { + "target": "com.amazonaws.pipes#OnPartialBatchItemFailureStreams", + "traits": { + "smithy.api#documentation": "

Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half \nuntil all the records are processed or there is one failed message left in the batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + }, + "MaximumRecordAgeInSeconds": { + "target": "com.amazonaws.pipes#MaximumRecordAgeInSeconds", + "traits": { + "smithy.api#documentation": "

Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. \nWhen the value is set to infinite, EventBridge never discards old records.

" + } + }, + "MaximumRetryAttempts": { + "target": "com.amazonaws.pipes#MaximumRetryAttemptsESM", + "traits": { + "smithy.api#documentation": "

Discard records after the specified number of retries. The default value is -1, which sets the maximum number of \nretries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source.

" + } + }, + "ParallelizationFactor": { + "target": "com.amazonaws.pipes#LimitMax10", + "traits": { + "smithy.api#documentation": "

The number of batches to process concurrently from each shard. The default value is 1.

" + } + }, + "StartingPosition": { + "target": "com.amazonaws.pipes#DynamoDBStreamStartPosition", + "traits": { + "smithy.api#documentation": "

The position in a stream from which to start reading.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a DynamoDB stream as a source.

" + } + }, + "com.amazonaws.pipes#PipeSourceKinesisStreamParameters": { + "type": "structure", + "members": { + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "DeadLetterConfig": { + "target": "com.amazonaws.pipes#DeadLetterConfig", + "traits": { + "smithy.api#documentation": "

Define the target queue to send dead-letter queue events to.

" + } + }, + "OnPartialBatchItemFailure": { + "target": "com.amazonaws.pipes#OnPartialBatchItemFailureStreams", + "traits": { + "smithy.api#documentation": "

Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half \nuntil all the records are processed or there is one failed message left in the batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + }, + "MaximumRecordAgeInSeconds": { + "target": "com.amazonaws.pipes#MaximumRecordAgeInSeconds", + "traits": { + "smithy.api#documentation": "

Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. \nWhen the value is set to infinite, EventBridge never discards old records.

" + } + }, + "MaximumRetryAttempts": { + "target": "com.amazonaws.pipes#MaximumRetryAttemptsESM", + "traits": { + "smithy.api#documentation": "

Discard records after the specified number of retries. The default value is -1, which sets the maximum number of \nretries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source.

" + } + }, + "ParallelizationFactor": { + "target": "com.amazonaws.pipes#LimitMax10", + "traits": { + "smithy.api#documentation": "

The number of batches to process concurrently from each shard. The default value is 1.

" + } + }, + "StartingPosition": { + "target": "com.amazonaws.pipes#KinesisStreamStartPosition", + "traits": { + "smithy.api#documentation": "

The position in a stream from which to start reading.

", + "smithy.api#required": {} + } + }, + "StartingPositionTimestamp": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

With StartingPosition set to AT_TIMESTAMP, the time from which\n to start reading, in Unix time seconds.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Kinesis stream as a source.

" + } + }, + "com.amazonaws.pipes#PipeSourceManagedStreamingKafkaParameters": { + "type": "structure", + "members": { + "TopicName": { + "target": "com.amazonaws.pipes#KafkaTopicName", + "traits": { + "smithy.api#documentation": "

The name of the topic that the pipe will read from.

", + "smithy.api#required": {} + } + }, + "StartingPosition": { + "target": "com.amazonaws.pipes#MSKStartPosition", + "traits": { + "smithy.api#documentation": "

The position in a stream from which to start reading.

" + } + }, + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + }, + "ConsumerGroupID": { + "target": "com.amazonaws.pipes#URI", + "traits": { + "smithy.api#documentation": "

The name of the destination queue to consume.

" + } + }, + "Credentials": { + "target": "com.amazonaws.pipes#MSKAccessCredentials", + "traits": { + "smithy.api#documentation": "

The credentials needed to access the resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using an MSK stream as a source.

" + } + }, + "com.amazonaws.pipes#PipeSourceParameters": { + "type": "structure", + "members": { + "FilterCriteria": { + "target": "com.amazonaws.pipes#FilterCriteria", + "traits": { + "smithy.api#documentation": "

The collection of event patterns used to filter events.

\n

To remove a filter, specify a FilterCriteria object with an empty array of Filter objects.

\n

For more information, see Events and Event\n Patterns in the Amazon EventBridge User Guide.

" + } + }, + "KinesisStreamParameters": { + "target": "com.amazonaws.pipes#PipeSourceKinesisStreamParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Kinesis stream as a source.

" + } + }, + "DynamoDBStreamParameters": { + "target": "com.amazonaws.pipes#PipeSourceDynamoDBStreamParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a DynamoDB stream as a source.

" + } + }, + "SqsQueueParameters": { + "target": "com.amazonaws.pipes#PipeSourceSqsQueueParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Amazon SQS stream as a source.

" + } + }, + "ActiveMQBrokerParameters": { + "target": "com.amazonaws.pipes#PipeSourceActiveMQBrokerParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using an Active MQ broker as a source.

" + } + }, + "RabbitMQBrokerParameters": { + "target": "com.amazonaws.pipes#PipeSourceRabbitMQBrokerParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Rabbit MQ broker as a source.

" + } + }, + "ManagedStreamingKafkaParameters": { + "target": "com.amazonaws.pipes#PipeSourceManagedStreamingKafkaParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using an MSK stream as a source.

" + } + }, + "SelfManagedKafkaParameters": { + "target": "com.amazonaws.pipes#PipeSourceSelfManagedKafkaParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a self-managed Apache Kafka stream as a source.

\n

A self managed cluster refers to any Apache Kafka cluster not hosted by Amazon Web Services.\n This includes both clusters you manage yourself, as well as those hosted by a third-party\n provider, such as Confluent\n Cloud, CloudKarafka, or Redpanda. For more information, see Apache Kafka streams as a source in the Amazon EventBridge User Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters required to set up a source for your pipe.

" + } + }, + "com.amazonaws.pipes#PipeSourceRabbitMQBrokerParameters": { + "type": "structure", + "members": { + "Credentials": { + "target": "com.amazonaws.pipes#MQBrokerAccessCredentials", + "traits": { + "smithy.api#documentation": "

The credentials needed to access the resource.

", + "smithy.api#required": {} + } + }, + "QueueName": { + "target": "com.amazonaws.pipes#MQBrokerQueueName", + "traits": { + "smithy.api#documentation": "

The name of the destination queue to consume.

", + "smithy.api#required": {} + } + }, + "VirtualHost": { + "target": "com.amazonaws.pipes#URI", + "traits": { + "smithy.api#documentation": "

The name of the virtual host associated with the source broker.

" + } + }, + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Rabbit MQ broker as a source.

" + } + }, + "com.amazonaws.pipes#PipeSourceSelfManagedKafkaParameters": { + "type": "structure", + "members": { + "TopicName": { + "target": "com.amazonaws.pipes#KafkaTopicName", + "traits": { + "smithy.api#documentation": "

The name of the topic that the pipe will read from.

", + "smithy.api#required": {} + } + }, + "StartingPosition": { + "target": "com.amazonaws.pipes#SelfManagedKafkaStartPosition", + "traits": { + "smithy.api#documentation": "

The position in a stream from which to start reading.

" + } + }, + "AdditionalBootstrapServers": { + "target": "com.amazonaws.pipes#KafkaBootstrapServers", + "traits": { + "smithy.api#documentation": "

An array of server URLs.

" + } + }, + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + }, + "ConsumerGroupID": { + "target": "com.amazonaws.pipes#URI", + "traits": { + "smithy.api#documentation": "

The name of the destination queue to consume.

" + } + }, + "Credentials": { + "target": "com.amazonaws.pipes#SelfManagedKafkaAccessConfigurationCredentials", + "traits": { + "smithy.api#documentation": "

The credentials needed to access the resource.

" + } + }, + "ServerRootCaCertificate": { + "target": "com.amazonaws.pipes#SecretManagerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Secrets Manager secret used for certification.

" + } + }, + "Vpc": { + "target": "com.amazonaws.pipes#SelfManagedKafkaAccessConfigurationVpc", + "traits": { + "smithy.api#documentation": "

This structure specifies the VPC subnets and security groups for the stream, and whether a public IP address is to be used.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a self-managed Apache Kafka stream as a source.

\n

A self managed cluster refers to any Apache Kafka cluster not hosted by Amazon Web Services.\n This includes both clusters you manage yourself, as well as those hosted by a third-party\n provider, such as Confluent\n Cloud, CloudKarafka, or Redpanda. For more information, see Apache Kafka streams as a source in the Amazon EventBridge User Guide.

" + } + }, + "com.amazonaws.pipes#PipeSourceSqsQueueParameters": { + "type": "structure", + "members": { + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Amazon SQS stream as a source.

" + } + }, + "com.amazonaws.pipes#PipeState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "RUNNING", + "name": "RUNNING" + }, + { + "value": "STOPPED", + "name": "STOPPED" + }, + { + "value": "CREATING", + "name": "CREATING" + }, + { + "value": "UPDATING", + "name": "UPDATING" + }, + { + "value": "DELETING", + "name": "DELETING" + }, + { + "value": "STARTING", + "name": "STARTING" + }, + { + "value": "STOPPING", + "name": "STOPPING" + }, + { + "value": "CREATE_FAILED", + "name": "CREATE_FAILED" + }, + { + "value": "UPDATE_FAILED", + "name": "UPDATE_FAILED" + }, + { + "value": "START_FAILED", + "name": "START_FAILED" + }, + { + "value": "STOP_FAILED", + "name": "STOP_FAILED" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + }, + { + "value": "CREATE_ROLLBACK_FAILED", + "name": "CREATE_ROLLBACK_FAILED" + }, + { + "value": "DELETE_ROLLBACK_FAILED", + "name": "DELETE_ROLLBACK_FAILED" + }, + { + "value": "UPDATE_ROLLBACK_FAILED", + "name": "UPDATE_ROLLBACK_FAILED" + } + ] + } + }, + "com.amazonaws.pipes#PipeStateReason": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.pipes#PipeTargetBatchJobParameters": { + "type": "structure", + "members": { + "JobDefinition": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The job definition used by this job. This value can be one of name,\n name:revision, or the Amazon Resource Name (ARN) for the job definition. If\n name is specified without a revision then the latest active revision is used.

", + "smithy.api#required": {} + } + }, + "JobName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the job. It can be up to 128 letters long. The first character must be\n alphanumeric, can contain uppercase and lowercase letters, numbers, hyphens (-), and\n underscores (_).

", + "smithy.api#required": {} + } + }, + "ArrayProperties": { + "target": "com.amazonaws.pipes#BatchArrayProperties", + "traits": { + "smithy.api#documentation": "

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. \n If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an Batch job.

" + } + }, + "RetryStrategy": { + "target": "com.amazonaws.pipes#BatchRetryStrategy", + "traits": { + "smithy.api#documentation": "

The retry strategy to use for failed jobs. When a retry strategy is specified here, it\n overrides the retry strategy defined in the job definition.

" + } + }, + "ContainerOverrides": { + "target": "com.amazonaws.pipes#BatchContainerOverrides", + "traits": { + "smithy.api#documentation": "

The overrides that are sent to a container.

" + } + }, + "DependsOn": { + "target": "com.amazonaws.pipes#BatchDependsOn", + "traits": { + "smithy.api#documentation": "

A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can\n specify a SEQUENTIAL type dependency without specifying a job ID for array\n jobs so that each child array job completes sequentially, starting at index 0. You can also\n specify an N_TO_N type dependency with a job ID for array jobs. In that case,\n each index child of this job must wait for the corresponding index child of each dependency\n to complete before it can begin.

" + } + }, + "Parameters": { + "target": "com.amazonaws.pipes#BatchParametersMap", + "traits": { + "smithy.api#documentation": "

Additional parameters passed to the job that replace parameter substitution placeholders\n that are set in the job definition. Parameters are specified as a key and value pair\n mapping. Parameters included here override any corresponding parameter defaults from the\n job definition.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using an Batch job as a target.

" + } + }, + "com.amazonaws.pipes#PipeTargetCloudWatchLogsParameters": { + "type": "structure", + "members": { + "LogStreamName": { + "target": "com.amazonaws.pipes#LogStreamName", + "traits": { + "smithy.api#documentation": "

The name of the log stream.

" + } + }, + "Timestamp": { + "target": "com.amazonaws.pipes#JsonPath", + "traits": { + "smithy.api#documentation": "

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970\n 00:00:00 UTC.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using an CloudWatch Logs log stream as a target.

" + } + }, + "com.amazonaws.pipes#PipeTargetEcsTaskParameters": { + "type": "structure", + "members": { + "TaskDefinitionArn": { + "target": "com.amazonaws.pipes#ArnOrJsonPath", + "traits": { + "smithy.api#documentation": "

The ARN of the task definition to use if the event target is an Amazon ECS task.\n

", + "smithy.api#required": {} + } + }, + "TaskCount": { + "target": "com.amazonaws.pipes#LimitMin1", + "traits": { + "smithy.api#documentation": "

The number of tasks to create based on TaskDefinition. The default is\n 1.

" + } + }, + "LaunchType": { + "target": "com.amazonaws.pipes#LaunchType", + "traits": { + "smithy.api#documentation": "

Specifies the launch type on which your task is running. The launch type that you\n specify here must match one of the launch type (compatibilities) of the target task. The\n FARGATE value is supported only in the Regions where Fargate with Amazon ECS is supported. For more information, see\n Fargate on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "NetworkConfiguration": { + "target": "com.amazonaws.pipes#NetworkConfiguration", + "traits": { + "smithy.api#documentation": "

Use this structure if the Amazon ECS task uses the awsvpc network\n mode. This structure specifies the VPC subnets and security groups associated with the\n task, and whether a public IP address is to be used. This structure is required if\n LaunchType is FARGATE because the awsvpc mode is\n required for Fargate tasks.

\n

If you specify NetworkConfiguration when the target ECS task does not use\n the awsvpc network mode, the task fails.

" + } + }, + "PlatformVersion": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

Specifies the platform version for the task. Specify only the numeric portion of the\n platform version, such as 1.1.0.

\n

This structure is used only if LaunchType is FARGATE. For more\n information about valid platform versions, see Fargate\n Platform Versions in the Amazon Elastic Container Service Developer\n Guide.

" + } + }, + "Group": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

Specifies an Amazon ECS task group for the task. The maximum length is 255\n characters.

" + } + }, + "CapacityProviderStrategy": { + "target": "com.amazonaws.pipes#CapacityProviderStrategy", + "traits": { + "smithy.api#documentation": "

The capacity provider strategy to use for the task.

\n

If a capacityProviderStrategy is specified, the launchType\n parameter must be omitted. If no capacityProviderStrategy or launchType is\n specified, the defaultCapacityProviderStrategy for the cluster is used.\n

" + } + }, + "EnableECSManagedTags": { + "target": "com.amazonaws.pipes#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether to enable Amazon ECS managed tags for the task. For more\n information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "EnableExecuteCommand": { + "target": "com.amazonaws.pipes#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Whether or not to enable the execute command functionality for the containers in this\n task. If true, this enables execute command functionality on all containers in the\n task.

" + } + }, + "PlacementConstraints": { + "target": "com.amazonaws.pipes#PlacementConstraints", + "traits": { + "smithy.api#documentation": "

An array of placement constraint objects to use for the task. You can specify up to 10\n constraints per task (including constraints in the task definition and those specified at\n runtime).

" + } + }, + "PlacementStrategy": { + "target": "com.amazonaws.pipes#PlacementStrategies", + "traits": { + "smithy.api#documentation": "

The placement strategy objects to use for the task. You can specify a maximum of five\n strategy rules per task.

" + } + }, + "PropagateTags": { + "target": "com.amazonaws.pipes#PropagateTags", + "traits": { + "smithy.api#documentation": "

Specifies whether to propagate the tags from the task definition to the task. If no\n value is specified, the tags are not propagated. Tags can only be propagated to the task\n during task creation. To add tags to a task after task creation, use the\n TagResource API action.

" + } + }, + "ReferenceId": { + "target": "com.amazonaws.pipes#ReferenceId", + "traits": { + "smithy.api#documentation": "

The reference ID to use for the task.

" + } + }, + "Overrides": { + "target": "com.amazonaws.pipes#EcsTaskOverride", + "traits": { + "smithy.api#documentation": "

The overrides that are associated with a task.

" + } + }, + "Tags": { + "target": "com.amazonaws.pipes#TagList", + "traits": { + "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize them. Each\n tag consists of a key and an optional value, both of which you define. To learn more, see\n RunTask in the Amazon ECS API Reference.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using an Amazon ECS task as a target.

" + } + }, + "com.amazonaws.pipes#PipeTargetEventBridgeEventBusParameters": { + "type": "structure", + "members": { + "EndpointId": { + "target": "com.amazonaws.pipes#EventBridgeEndpointId", + "traits": { + "smithy.api#documentation": "

The URL subdomain of the endpoint. For example, if the URL for Endpoint is\n https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is\n abcde.veo.

" + } + }, + "DetailType": { + "target": "com.amazonaws.pipes#EventBridgeDetailType", + "traits": { + "smithy.api#documentation": "

A free-form string, with a maximum of 128 characters, used to decide what fields to\n expect in the event detail.

" + } + }, + "Source": { + "target": "com.amazonaws.pipes#EventBridgeEventSource", + "traits": { + "smithy.api#documentation": "

The source of the event.

" + } + }, + "Resources": { + "target": "com.amazonaws.pipes#EventBridgeEventResourceList", + "traits": { + "smithy.api#documentation": "

Amazon Web Services resources, identified by Amazon Resource Name (ARN), which the event\n primarily concerns. Any number, including zero, may be present.

" + } + }, + "Time": { + "target": "com.amazonaws.pipes#JsonPath", + "traits": { + "smithy.api#documentation": "

The time stamp of the event, per RFC3339. If no time stamp is provided, the time stamp of the PutEvents call is used.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using an EventBridge event bus as a target.

" + } + }, + "com.amazonaws.pipes#PipeTargetHttpParameters": { + "type": "structure", + "members": { + "PathParameterValues": { + "target": "com.amazonaws.pipes#PathParameterList", + "traits": { + "smithy.api#documentation": "

The path parameter values to be used to populate API Gateway REST API or EventBridge ApiDestination path wildcards (\"*\").

" + } + }, + "HeaderParameters": { + "target": "com.amazonaws.pipes#HeaderParametersMap", + "traits": { + "smithy.api#documentation": "

The headers that need to be sent as part of request invoking the API Gateway REST\n API or EventBridge ApiDestination.

" + } + }, + "QueryStringParameters": { + "target": "com.amazonaws.pipes#QueryStringParametersMap", + "traits": { + "smithy.api#documentation": "

The query string keys/values that need to be sent as part of request invoking the\n API Gateway REST API or EventBridge ApiDestination.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

These are custom parameter to be used when the target is an API Gateway REST APIs or\n EventBridge ApiDestinations.

" + } + }, + "com.amazonaws.pipes#PipeTargetInvocationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "REQUEST_RESPONSE", + "name": "REQUEST_RESPONSE" + }, + { + "value": "FIRE_AND_FORGET", + "name": "FIRE_AND_FORGET" + } + ] + } + }, + "com.amazonaws.pipes#PipeTargetKinesisStreamParameters": { + "type": "structure", + "members": { + "PartitionKey": { + "target": "com.amazonaws.pipes#KinesisPartitionKey", + "traits": { + "smithy.api#documentation": "

Determines which shard in the stream the data record is assigned to. Partition keys are\n Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis Data Streams uses the partition key as input to a hash function that maps the\n partition key and associated data to a specific shard. Specifically, an MD5 hash function\n is used to map partition keys to 128-bit integer values and to map associated data records\n to shards. As a result of this hashing mechanism, all data records with the same partition\n key map to the same shard within the stream.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Kinesis stream as a target.

" + } + }, + "com.amazonaws.pipes#PipeTargetLambdaFunctionParameters": { + "type": "structure", + "members": { + "InvocationType": { + "target": "com.amazonaws.pipes#PipeTargetInvocationType", + "traits": { + "smithy.api#documentation": "

Specify whether to invoke the function synchronously or asynchronously.

\n \n

For more information, see Invocation\n types in the Amazon EventBridge User Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Lambda function as a target.

" + } + }, + "com.amazonaws.pipes#PipeTargetParameters": { + "type": "structure", + "members": { + "InputTemplate": { + "target": "com.amazonaws.pipes#InputTemplate", + "traits": { + "smithy.api#documentation": "

Valid JSON text passed to the target. In this case, nothing from the event itself is\n passed to the target. For more information, see The JavaScript Object Notation (JSON)\n Data Interchange Format.

\n

To remove an input template, specify an empty string.

" + } + }, + "LambdaFunctionParameters": { + "target": "com.amazonaws.pipes#PipeTargetLambdaFunctionParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Lambda function as a target.

" + } + }, + "StepFunctionStateMachineParameters": { + "target": "com.amazonaws.pipes#PipeTargetStateMachineParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Step Functions state machine as a target.

" + } + }, + "KinesisStreamParameters": { + "target": "com.amazonaws.pipes#PipeTargetKinesisStreamParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Kinesis stream as a target.

" + } + }, + "EcsTaskParameters": { + "target": "com.amazonaws.pipes#PipeTargetEcsTaskParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using an Amazon ECS task as a target.

" + } + }, + "BatchJobParameters": { + "target": "com.amazonaws.pipes#PipeTargetBatchJobParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using an Batch job as a target.

" + } + }, + "SqsQueueParameters": { + "target": "com.amazonaws.pipes#PipeTargetSqsQueueParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Amazon SQS stream as a target.

" + } + }, + "HttpParameters": { + "target": "com.amazonaws.pipes#PipeTargetHttpParameters", + "traits": { + "smithy.api#documentation": "

These are custom parameter to be used when the target is an API Gateway REST APIs or\n EventBridge ApiDestinations.

" + } + }, + "RedshiftDataParameters": { + "target": "com.amazonaws.pipes#PipeTargetRedshiftDataParameters", + "traits": { + "smithy.api#documentation": "

These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the\n Amazon Redshift Data API BatchExecuteStatement.

" + } + }, + "SageMakerPipelineParameters": { + "target": "com.amazonaws.pipes#PipeTargetSageMakerPipelineParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a SageMaker pipeline as a target.

" + } + }, + "EventBridgeEventBusParameters": { + "target": "com.amazonaws.pipes#PipeTargetEventBridgeEventBusParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using an EventBridge event bus as a target.

" + } + }, + "CloudWatchLogsParameters": { + "target": "com.amazonaws.pipes#PipeTargetCloudWatchLogsParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using an CloudWatch Logs log stream as a target.

" + } + }, + "TimestreamParameters": { + "target": "com.amazonaws.pipes#PipeTargetTimestreamParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Timestream for LiveAnalytics table as a\n target.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters required to set up a target for your pipe.

\n

For more information about pipe target parameters, including how to use dynamic path parameters, see Target parameters in the Amazon EventBridge User Guide.

" + } + }, + "com.amazonaws.pipes#PipeTargetRedshiftDataParameters": { + "type": "structure", + "members": { + "SecretManagerArn": { + "target": "com.amazonaws.pipes#SecretManagerArnOrJsonPath", + "traits": { + "smithy.api#documentation": "

The name or ARN of the secret that enables access to the database. Required when\n authenticating using Secrets Manager.

" + } + }, + "Database": { + "target": "com.amazonaws.pipes#Database", + "traits": { + "smithy.api#documentation": "

The name of the database. Required when authenticating using temporary\n credentials.

", + "smithy.api#required": {} + } + }, + "DbUser": { + "target": "com.amazonaws.pipes#DbUser", + "traits": { + "smithy.api#documentation": "

The database user name. Required when authenticating using temporary credentials.

" + } + }, + "StatementName": { + "target": "com.amazonaws.pipes#StatementName", + "traits": { + "smithy.api#documentation": "

The name of the SQL statement. You can name the SQL statement when you create it to\n identify the query.

" + } + }, + "WithEvent": { + "target": "com.amazonaws.pipes#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to send an event back to EventBridge after the SQL statement\n runs.

" + } + }, + "Sqls": { + "target": "com.amazonaws.pipes#Sqls", + "traits": { + "smithy.api#documentation": "

The SQL statement text to run.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the\n Amazon Redshift Data API BatchExecuteStatement.

" + } + }, + "com.amazonaws.pipes#PipeTargetSageMakerPipelineParameters": { + "type": "structure", + "members": { + "PipelineParameterList": { + "target": "com.amazonaws.pipes#SageMakerPipelineParameterList", + "traits": { + "smithy.api#documentation": "

List of Parameter names and values for SageMaker Model Building Pipeline\n execution.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a SageMaker pipeline as a target.

" + } + }, + "com.amazonaws.pipes#PipeTargetSqsQueueParameters": { + "type": "structure", + "members": { + "MessageGroupId": { + "target": "com.amazonaws.pipes#MessageGroupId", + "traits": { + "smithy.api#documentation": "

The FIFO message group ID to use as the target.

" + } + }, + "MessageDeduplicationId": { + "target": "com.amazonaws.pipes#MessageDeduplicationId", + "traits": { + "smithy.api#documentation": "

This parameter applies only to FIFO (first-in-first-out) queues.

\n

The token used for deduplication of sent messages.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Amazon SQS stream as a target.

" + } + }, + "com.amazonaws.pipes#PipeTargetStateMachineParameters": { + "type": "structure", + "members": { + "InvocationType": { + "target": "com.amazonaws.pipes#PipeTargetInvocationType", + "traits": { + "smithy.api#documentation": "

Specify whether to invoke the Step Functions state machine synchronously or\n asynchronously.

\n \n

For more information, see Invocation\n types in the Amazon EventBridge User Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Step Functions state machine as a target.

" + } + }, + "com.amazonaws.pipes#PipeTargetTimestreamParameters": { + "type": "structure", + "members": { + "TimeValue": { + "target": "com.amazonaws.pipes#TimeValue", + "traits": { + "smithy.api#documentation": "

Dynamic path to the source data field that represents the time value for your data.

", + "smithy.api#required": {} + } + }, + "EpochTimeUnit": { + "target": "com.amazonaws.pipes#EpochTimeUnit", + "traits": { + "smithy.api#documentation": "

The granularity of the time units used. Default is MILLISECONDS.

\n

Required if TimeFieldType is specified as EPOCH.

" + } + }, + "TimeFieldType": { + "target": "com.amazonaws.pipes#TimeFieldType", + "traits": { + "smithy.api#documentation": "

The type of time value used.

\n

The default is EPOCH.

" + } + }, + "TimestampFormat": { + "target": "com.amazonaws.pipes#TimestampFormat", + "traits": { + "smithy.api#documentation": "

How to format the timestamps. For example,\n yyyy-MM-dd'T'HH:mm:ss'Z'.

\n

Required if TimeFieldType is specified as\n TIMESTAMP_FORMAT.

" + } + }, + "VersionValue": { + "target": "com.amazonaws.pipes#VersionValue", + "traits": { + "smithy.api#documentation": "

64 bit version value or source data field that represents the version value for your data.

\n

Write requests with a higher version number will update the existing measure values of the record and version. \n In cases where the measure value is the same, the version will still be updated.

\n

Default value is 1.

\n

Timestream for LiveAnalytics does not support updating partial measure values in a record.

\n

Write requests for duplicate data with a\n higher version number will update the existing measure value and version. In cases where\n the measure value is the same, Version will still be updated. Default value is\n 1.

\n \n

\n Version must be 1 or greater, or you will receive a\n ValidationException error.

\n
", + "smithy.api#required": {} + } + }, + "DimensionMappings": { + "target": "com.amazonaws.pipes#DimensionMappings", + "traits": { + "smithy.api#documentation": "

Map source data to dimensions in the target Timestream for LiveAnalytics\n table.

\n

For more information, see Amazon Timestream for LiveAnalytics concepts\n

", + "smithy.api#required": {} + } + }, + "SingleMeasureMappings": { + "target": "com.amazonaws.pipes#SingleMeasureMappings", + "traits": { + "smithy.api#documentation": "

Mappings of single source data fields to individual records in the specified Timestream for LiveAnalytics table.

" + } + }, + "MultiMeasureMappings": { + "target": "com.amazonaws.pipes#MultiMeasureMappings", + "traits": { + "smithy.api#documentation": "

Maps multiple measures from the source event to the same record in the specified Timestream for LiveAnalytics table.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Timestream for LiveAnalytics table as a\n target.

" + } + }, + "com.amazonaws.pipes#Pipes": { + "type": "service", + "version": "2015-10-07", + "operations": [ + { + "target": "com.amazonaws.pipes#ListTagsForResource" + }, + { + "target": "com.amazonaws.pipes#TagResource" + }, + { + "target": "com.amazonaws.pipes#UntagResource" + } + ], + "resources": [ + { + "target": "com.amazonaws.pipes#PipeResource" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "Pipes", + "arnNamespace": "pipes", + "cloudFormationName": "Pipes", + "cloudTrailEventSource": "pipes.amazonaws.com", + "endpointPrefix": "pipes" + }, + "aws.auth#sigv4": { + "name": "pipes" + }, + "aws.iam#defineConditionKeys": { + "aws:ResourceTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by tag-value associated with the resource", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + }, + "aws:RequestTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by allowed set of values for each of the tags", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + }, + "aws:TagKeys": { + "type": "ArrayOfString", + "documentation": "Filters access by the presence of mandatory tags in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + } + }, + "aws.iam#supportedPrincipalTypes": [ + "Root", + "IAMUser", + "IAMRole", + "FederatedUser" + ], + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "origin": "*", + "additionalAllowedHeaders": [ + "*", + "Authorization", + "Date", + "X-Amz-Date", + "X-Amz-Security-Token", + "X-Amz-Target", + "content-type", + "x-amz-content-sha256", + "x-amz-user-agent", + "x-amzn-platform-id", + "x-amzn-trace-id" + ], + "additionalExposedHeaders": [ + "x-amzn-errortype", + "x-amzn-requestid", + "x-amzn-errormessage", + "x-amzn-trace-id", + "x-amz-apigw-id", + "date" + ], + "maxAge": 86400 + }, + "smithy.api#documentation": "

Amazon EventBridge Pipes connects event sources to targets. Pipes reduces the need\n for specialized knowledge and integration code when developing event driven architectures.\n This helps ensures consistency across your company’s applications. With Pipes, the target\n can be any available EventBridge target. To set up a pipe, you select the event\n source, add optional event filtering, define optional enrichment, and select the target for\n the event data.

", + "smithy.api#title": "Amazon EventBridge Pipes", + "smithy.api#xmlNamespace": { + "uri": "http://events.amazonaws.com/doc/2015-10-07" + }, + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pipes-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pipes-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pipes.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pipes.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pipes-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pipes.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pipes-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pipes.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pipes-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pipes.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pipes.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.pipes#PlacementConstraint": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.pipes#PlacementConstraintType", + "traits": { + "smithy.api#documentation": "

The type of constraint. Use distinctInstance to ensure that each task in a particular\n group is running on a different container instance. Use memberOf to restrict the selection\n to a group of valid candidates.

" + } + }, + "expression": { + "target": "com.amazonaws.pipes#PlacementConstraintExpression", + "traits": { + "smithy.api#documentation": "

A cluster query language expression to apply to the constraint. You cannot specify an\n expression if the constraint type is distinctInstance. To learn more, see\n Cluster Query\n Language in the Amazon Elastic Container Service Developer Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An object representing a constraint on task placement. To learn more, see Task Placement\n Constraints in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "com.amazonaws.pipes#PlacementConstraintExpression": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2000 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#PlacementConstraintType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "distinctInstance", + "name": "DISTINCT_INSTANCE" + }, + { + "value": "memberOf", + "name": "MEMBER_OF" + } + ] + } + }, + "com.amazonaws.pipes#PlacementConstraints": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#PlacementConstraint" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.pipes#PlacementStrategies": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#PlacementStrategy" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, + "com.amazonaws.pipes#PlacementStrategy": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.pipes#PlacementStrategyType", + "traits": { + "smithy.api#documentation": "

The type of placement strategy. The random placement strategy randomly places tasks on\n available candidates. The spread placement strategy spreads placement across available\n candidates evenly based on the field parameter. The binpack strategy places tasks on\n available candidates that have the least available amount of the resource that is specified\n with the field parameter. For example, if you binpack on memory, a task is placed on the\n instance with the least amount of remaining memory (but still enough to run the task).\n

" + } + }, + "field": { + "target": "com.amazonaws.pipes#PlacementStrategyField", + "traits": { + "smithy.api#documentation": "

The field to apply the placement strategy against. For the spread placement strategy,\n valid values are instanceId (or host, which has the same effect), or any platform or custom\n attribute that is applied to a container instance, such as attribute:ecs.availability-zone.\n For the binpack placement strategy, valid values are cpu and memory. For the random\n placement strategy, this field is not used.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The task placement strategy for a task or service. To learn more, see Task Placement\n Strategies in the Amazon Elastic Container Service Service Developer Guide.

" + } + }, + "com.amazonaws.pipes#PlacementStrategyField": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 255 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#PlacementStrategyType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "random", + "name": "RANDOM" + }, + { + "value": "spread", + "name": "SPREAD" + }, + { + "value": "binpack", + "name": "BINPACK" + } + ] + } + }, + "com.amazonaws.pipes#PropagateTags": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TASK_DEFINITION", + "name": "TASK_DEFINITION" + } + ] + } + }, + "com.amazonaws.pipes#QueryStringKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^[^\\x00-\\x1F\\x7F]+|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$" + } + }, + "com.amazonaws.pipes#QueryStringParametersMap": { + "type": "map", + "key": { + "target": "com.amazonaws.pipes#QueryStringKey" + }, + "value": { + "target": "com.amazonaws.pipes#QueryStringValue" + } + }, + "com.amazonaws.pipes#QueryStringValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^[^\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]+|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#ReferenceId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#RequestedPipeState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "RUNNING", + "name": "RUNNING" + }, + { + "value": "STOPPED", + "name": "STOPPED" + } + ] + } + }, + "com.amazonaws.pipes#RequestedPipeStateDescribeResponse": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "RUNNING", + "name": "RUNNING" + }, + { + "value": "STOPPED", + "name": "STOPPED" + }, + { + "value": "DELETED", + "name": "DELETED" + } + ] + } + }, + "com.amazonaws.pipes#ResourceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + } + } + }, + "com.amazonaws.pipes#RoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^arn:(aws[a-zA-Z-]*)?:iam::\\d{12}:role/?[a-zA-Z0-9+=,.@\\-_/]+$" + } + }, + "com.amazonaws.pipes#S3LogDestination": { + "type": "structure", + "members": { + "BucketName": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The name of the Amazon S3 bucket to which EventBridge delivers the log\n records for the pipe.

" + } + }, + "Prefix": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The prefix text with which to begin Amazon S3 log object names.

\n

For more information, see Organizing objects using\n prefixes in the Amazon Simple Storage Service User Guide.

" + } + }, + "BucketOwner": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account that owns the Amazon S3 bucket to which EventBridge delivers the log records for the pipe.

" + } + }, + "OutputFormat": { + "target": "com.amazonaws.pipes#S3OutputFormat", + "traits": { + "smithy.api#documentation": "

The format EventBridge uses for the log records.

\n

EventBridge currently only supports json formatting.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon S3 logging configuration settings for the pipe.

" + } + }, + "com.amazonaws.pipes#S3LogDestinationParameters": { + "type": "structure", + "members": { + "BucketName": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

Specifies the name of the Amazon S3 bucket to which EventBridge delivers\n the log records for the pipe.

", + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#required": {} + } + }, + "BucketOwner": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

Specifies the Amazon Web Services account that owns the Amazon S3 bucket to which\n EventBridge delivers the log records for the pipe.

", + "smithy.api#pattern": "^\\d{12}$", + "smithy.api#required": {} + } + }, + "OutputFormat": { + "target": "com.amazonaws.pipes#S3OutputFormat", + "traits": { + "smithy.api#documentation": "

How EventBridge should format the log records.

\n

EventBridge currently only supports json formatting.

" + } + }, + "Prefix": { + "target": "com.amazonaws.pipes#String", + "traits": { + "smithy.api#documentation": "

Specifies any prefix text with which to begin Amazon S3 log object names.

\n

You can use prefixes to organize the data that you store in Amazon S3 buckets. A\n prefix is a string of characters at the beginning of the object key name. A prefix can be\n any length, subject to the maximum length of the object key name (1,024 bytes). For more\n information, see Organizing objects using\n prefixes in the Amazon Simple Storage Service User Guide.

", + "smithy.api#length": { + "max": 256 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon S3 logging configuration settings for the pipe.

" + } + }, + "com.amazonaws.pipes#S3OutputFormat": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "json", + "name": "JSON" + }, + { + "value": "plain", + "name": "PLAIN" + }, + { + "value": "w3c", + "name": "W3C" + } + ] + } + }, + "com.amazonaws.pipes#SageMakerPipelineParameter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.pipes#SageMakerPipelineParameterName", + "traits": { + "smithy.api#documentation": "

Name of parameter to start execution of a SageMaker Model Building\n Pipeline.

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.pipes#SageMakerPipelineParameterValue", + "traits": { + "smithy.api#documentation": "

Value of parameter to start execution of a SageMaker Model Building\n Pipeline.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Name/Value pair of a parameter to start execution of a SageMaker Model Building\n Pipeline.

" + } + }, + "com.amazonaws.pipes#SageMakerPipelineParameterList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#SageMakerPipelineParameter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.pipes#SageMakerPipelineParameterName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#SageMakerPipelineParameterValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#SecretManagerArn": { + "type": "string", + "traits": { + "smithy.api#documentation": "// Optional SecretManager ARN which stores the database credentials", + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2,4}((-gov)|(-de)|(-iso([a-z]?)))?-[a-z]+(-\\d{1})?):(\\d{12}):secret:.+)$" + } + }, + "com.amazonaws.pipes#SecretManagerArnOrJsonPath": { + "type": "string", + "traits": { + "smithy.api#documentation": "// For targets, can either specify an ARN or a jsonpath pointing to the ARN.", + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2,4}((-gov)|(-de)|(-iso([a-z]?)))?-[a-z]+(-\\d{1})?):(\\d{12}):secret:.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$" + } + }, + "com.amazonaws.pipes#SecurityGroup": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^sg-[0-9a-zA-Z]*|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#SecurityGroupId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^sg-[0-9a-zA-Z]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#SecurityGroupIds": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#SecurityGroupId" + }, + "traits": { + "smithy.api#documentation": "List of SecurityGroupId.", + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, + "com.amazonaws.pipes#SecurityGroups": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#SecurityGroup" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, + "com.amazonaws.pipes#SelfManagedKafkaAccessConfigurationCredentials": { + "type": "union", + "members": { + "BasicAuth": { + "target": "com.amazonaws.pipes#SecretManagerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Secrets Manager secret.

" + } + }, + "SaslScram512Auth": { + "target": "com.amazonaws.pipes#SecretManagerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Secrets Manager secret.

" + } + }, + "SaslScram256Auth": { + "target": "com.amazonaws.pipes#SecretManagerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Secrets Manager secret.

" + } + }, + "ClientCertificateTlsAuth": { + "target": "com.amazonaws.pipes#SecretManagerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Secrets Manager secret.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Secrets Manager secret that stores your stream credentials.

" + } + }, + "com.amazonaws.pipes#SelfManagedKafkaAccessConfigurationVpc": { + "type": "structure", + "members": { + "Subnets": { + "target": "com.amazonaws.pipes#SubnetIds", + "traits": { + "smithy.api#documentation": "

Specifies the subnets associated with the stream. These subnets must all be in the same\n VPC. You can specify as many as 16 subnets.

" + } + }, + "SecurityGroup": { + "target": "com.amazonaws.pipes#SecurityGroupIds", + "traits": { + "smithy.api#documentation": "

Specifies the security groups associated with the stream. These security groups must all\n be in the same VPC. You can specify as many as five security groups.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure specifies the VPC subnets and security groups for the stream, and whether\n a public IP address is to be used.

" + } + }, + "com.amazonaws.pipes#SelfManagedKafkaStartPosition": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TRIM_HORIZON", + "name": "TRIM_HORIZON" + }, + { + "value": "LATEST", + "name": "LATEST" + } + ] + } + }, + "com.amazonaws.pipes#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the resource that caused the exception.

", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The type of resource that caused the exception.

", + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the service that caused the exception.

", + "smithy.api#required": {} + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the quota that caused the exception.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A quota has been exceeded.

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.pipes#SingleMeasureMapping": { + "type": "structure", + "members": { + "MeasureValue": { + "target": "com.amazonaws.pipes#MeasureValue", + "traits": { + "smithy.api#documentation": "

Dynamic path of the source field to map to the measure in the record.

", + "smithy.api#required": {} + } + }, + "MeasureValueType": { + "target": "com.amazonaws.pipes#MeasureValueType", + "traits": { + "smithy.api#documentation": "

Data type of the source field.

", + "smithy.api#required": {} + } + }, + "MeasureName": { + "target": "com.amazonaws.pipes#MeasureName", + "traits": { + "smithy.api#documentation": "

Target measure name for the measurement attribute in the Timestream table.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Maps a single source data field to a single record in the specified Timestream\n for LiveAnalytics table.

\n

For more information, see Amazon Timestream for LiveAnalytics concepts\n

" + } + }, + "com.amazonaws.pipes#SingleMeasureMappings": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#SingleMeasureMapping" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 8192 + } + } + }, + "com.amazonaws.pipes#Sql": { + "type": "string", + "traits": { + "smithy.api#documentation": "// A single Redshift SQL", + "smithy.api#length": { + "min": 1, + "max": 100000 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#Sqls": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#Sql" + }, + "traits": { + "smithy.api#documentation": "// A list of SQLs.", + "smithy.api#length": { + "min": 1, + "max": 40 + } + } + }, + "com.amazonaws.pipes#StartPipe": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#StartPipeRequest" + }, + "output": { + "target": "com.amazonaws.pipes#StartPipeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#ConflictException" + }, + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#NotFoundException" + }, + { + "target": "com.amazonaws.pipes#ThrottlingException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to start a pipe", + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "smithy.api#documentation": "

Start an existing pipe.

", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/pipes/{Name}/start", + "code": 200 + } + } + }, + "com.amazonaws.pipes#StartPipeRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.pipes#StartPipeResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the pipe.

" + } + }, + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe should be in.

" + } + }, + "CurrentState": { + "target": "com.amazonaws.pipes#PipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe is in.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the pipe was created.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

When the pipe was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.pipes#StatementName": { + "type": "string", + "traits": { + "smithy.api#documentation": "// A name for Redshift DataAPI statement which can be used as filter of\n// ListStatement.", + "smithy.api#length": { + "min": 1, + "max": 500 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#StopPipe": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#StopPipeRequest" + }, + "output": { + "target": "com.amazonaws.pipes#StopPipeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#ConflictException" + }, + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#NotFoundException" + }, + { + "target": "com.amazonaws.pipes#ThrottlingException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to stop a pipe", + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "smithy.api#documentation": "

Stop an existing pipe.

", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/pipes/{Name}/stop", + "code": 200 + } + } + }, + "com.amazonaws.pipes#StopPipeRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.pipes#StopPipeResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the pipe.

" + } + }, + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe should be in.

" + } + }, + "CurrentState": { + "target": "com.amazonaws.pipes#PipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe is in.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the pipe was created.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

When the pipe was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.pipes#String": { + "type": "string" + }, + "com.amazonaws.pipes#StringList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#String" + } + }, + "com.amazonaws.pipes#Subnet": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^subnet-[0-9a-z]*|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#SubnetId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^subnet-[0-9a-z]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#SubnetIds": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#SubnetId" + }, + "traits": { + "smithy.api#documentation": "List of SubnetId.", + "smithy.api#length": { + "min": 1, + "max": 16 + } + } + }, + "com.amazonaws.pipes#Subnets": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#Subnet" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 16 + } + } + }, + "com.amazonaws.pipes#Tag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.pipes#TagKey", + "traits": { + "smithy.api#documentation": "

A string you can use to assign a value. The combination of tag keys and values can help\n you organize and categorize your resources.

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.pipes#TagValue", + "traits": { + "smithy.api#documentation": "

The value for the specified tag key.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A key-value pair associated with an Amazon Web Services resource. In EventBridge,\n rules and event buses support tagging.

" + } + }, + "com.amazonaws.pipes#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.pipes#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.pipes#TagList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#Tag" + } + }, + "com.amazonaws.pipes#TagMap": { + "type": "map", + "key": { + "target": "com.amazonaws.pipes#TagKey" + }, + "value": { + "target": "com.amazonaws.pipes#TagValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.pipes#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.pipes#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#NotFoundException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to add tags to a resource", + "aws.iam#conditionKeys": [ + "aws:TagKeys", + "aws:RequestTag/${TagKey}", + "aws:ResourceTag/${TagKey}" + ], + "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the specified pipe. Tags can help you\n organize and categorize your resources. You can also use them to scope user permissions by\n granting a user permission to access or change only resources with certain tag\n values.

\n

Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly\n as strings of characters.

\n

You can use the TagResource action with a pipe that already has tags. If\n you specify a new tag key, this tag is appended to the list of tags associated with the\n pipe. If you specify a tag key that is already associated with the pipe, the new tag value\n that you specify replaces the previous value for that tag.

\n

You can associate as many as 50 tags with a pipe.

", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.pipes#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the pipe.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.pipes#TagMap", + "traits": { + "smithy.api#documentation": "

The list of key-value pairs associated with the pipe.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "tagging", + "smithy.api#references": [ + { + "resource": "com.amazonaws.pipes#PipeResource", + "ids": { + "Name": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.pipes#TagResourceResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.pipes#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the service that caused the exception.

" + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the quota that caused the exception.

" + } + }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of seconds to wait before retrying the action that caused the\n exception.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

An action was throttled.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.pipes#TimeFieldType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "EPOCH", + "name": "EPOCH" + }, + { + "value": "TIMESTAMP_FORMAT", + "name": "TIMESTAMP_FORMAT" + } + ] + } + }, + "com.amazonaws.pipes#TimeValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.pipes#Timestamp": { + "type": "timestamp" + }, + "com.amazonaws.pipes#TimestampFormat": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.pipes#URI": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-\\/*:_+=.@-]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.pipes#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.pipes#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#NotFoundException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to remove the tags for a resource", + "aws.iam#conditionKeys": [ + "aws:TagKeys" + ], + "smithy.api#documentation": "

Removes one or more tags from the specified pipes.

", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.pipes#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the pipe.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.pipes#TagKeyList", + "traits": { + "smithy.api#documentation": "

The list of tag keys to remove from the pipe.

", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "tagging", + "smithy.api#references": [ + { + "resource": "com.amazonaws.pipes#PipeResource", + "ids": { + "Name": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.pipes#UntagResourceResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.pipes#UpdatePipe": { + "type": "operation", + "input": { + "target": "com.amazonaws.pipes#UpdatePipeRequest" + }, + "output": { + "target": "com.amazonaws.pipes#UpdatePipeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.pipes#ConflictException" + }, + { + "target": "com.amazonaws.pipes#InternalException" + }, + { + "target": "com.amazonaws.pipes#NotFoundException" + }, + { + "target": "com.amazonaws.pipes#ThrottlingException" + }, + { + "target": "com.amazonaws.pipes#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to update a pipe", + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "smithy.api#documentation": "

Update an existing pipe. When you call UpdatePipe, EventBridge only the\n updates fields you have specified in the request; the rest remain unchanged. The exception\n to this is if you modify any Amazon Web Services-service specific fields in the\n SourceParameters, EnrichmentParameters, or\n TargetParameters objects. For example,\n DynamoDBStreamParameters or EventBridgeEventBusParameters.\n EventBridge updates the fields in these objects atomically as one and overrides existing\n values. This is by design, and means that if you don't specify an optional field in one of\n these Parameters objects, EventBridge sets that field to its system-default\n value during the update.

\n

For more information about pipes, see \n Amazon EventBridge Pipes in the Amazon EventBridge User Guide.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/v1/pipes/{Name}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.pipes#UpdatePipeRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.pipes#PipeDescription", + "traits": { + "smithy.api#documentation": "

A description of the pipe.

" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe should be in.

" + } + }, + "SourceParameters": { + "target": "com.amazonaws.pipes#UpdatePipeSourceParameters", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The parameters required to set up a source for your pipe.

" + } + }, + "Enrichment": { + "target": "com.amazonaws.pipes#OptionalArn", + "traits": { + "smithy.api#documentation": "

The ARN of the enrichment resource.

" + } + }, + "EnrichmentParameters": { + "target": "com.amazonaws.pipes#PipeEnrichmentParameters", + "traits": { + "smithy.api#documentation": "

The parameters required to set up enrichment on your pipe.

" + } + }, + "Target": { + "target": "com.amazonaws.pipes#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the target resource.

" + } + }, + "TargetParameters": { + "target": "com.amazonaws.pipes#PipeTargetParameters", + "traits": { + "smithy.api#documentation": "

The parameters required to set up a target for your pipe.

\n

For more information about pipe target parameters, including how to use dynamic path parameters, see Target parameters in the Amazon EventBridge User Guide.

" + } + }, + "RoleArn": { + "target": "com.amazonaws.pipes#RoleArn", + "traits": { + "smithy.api#documentation": "

The ARN of the role that allows the pipe to send data to the target.

", + "smithy.api#required": {} + } + }, + "LogConfiguration": { + "target": "com.amazonaws.pipes#PipeLogConfigurationParameters", + "traits": { + "aws.cloudformation#cfnMutability": "write", + "smithy.api#documentation": "

The logging configuration settings for the pipe.

" + } + }, + "KmsKeyIdentifier": { + "target": "com.amazonaws.pipes#KmsKeyIdentifier", + "traits": { + "smithy.api#documentation": "

The identifier of the KMS\n customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt pipe data. The identifier can be the key \n Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.

\n

To update a pipe that is using the default Amazon Web Services owned key to use a customer managed key instead, or update a pipe that is using a customer managed key to use a\n different customer managed key, specify a customer managed key identifier.

\n

To update a pipe that is using a customer managed key to use the default Amazon Web Services owned key, specify an empty string.

\n

For more information, see Managing keys in the Key Management Service\n Developer Guide.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.pipes#UpdatePipeResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.pipes#PipeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the pipe.

" + } + }, + "Name": { + "target": "com.amazonaws.pipes#PipeName", + "traits": { + "smithy.api#documentation": "

The name of the pipe.

" + } + }, + "DesiredState": { + "target": "com.amazonaws.pipes#RequestedPipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe should be in.

" + } + }, + "CurrentState": { + "target": "com.amazonaws.pipes#PipeState", + "traits": { + "smithy.api#documentation": "

The state the pipe is in.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the pipe was created.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.pipes#Timestamp", + "traits": { + "smithy.api#documentation": "

When the pipe was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.pipes#UpdatePipeSourceActiveMQBrokerParameters": { + "type": "structure", + "members": { + "Credentials": { + "target": "com.amazonaws.pipes#MQBrokerAccessCredentials", + "traits": { + "smithy.api#documentation": "

The credentials needed to access the resource.

", + "smithy.api#required": {} + } + }, + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using an Active MQ broker as a source.

" + } + }, + "com.amazonaws.pipes#UpdatePipeSourceDynamoDBStreamParameters": { + "type": "structure", + "members": { + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "DeadLetterConfig": { + "target": "com.amazonaws.pipes#DeadLetterConfig", + "traits": { + "smithy.api#documentation": "

Define the target queue to send dead-letter queue events to.

" + } + }, + "OnPartialBatchItemFailure": { + "target": "com.amazonaws.pipes#OnPartialBatchItemFailureStreams", + "traits": { + "smithy.api#documentation": "

Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half \nuntil all the records are processed or there is one failed message left in the batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + }, + "MaximumRecordAgeInSeconds": { + "target": "com.amazonaws.pipes#MaximumRecordAgeInSeconds", + "traits": { + "smithy.api#documentation": "

Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. \nWhen the value is set to infinite, EventBridge never discards old records.

" + } + }, + "MaximumRetryAttempts": { + "target": "com.amazonaws.pipes#MaximumRetryAttemptsESM", + "traits": { + "smithy.api#documentation": "

Discard records after the specified number of retries. The default value is -1, which sets the maximum number of \nretries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source.

" + } + }, + "ParallelizationFactor": { + "target": "com.amazonaws.pipes#LimitMax10", + "traits": { + "smithy.api#documentation": "

The number of batches to process concurrently from each shard. The default value is 1.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a DynamoDB stream as a source.

" + } + }, + "com.amazonaws.pipes#UpdatePipeSourceKinesisStreamParameters": { + "type": "structure", + "members": { + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "DeadLetterConfig": { + "target": "com.amazonaws.pipes#DeadLetterConfig", + "traits": { + "smithy.api#documentation": "

Define the target queue to send dead-letter queue events to.

" + } + }, + "OnPartialBatchItemFailure": { + "target": "com.amazonaws.pipes#OnPartialBatchItemFailureStreams", + "traits": { + "smithy.api#documentation": "

Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half \nuntil all the records are processed or there is one failed message left in the batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + }, + "MaximumRecordAgeInSeconds": { + "target": "com.amazonaws.pipes#MaximumRecordAgeInSeconds", + "traits": { + "smithy.api#documentation": "

Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. \nWhen the value is set to infinite, EventBridge never discards old records.

" + } + }, + "MaximumRetryAttempts": { + "target": "com.amazonaws.pipes#MaximumRetryAttemptsESM", + "traits": { + "smithy.api#documentation": "

Discard records after the specified number of retries. The default value is -1, which sets the maximum number of \nretries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source.

" + } + }, + "ParallelizationFactor": { + "target": "com.amazonaws.pipes#LimitMax10", + "traits": { + "smithy.api#documentation": "

The number of batches to process concurrently from each shard. The default value is 1.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Kinesis stream as a source.

" + } + }, + "com.amazonaws.pipes#UpdatePipeSourceManagedStreamingKafkaParameters": { + "type": "structure", + "members": { + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "Credentials": { + "target": "com.amazonaws.pipes#MSKAccessCredentials", + "traits": { + "smithy.api#documentation": "

The credentials needed to access the resource.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using an MSK stream as a source.

" + } + }, + "com.amazonaws.pipes#UpdatePipeSourceParameters": { + "type": "structure", + "members": { + "FilterCriteria": { + "target": "com.amazonaws.pipes#FilterCriteria", + "traits": { + "smithy.api#documentation": "

The collection of event patterns used to filter events.

\n

To remove a filter, specify a FilterCriteria object with an empty array of Filter objects.

\n

For more information, see Events and Event\n Patterns in the Amazon EventBridge User Guide.

" + } + }, + "KinesisStreamParameters": { + "target": "com.amazonaws.pipes#UpdatePipeSourceKinesisStreamParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Kinesis stream as a source.

" + } + }, + "DynamoDBStreamParameters": { + "target": "com.amazonaws.pipes#UpdatePipeSourceDynamoDBStreamParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a DynamoDB stream as a source.

" + } + }, + "SqsQueueParameters": { + "target": "com.amazonaws.pipes#UpdatePipeSourceSqsQueueParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Amazon SQS stream as a source.

" + } + }, + "ActiveMQBrokerParameters": { + "target": "com.amazonaws.pipes#UpdatePipeSourceActiveMQBrokerParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using an Active MQ broker as a source.

" + } + }, + "RabbitMQBrokerParameters": { + "target": "com.amazonaws.pipes#UpdatePipeSourceRabbitMQBrokerParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a Rabbit MQ broker as a source.

" + } + }, + "ManagedStreamingKafkaParameters": { + "target": "com.amazonaws.pipes#UpdatePipeSourceManagedStreamingKafkaParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using an MSK stream as a source.

" + } + }, + "SelfManagedKafkaParameters": { + "target": "com.amazonaws.pipes#UpdatePipeSourceSelfManagedKafkaParameters", + "traits": { + "smithy.api#documentation": "

The parameters for using a self-managed Apache Kafka stream as a source.

\n

A self managed cluster refers to any Apache Kafka cluster not hosted by Amazon Web Services.\n This includes both clusters you manage yourself, as well as those hosted by a third-party\n provider, such as Confluent\n Cloud, CloudKarafka, or Redpanda. For more information, see Apache Kafka streams as a source in the Amazon EventBridge User Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters required to set up a source for your pipe.

" + } + }, + "com.amazonaws.pipes#UpdatePipeSourceRabbitMQBrokerParameters": { + "type": "structure", + "members": { + "Credentials": { + "target": "com.amazonaws.pipes#MQBrokerAccessCredentials", + "traits": { + "smithy.api#documentation": "

The credentials needed to access the resource.

", + "smithy.api#required": {} + } + }, + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Rabbit MQ broker as a source.

" + } + }, + "com.amazonaws.pipes#UpdatePipeSourceSelfManagedKafkaParameters": { + "type": "structure", + "members": { + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + }, + "Credentials": { + "target": "com.amazonaws.pipes#SelfManagedKafkaAccessConfigurationCredentials", + "traits": { + "smithy.api#documentation": "

The credentials needed to access the resource.

" + } + }, + "ServerRootCaCertificate": { + "target": "com.amazonaws.pipes#SecretManagerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Secrets Manager secret used for certification.

" + } + }, + "Vpc": { + "target": "com.amazonaws.pipes#SelfManagedKafkaAccessConfigurationVpc", + "traits": { + "smithy.api#documentation": "

This structure specifies the VPC subnets and security groups for the stream, and whether a public IP address is to be used.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a self-managed Apache Kafka stream as a source.

\n

A self managed cluster refers to any Apache Kafka cluster not hosted by Amazon Web Services.\n This includes both clusters you manage yourself, as well as those hosted by a third-party\n provider, such as Confluent\n Cloud, CloudKarafka, or Redpanda. For more information, see Apache Kafka streams as a source in the Amazon EventBridge User Guide.

" + } + }, + "com.amazonaws.pipes#UpdatePipeSourceSqsQueueParameters": { + "type": "structure", + "members": { + "BatchSize": { + "target": "com.amazonaws.pipes#LimitMax10000", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in each batch.

" + } + }, + "MaximumBatchingWindowInSeconds": { + "target": "com.amazonaws.pipes#MaximumBatchingWindowInSeconds", + "traits": { + "smithy.api#documentation": "

The maximum length of a time to wait for events.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for using a Amazon SQS stream as a source.

" + } + }, + "com.amazonaws.pipes#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.pipes#ErrorMessage" + }, + "fieldList": { + "target": "com.amazonaws.pipes#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

The list of fields for which validation failed and the corresponding failure\n messages.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates that an error has occurred while performing a validate operation.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.pipes#ValidationExceptionField": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the exception.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "com.amazonaws.pipes#ErrorMessage", + "traits": { + "smithy.api#documentation": "

The message of the exception.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates that an error has occurred while performing a validate operation.

" + } + }, + "com.amazonaws.pipes#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.pipes#ValidationExceptionField" + } + }, + "com.amazonaws.pipes#VersionValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + } + } +} \ No newline at end of file diff --git a/pkg/testdata/models/apis/emrcontainers/0000-00-00/generator-with-union.yaml b/pkg/testdata/models/apis/emrcontainers/0000-00-00/generator-with-union.yaml new file mode 100644 index 00000000..f06c5cb5 --- /dev/null +++ b/pkg/testdata/models/apis/emrcontainers/0000-00-00/generator-with-union.yaml @@ -0,0 +1,15 @@ +ignore: + field_paths: null + operations: null + resource_names: + # - VirtualCluster + - JobRun + - ManagedEndpoint + - JobTemplate + - SecurityConfiguration +sdk_names: + model_name: emr-containers +operations: + DescribeVirtualCluster: + output_wrapper_field_path: VirtualCluster +prefix_config: {} diff --git a/pkg/testdata/models/apis/pipes/0000-00-00/generator-with-union.yaml b/pkg/testdata/models/apis/pipes/0000-00-00/generator-with-union.yaml new file mode 100644 index 00000000..bb1d5e96 --- /dev/null +++ b/pkg/testdata/models/apis/pipes/0000-00-00/generator-with-union.yaml @@ -0,0 +1,30 @@ +ignore: + resource_names: + # - Pipe + field_paths: + - CreatePipeInput.KmsKeyIdentifier + - CreatePipeInput.LogConfiguration + - PipeTargetParameters.TimestreamParameters +sdk_names: + client_struct: Pipes + client_interface: PipesAPI +resources: + Pipe: + fields: + DesiredState: + compare: + is_ignored: true + SourceParameters: + compare: + is_ignored: true + TargetParameters: + compare: + is_ignored: true + EnrichmentParameters: + compare: + is_ignored: true + StateReason: + is_read_only: true + from: + operation: DescribePipe + path: StateReason