@@ -3273,6 +3273,336 @@ func TestSetResource_EC2_DHCPOptions_NestedSetConfig(t *testing.T) {
3273
3273
)
3274
3274
}
3275
3275
3276
+ func TestSetResource_EventBridge_Rule_SetResourceForStruct (t * testing.T ) {
3277
+ assert := assert .New (t )
3278
+ require := require .New (t )
3279
+
3280
+ g := testutil .NewModelForService (t , "eventbridge" )
3281
+
3282
+ crd := testutil .GetCRDByName (t , g , "Rule" )
3283
+ require .NotNil (crd )
3284
+
3285
+ // Getting CRD Target shape
3286
+ field , ok := crd .SpecFields ["Targets" ]
3287
+ require .True (ok )
3288
+ koShape := & field .ShapeRef .Shape .MemberRef
3289
+
3290
+ // Getting SDK Target shape
3291
+ putTargetsOP , ok := g .SDKAPI .API .Operations ["PutTargets" ]
3292
+ require .True (ok )
3293
+ targetsShape , ok := putTargetsOP .InputRef .Shape .MemberRefs ["Targets" ]
3294
+ require .True (ok )
3295
+ targetShape := & targetsShape .Shape .MemberRef
3296
+
3297
+ expected := ` if resp.Arn != nil {
3298
+ fx.ARN = resp.Arn
3299
+ }
3300
+ if resp.BatchParameters != nil {
3301
+ fxf1 := &svcapitypes.BatchParameters{}
3302
+ if resp.BatchParameters.ArrayProperties != nil {
3303
+ fxf1f0 := &svcapitypes.BatchArrayProperties{}
3304
+ if resp.BatchParameters.ArrayProperties.Size != nil {
3305
+ fxf1f0.Size = resp.BatchParameters.ArrayProperties.Size
3306
+ }
3307
+ fxf1.ArrayProperties = fxf1f0
3308
+ }
3309
+ if resp.BatchParameters.JobDefinition != nil {
3310
+ fxf1.JobDefinition = resp.BatchParameters.JobDefinition
3311
+ }
3312
+ if resp.BatchParameters.JobName != nil {
3313
+ fxf1.JobName = resp.BatchParameters.JobName
3314
+ }
3315
+ if resp.BatchParameters.RetryStrategy != nil {
3316
+ fxf1f3 := &svcapitypes.BatchRetryStrategy{}
3317
+ if resp.BatchParameters.RetryStrategy.Attempts != nil {
3318
+ fxf1f3.Attempts = resp.BatchParameters.RetryStrategy.Attempts
3319
+ }
3320
+ fxf1.RetryStrategy = fxf1f3
3321
+ }
3322
+ fx.BatchParameters = fxf1
3323
+ }
3324
+ if resp.DeadLetterConfig != nil {
3325
+ fxf2 := &svcapitypes.DeadLetterConfig{}
3326
+ if resp.DeadLetterConfig.Arn != nil {
3327
+ fxf2.ARN = resp.DeadLetterConfig.Arn
3328
+ }
3329
+ fx.DeadLetterConfig = fxf2
3330
+ }
3331
+ if resp.EcsParameters != nil {
3332
+ fxf3 := &svcapitypes.EcsParameters{}
3333
+ if resp.EcsParameters.CapacityProviderStrategy != nil {
3334
+ fxf3f0 := []*svcapitypes.CapacityProviderStrategyItem{}
3335
+ for _, fxf3f0iter := range resp.EcsParameters.CapacityProviderStrategy {
3336
+ fxf3f0elem := &svcapitypes.CapacityProviderStrategyItem{}
3337
+ if fxf3f0iter.Base != nil {
3338
+ fxf3f0elem.Base = fxf3f0iter.Base
3339
+ }
3340
+ if fxf3f0iter.CapacityProvider != nil {
3341
+ fxf3f0elem.CapacityProvider = fxf3f0iter.CapacityProvider
3342
+ }
3343
+ if fxf3f0iter.Weight != nil {
3344
+ fxf3f0elem.Weight = fxf3f0iter.Weight
3345
+ }
3346
+ fxf3f0 = append(fxf3f0, fxf3f0elem)
3347
+ }
3348
+ fxf3.CapacityProviderStrategy = fxf3f0
3349
+ }
3350
+ if resp.EcsParameters.EnableECSManagedTags != nil {
3351
+ fxf3.EnableECSManagedTags = resp.EcsParameters.EnableECSManagedTags
3352
+ }
3353
+ if resp.EcsParameters.EnableExecuteCommand != nil {
3354
+ fxf3.EnableExecuteCommand = resp.EcsParameters.EnableExecuteCommand
3355
+ }
3356
+ if resp.EcsParameters.Group != nil {
3357
+ fxf3.Group = resp.EcsParameters.Group
3358
+ }
3359
+ if resp.EcsParameters.LaunchType != nil {
3360
+ fxf3.LaunchType = resp.EcsParameters.LaunchType
3361
+ }
3362
+ if resp.EcsParameters.NetworkConfiguration != nil {
3363
+ fxf3f5 := &svcapitypes.NetworkConfiguration{}
3364
+ if resp.EcsParameters.NetworkConfiguration.AwsvpcConfiguration != nil {
3365
+ fxf3f5f0 := &svcapitypes.AWSVPCConfiguration{}
3366
+ if resp.EcsParameters.NetworkConfiguration.AwsvpcConfiguration.AssignPublicIp != nil {
3367
+ fxf3f5f0.AssignPublicIP = resp.EcsParameters.NetworkConfiguration.AwsvpcConfiguration.AssignPublicIp
3368
+ }
3369
+ if resp.EcsParameters.NetworkConfiguration.AwsvpcConfiguration.SecurityGroups != nil {
3370
+ fxf3f5f0f1 := []*string{}
3371
+ for _, fxf3f5f0f1iter := range resp.EcsParameters.NetworkConfiguration.AwsvpcConfiguration.SecurityGroups {
3372
+ var fxf3f5f0f1elem string
3373
+ fxf3f5f0f1elem = *fxf3f5f0f1iter
3374
+ fxf3f5f0f1 = append(fxf3f5f0f1, &fxf3f5f0f1elem)
3375
+ }
3376
+ fxf3f5f0.SecurityGroups = fxf3f5f0f1
3377
+ }
3378
+ if resp.EcsParameters.NetworkConfiguration.AwsvpcConfiguration.Subnets != nil {
3379
+ fxf3f5f0f2 := []*string{}
3380
+ for _, fxf3f5f0f2iter := range resp.EcsParameters.NetworkConfiguration.AwsvpcConfiguration.Subnets {
3381
+ var fxf3f5f0f2elem string
3382
+ fxf3f5f0f2elem = *fxf3f5f0f2iter
3383
+ fxf3f5f0f2 = append(fxf3f5f0f2, &fxf3f5f0f2elem)
3384
+ }
3385
+ fxf3f5f0.Subnets = fxf3f5f0f2
3386
+ }
3387
+ fxf3f5.AWSvpcConfiguration = fxf3f5f0
3388
+ }
3389
+ fxf3.NetworkConfiguration = fxf3f5
3390
+ }
3391
+ if resp.EcsParameters.PlacementConstraints != nil {
3392
+ fxf3f6 := []*svcapitypes.PlacementConstraint{}
3393
+ for _, fxf3f6iter := range resp.EcsParameters.PlacementConstraints {
3394
+ fxf3f6elem := &svcapitypes.PlacementConstraint{}
3395
+ if fxf3f6iter.Expression != nil {
3396
+ fxf3f6elem.Expression = fxf3f6iter.Expression
3397
+ }
3398
+ if fxf3f6iter.Type != nil {
3399
+ fxf3f6elem.Type = fxf3f6iter.Type
3400
+ }
3401
+ fxf3f6 = append(fxf3f6, fxf3f6elem)
3402
+ }
3403
+ fxf3.PlacementConstraints = fxf3f6
3404
+ }
3405
+ if resp.EcsParameters.PlacementStrategy != nil {
3406
+ fxf3f7 := []*svcapitypes.PlacementStrategy{}
3407
+ for _, fxf3f7iter := range resp.EcsParameters.PlacementStrategy {
3408
+ fxf3f7elem := &svcapitypes.PlacementStrategy{}
3409
+ if fxf3f7iter.Field != nil {
3410
+ fxf3f7elem.Field = fxf3f7iter.Field
3411
+ }
3412
+ if fxf3f7iter.Type != nil {
3413
+ fxf3f7elem.Type = fxf3f7iter.Type
3414
+ }
3415
+ fxf3f7 = append(fxf3f7, fxf3f7elem)
3416
+ }
3417
+ fxf3.PlacementStrategy = fxf3f7
3418
+ }
3419
+ if resp.EcsParameters.PlatformVersion != nil {
3420
+ fxf3.PlatformVersion = resp.EcsParameters.PlatformVersion
3421
+ }
3422
+ if resp.EcsParameters.PropagateTags != nil {
3423
+ fxf3.PropagateTags = resp.EcsParameters.PropagateTags
3424
+ }
3425
+ if resp.EcsParameters.ReferenceId != nil {
3426
+ fxf3.ReferenceID = resp.EcsParameters.ReferenceId
3427
+ }
3428
+ if resp.EcsParameters.Tags != nil {
3429
+ fxf3f11 := []*svcapitypes.Tag{}
3430
+ for _, fxf3f11iter := range resp.EcsParameters.Tags {
3431
+ fxf3f11elem := &svcapitypes.Tag{}
3432
+ if fxf3f11iter.Key != nil {
3433
+ fxf3f11elem.Key = fxf3f11iter.Key
3434
+ }
3435
+ if fxf3f11iter.Value != nil {
3436
+ fxf3f11elem.Value = fxf3f11iter.Value
3437
+ }
3438
+ fxf3f11 = append(fxf3f11, fxf3f11elem)
3439
+ }
3440
+ fxf3.Tags = fxf3f11
3441
+ }
3442
+ if resp.EcsParameters.TaskCount != nil {
3443
+ fxf3.TaskCount = resp.EcsParameters.TaskCount
3444
+ }
3445
+ if resp.EcsParameters.TaskDefinitionArn != nil {
3446
+ fxf3.TaskDefinitionARN = resp.EcsParameters.TaskDefinitionArn
3447
+ }
3448
+ fx.EcsParameters = fxf3
3449
+ }
3450
+ if resp.HttpParameters != nil {
3451
+ fxf4 := &svcapitypes.HTTPParameters{}
3452
+ if resp.HttpParameters.HeaderParameters != nil {
3453
+ fxf4f0 := map[string]*string{}
3454
+ for fxf4f0key, fxf4f0valiter := range resp.HttpParameters.HeaderParameters {
3455
+ var fxf4f0val string
3456
+ fxf4f0val = *fxf4f0valiter
3457
+ fxf4f0[fxf4f0key] = &fxf4f0val
3458
+ }
3459
+ fxf4.HeaderParameters = fxf4f0
3460
+ }
3461
+ if resp.HttpParameters.PathParameterValues != nil {
3462
+ fxf4f1 := []*string{}
3463
+ for _, fxf4f1iter := range resp.HttpParameters.PathParameterValues {
3464
+ var fxf4f1elem string
3465
+ fxf4f1elem = *fxf4f1iter
3466
+ fxf4f1 = append(fxf4f1, &fxf4f1elem)
3467
+ }
3468
+ fxf4.PathParameterValues = fxf4f1
3469
+ }
3470
+ if resp.HttpParameters.QueryStringParameters != nil {
3471
+ fxf4f2 := map[string]*string{}
3472
+ for fxf4f2key, fxf4f2valiter := range resp.HttpParameters.QueryStringParameters {
3473
+ var fxf4f2val string
3474
+ fxf4f2val = *fxf4f2valiter
3475
+ fxf4f2[fxf4f2key] = &fxf4f2val
3476
+ }
3477
+ fxf4.QueryStringParameters = fxf4f2
3478
+ }
3479
+ fx.HTTPParameters = fxf4
3480
+ }
3481
+ if resp.Id != nil {
3482
+ fx.ID = resp.Id
3483
+ }
3484
+ if resp.Input != nil {
3485
+ fx.Input = resp.Input
3486
+ }
3487
+ if resp.InputPath != nil {
3488
+ fx.InputPath = resp.InputPath
3489
+ }
3490
+ if resp.InputTransformer != nil {
3491
+ fxf8 := &svcapitypes.InputTransformer{}
3492
+ if resp.InputTransformer.InputPathsMap != nil {
3493
+ fxf8f0 := map[string]*string{}
3494
+ for fxf8f0key, fxf8f0valiter := range resp.InputTransformer.InputPathsMap {
3495
+ var fxf8f0val string
3496
+ fxf8f0val = *fxf8f0valiter
3497
+ fxf8f0[fxf8f0key] = &fxf8f0val
3498
+ }
3499
+ fxf8.InputPathsMap = fxf8f0
3500
+ }
3501
+ if resp.InputTransformer.InputTemplate != nil {
3502
+ fxf8.InputTemplate = resp.InputTransformer.InputTemplate
3503
+ }
3504
+ fx.InputTransformer = fxf8
3505
+ }
3506
+ if resp.KinesisParameters != nil {
3507
+ fxf9 := &svcapitypes.KinesisParameters{}
3508
+ if resp.KinesisParameters.PartitionKeyPath != nil {
3509
+ fxf9.PartitionKeyPath = resp.KinesisParameters.PartitionKeyPath
3510
+ }
3511
+ fx.KinesisParameters = fxf9
3512
+ }
3513
+ if resp.RedshiftDataParameters != nil {
3514
+ fxf10 := &svcapitypes.RedshiftDataParameters{}
3515
+ if resp.RedshiftDataParameters.Database != nil {
3516
+ fxf10.Database = resp.RedshiftDataParameters.Database
3517
+ }
3518
+ if resp.RedshiftDataParameters.DbUser != nil {
3519
+ fxf10.DBUser = resp.RedshiftDataParameters.DbUser
3520
+ }
3521
+ if resp.RedshiftDataParameters.SecretManagerArn != nil {
3522
+ fxf10.SecretManagerARN = resp.RedshiftDataParameters.SecretManagerArn
3523
+ }
3524
+ if resp.RedshiftDataParameters.Sql != nil {
3525
+ fxf10.Sql = resp.RedshiftDataParameters.Sql
3526
+ }
3527
+ if resp.RedshiftDataParameters.StatementName != nil {
3528
+ fxf10.StatementName = resp.RedshiftDataParameters.StatementName
3529
+ }
3530
+ if resp.RedshiftDataParameters.WithEvent != nil {
3531
+ fxf10.WithEvent = resp.RedshiftDataParameters.WithEvent
3532
+ }
3533
+ fx.RedshiftDataParameters = fxf10
3534
+ }
3535
+ if resp.RetryPolicy != nil {
3536
+ fxf11 := &svcapitypes.RetryPolicy{}
3537
+ if resp.RetryPolicy.MaximumEventAgeInSeconds != nil {
3538
+ fxf11.MaximumEventAgeInSeconds = resp.RetryPolicy.MaximumEventAgeInSeconds
3539
+ }
3540
+ if resp.RetryPolicy.MaximumRetryAttempts != nil {
3541
+ fxf11.MaximumRetryAttempts = resp.RetryPolicy.MaximumRetryAttempts
3542
+ }
3543
+ fx.RetryPolicy = fxf11
3544
+ }
3545
+ if resp.RoleArn != nil {
3546
+ fx.RoleARN = resp.RoleArn
3547
+ }
3548
+ if resp.RunCommandParameters != nil {
3549
+ fxf13 := &svcapitypes.RunCommandParameters{}
3550
+ if resp.RunCommandParameters.RunCommandTargets != nil {
3551
+ fxf13f0 := []*svcapitypes.RunCommandTarget{}
3552
+ for _, fxf13f0iter := range resp.RunCommandParameters.RunCommandTargets {
3553
+ fxf13f0elem := &svcapitypes.RunCommandTarget{}
3554
+ if fxf13f0iter.Key != nil {
3555
+ fxf13f0elem.Key = fxf13f0iter.Key
3556
+ }
3557
+ if fxf13f0iter.Values != nil {
3558
+ fxf13f0elemf1 := []*string{}
3559
+ for _, fxf13f0elemf1iter := range fxf13f0iter.Values {
3560
+ var fxf13f0elemf1elem string
3561
+ fxf13f0elemf1elem = *fxf13f0elemf1iter
3562
+ fxf13f0elemf1 = append(fxf13f0elemf1, &fxf13f0elemf1elem)
3563
+ }
3564
+ fxf13f0elem.Values = fxf13f0elemf1
3565
+ }
3566
+ fxf13f0 = append(fxf13f0, fxf13f0elem)
3567
+ }
3568
+ fxf13.RunCommandTargets = fxf13f0
3569
+ }
3570
+ fx.RunCommandParameters = fxf13
3571
+ }
3572
+ if resp.SageMakerPipelineParameters != nil {
3573
+ fxf14 := &svcapitypes.SageMakerPipelineParameters{}
3574
+ if resp.SageMakerPipelineParameters.PipelineParameterList != nil {
3575
+ fxf14f0 := []*svcapitypes.SageMakerPipelineParameter{}
3576
+ for _, fxf14f0iter := range resp.SageMakerPipelineParameters.PipelineParameterList {
3577
+ fxf14f0elem := &svcapitypes.SageMakerPipelineParameter{}
3578
+ if fxf14f0iter.Name != nil {
3579
+ fxf14f0elem.Name = fxf14f0iter.Name
3580
+ }
3581
+ if fxf14f0iter.Value != nil {
3582
+ fxf14f0elem.Value = fxf14f0iter.Value
3583
+ }
3584
+ fxf14f0 = append(fxf14f0, fxf14f0elem)
3585
+ }
3586
+ fxf14.PipelineParameterList = fxf14f0
3587
+ }
3588
+ fx.SageMakerPipelineParameters = fxf14
3589
+ }
3590
+ if resp.SqsParameters != nil {
3591
+ fxf15 := &svcapitypes.SQSParameters{}
3592
+ if resp.SqsParameters.MessageGroupId != nil {
3593
+ fxf15.MessageGroupID = resp.SqsParameters.MessageGroupId
3594
+ }
3595
+ fx.SQSParameters = fxf15
3596
+ }
3597
+ `
3598
+ assert .Equal (
3599
+ expected ,
3600
+ code .SetResourceForStruct (
3601
+ crd .Config (), crd , "fx" , koShape , nil , "resp" , targetShape , "" , model .OpTypeList , 1 ,
3602
+ ),
3603
+ )
3604
+ }
3605
+
3276
3606
func TestSetResource_EC2_Instance_Create (t * testing.T ) {
3277
3607
// Check that the RunInstances output (Reservation)
3278
3608
// uses the first element of the returned list of Instances
0 commit comments