Skip to content

Commit 64c663b

Browse files
committed
r/aws_instance: Move waiters and status function.
1 parent 080d20a commit 64c663b

File tree

2 files changed

+126
-126
lines changed

2 files changed

+126
-126
lines changed

internal/service/ec2/ec2_instance.go

Lines changed: 0 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -3082,132 +3082,6 @@ func terminateInstance(ctx context.Context, conn *ec2.Client, id string, timeout
30823082
return nil
30833083
}
30843084

3085-
func waitInstanceCreated(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
3086-
stateConf := &retry.StateChangeConf{
3087-
Pending: enum.Slice(awstypes.InstanceStateNamePending),
3088-
Target: enum.Slice(awstypes.InstanceStateNameRunning),
3089-
Refresh: statusInstance(ctx, conn, id),
3090-
Timeout: timeout,
3091-
Delay: 10 * time.Second,
3092-
MinTimeout: 3 * time.Second,
3093-
}
3094-
3095-
outputRaw, err := stateConf.WaitForStateContext(ctx)
3096-
3097-
if output, ok := outputRaw.(*awstypes.Instance); ok {
3098-
if stateReason := output.StateReason; stateReason != nil {
3099-
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
3100-
}
3101-
3102-
return output, err
3103-
}
3104-
3105-
return nil, err
3106-
}
3107-
3108-
func waitInstanceDeleted(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
3109-
stateConf := &retry.StateChangeConf{
3110-
Pending: enum.Slice(
3111-
awstypes.InstanceStateNamePending,
3112-
awstypes.InstanceStateNameRunning,
3113-
awstypes.InstanceStateNameShuttingDown,
3114-
awstypes.InstanceStateNameStopping,
3115-
awstypes.InstanceStateNameStopped,
3116-
),
3117-
Target: enum.Slice(awstypes.InstanceStateNameTerminated),
3118-
Refresh: statusInstance(ctx, conn, id),
3119-
Timeout: timeout,
3120-
Delay: 10 * time.Second,
3121-
MinTimeout: 3 * time.Second,
3122-
}
3123-
3124-
outputRaw, err := stateConf.WaitForStateContext(ctx)
3125-
3126-
if output, ok := outputRaw.(*awstypes.Instance); ok {
3127-
if stateReason := output.StateReason; stateReason != nil {
3128-
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
3129-
}
3130-
3131-
return output, err
3132-
}
3133-
3134-
return nil, err
3135-
}
3136-
3137-
func waitInstanceReady(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
3138-
stateConf := &retry.StateChangeConf{
3139-
Pending: enum.Slice(awstypes.InstanceStateNamePending, awstypes.InstanceStateNameStopping),
3140-
Target: enum.Slice(awstypes.InstanceStateNameRunning, awstypes.InstanceStateNameStopped),
3141-
Refresh: statusInstance(ctx, conn, id),
3142-
Timeout: timeout,
3143-
Delay: 10 * time.Second,
3144-
MinTimeout: 3 * time.Second,
3145-
}
3146-
3147-
outputRaw, err := stateConf.WaitForStateContext(ctx)
3148-
3149-
if output, ok := outputRaw.(*awstypes.Instance); ok {
3150-
if stateReason := output.StateReason; stateReason != nil {
3151-
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
3152-
}
3153-
3154-
return output, err
3155-
}
3156-
3157-
return nil, err
3158-
}
3159-
3160-
func waitInstanceStarted(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
3161-
stateConf := &retry.StateChangeConf{
3162-
Pending: enum.Slice(awstypes.InstanceStateNamePending, awstypes.InstanceStateNameStopped),
3163-
Target: enum.Slice(awstypes.InstanceStateNameRunning),
3164-
Refresh: statusInstance(ctx, conn, id),
3165-
Timeout: timeout,
3166-
Delay: 10 * time.Second,
3167-
MinTimeout: 3 * time.Second,
3168-
}
3169-
3170-
outputRaw, err := stateConf.WaitForStateContext(ctx)
3171-
3172-
if output, ok := outputRaw.(*awstypes.Instance); ok {
3173-
if stateReason := output.StateReason; stateReason != nil {
3174-
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
3175-
}
3176-
3177-
return output, err
3178-
}
3179-
3180-
return nil, err
3181-
}
3182-
3183-
func waitInstanceStopped(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
3184-
stateConf := &retry.StateChangeConf{
3185-
Pending: enum.Slice(
3186-
awstypes.InstanceStateNamePending,
3187-
awstypes.InstanceStateNameRunning,
3188-
awstypes.InstanceStateNameShuttingDown,
3189-
awstypes.InstanceStateNameStopping,
3190-
),
3191-
Target: enum.Slice(awstypes.InstanceStateNameStopped),
3192-
Refresh: statusInstance(ctx, conn, id),
3193-
Timeout: timeout,
3194-
Delay: 10 * time.Second,
3195-
MinTimeout: 3 * time.Second,
3196-
}
3197-
3198-
outputRaw, err := stateConf.WaitForStateContext(ctx)
3199-
3200-
if output, ok := outputRaw.(*awstypes.Instance); ok {
3201-
if stateReason := output.StateReason; stateReason != nil {
3202-
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
3203-
}
3204-
3205-
return output, err
3206-
}
3207-
3208-
return nil, err
3209-
}
3210-
32113085
func userDataHashSum(userData string) string {
32123086
// Check whether the user_data is not Base64 encoded.
32133087
// Always calculate hash of base64 decoded value since we

internal/service/ec2/wait.go

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,132 @@ func waitImageDeleted(ctx context.Context, conn *ec2.Client, id string, timeout
652652
return nil, err
653653
}
654654

655+
func waitInstanceCreated(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
656+
stateConf := &retry.StateChangeConf{
657+
Pending: enum.Slice(awstypes.InstanceStateNamePending),
658+
Target: enum.Slice(awstypes.InstanceStateNameRunning),
659+
Refresh: statusInstance(ctx, conn, id),
660+
Timeout: timeout,
661+
Delay: 10 * time.Second,
662+
MinTimeout: 3 * time.Second,
663+
}
664+
665+
outputRaw, err := stateConf.WaitForStateContext(ctx)
666+
667+
if output, ok := outputRaw.(*awstypes.Instance); ok {
668+
if stateReason := output.StateReason; stateReason != nil {
669+
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
670+
}
671+
672+
return output, err
673+
}
674+
675+
return nil, err
676+
}
677+
678+
func waitInstanceDeleted(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
679+
stateConf := &retry.StateChangeConf{
680+
Pending: enum.Slice(
681+
awstypes.InstanceStateNamePending,
682+
awstypes.InstanceStateNameRunning,
683+
awstypes.InstanceStateNameShuttingDown,
684+
awstypes.InstanceStateNameStopping,
685+
awstypes.InstanceStateNameStopped,
686+
),
687+
Target: enum.Slice(awstypes.InstanceStateNameTerminated),
688+
Refresh: statusInstance(ctx, conn, id),
689+
Timeout: timeout,
690+
Delay: 10 * time.Second,
691+
MinTimeout: 3 * time.Second,
692+
}
693+
694+
outputRaw, err := stateConf.WaitForStateContext(ctx)
695+
696+
if output, ok := outputRaw.(*awstypes.Instance); ok {
697+
if stateReason := output.StateReason; stateReason != nil {
698+
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
699+
}
700+
701+
return output, err
702+
}
703+
704+
return nil, err
705+
}
706+
707+
func waitInstanceReady(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
708+
stateConf := &retry.StateChangeConf{
709+
Pending: enum.Slice(awstypes.InstanceStateNamePending, awstypes.InstanceStateNameStopping),
710+
Target: enum.Slice(awstypes.InstanceStateNameRunning, awstypes.InstanceStateNameStopped),
711+
Refresh: statusInstance(ctx, conn, id),
712+
Timeout: timeout,
713+
Delay: 10 * time.Second,
714+
MinTimeout: 3 * time.Second,
715+
}
716+
717+
outputRaw, err := stateConf.WaitForStateContext(ctx)
718+
719+
if output, ok := outputRaw.(*awstypes.Instance); ok {
720+
if stateReason := output.StateReason; stateReason != nil {
721+
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
722+
}
723+
724+
return output, err
725+
}
726+
727+
return nil, err
728+
}
729+
730+
func waitInstanceStarted(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
731+
stateConf := &retry.StateChangeConf{
732+
Pending: enum.Slice(awstypes.InstanceStateNamePending, awstypes.InstanceStateNameStopped),
733+
Target: enum.Slice(awstypes.InstanceStateNameRunning),
734+
Refresh: statusInstance(ctx, conn, id),
735+
Timeout: timeout,
736+
Delay: 10 * time.Second,
737+
MinTimeout: 3 * time.Second,
738+
}
739+
740+
outputRaw, err := stateConf.WaitForStateContext(ctx)
741+
742+
if output, ok := outputRaw.(*awstypes.Instance); ok {
743+
if stateReason := output.StateReason; stateReason != nil {
744+
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
745+
}
746+
747+
return output, err
748+
}
749+
750+
return nil, err
751+
}
752+
753+
func waitInstanceStopped(ctx context.Context, conn *ec2.Client, id string, timeout time.Duration) (*awstypes.Instance, error) {
754+
stateConf := &retry.StateChangeConf{
755+
Pending: enum.Slice(
756+
awstypes.InstanceStateNamePending,
757+
awstypes.InstanceStateNameRunning,
758+
awstypes.InstanceStateNameShuttingDown,
759+
awstypes.InstanceStateNameStopping,
760+
),
761+
Target: enum.Slice(awstypes.InstanceStateNameStopped),
762+
Refresh: statusInstance(ctx, conn, id),
763+
Timeout: timeout,
764+
Delay: 10 * time.Second,
765+
MinTimeout: 3 * time.Second,
766+
}
767+
768+
outputRaw, err := stateConf.WaitForStateContext(ctx)
769+
770+
if output, ok := outputRaw.(*awstypes.Instance); ok {
771+
if stateReason := output.StateReason; stateReason != nil {
772+
tfresource.SetLastError(err, errors.New(aws.ToString(stateReason.Message)))
773+
}
774+
775+
return output, err
776+
}
777+
778+
return nil, err
779+
}
780+
655781
func waitInstanceCapacityReservationSpecificationUpdated(ctx context.Context, conn *ec2.Client, instanceID string, expectedValue *awstypes.CapacityReservationSpecification) (*awstypes.Instance, error) {
656782
stateConf := &retry.StateChangeConf{
657783
Target: enum.Slice(strconv.FormatBool(true)),

0 commit comments

Comments
 (0)