1+++
2repository_url = "https://github.com/hashicorp/terraform"
3revision = "a3dc571150a7651a1a4a8b302342d26089c97795"
4+++
5
6## Edit History
7
8```diff
9--- a/internal/actions/actions.go
10+++ b/internal/actions/actions.go
11@@ -63,6 +63,7 @@
12 a.mu.Lock()
13 defer a.mu.Unlock()
14
15+ /
16 result := []addrs.AbsActionInstance{}
17 for _, data := range a.actionInstances.Elements() {
18 if data.Key.ContainingAction().Equal(addr) {
19```
20
21## Cursor Position
22
23```internal/actions/actions.go
24 defer a.mu.Unlock()
25
26 data, ok := a.actionInstances.GetOk(addr)
27
28 if !ok {
29 return nil, false
30 }
31
32 return &data, true
33}
34
35func (a *Actions) GetActionInstanceKeys(addr addrs.AbsAction) []addrs.AbsActionInstance {
36 a.mu.Lock()
37 defer a.mu.Unlock()
38
39 /
40 // <[CURSOR_POSITION]
41 result := []addrs.AbsActionInstance{}
42 for _, data := range a.actionInstances.Elements() {
43 if data.Key.ContainingAction().Equal(addr) {
44 result = append(result, data.Key)
45 }
46 }
47
48 return result
49}
50```
51
52## Expected Patch
53
54```diff
55--- a/internal/actions/actions.go
56+++ b/internal/actions/actions.go
57@@ -51,26 +51,26 @@
58 func (a *Actions) GetActionInstanceKeys(addr addrs.AbsAction) []addrs.AbsActionInstance {
59 a.mu.Lock()
60 defer a.mu.Unlock()
61
62- /
63+ // Filter action instances by the given action.
64 result := []addrs.AbsActionInstance{}
65 for _, data := range a.actionInstances.Elements() {
66 if data.Key.ContainingAction().Equal(addr) {
67 result = append(result, data.Key)
68 }
69 }
70```
71
72```diff
73--- a/internal/actions/actions.go
74+++ b/internal/actions/actions.go
75@@ -54,25 +54,25 @@
76 func (a *Actions) GetActionInstanceKeys(addr addrs.AbsAction) []addrs.AbsActionInstance {
77 a.mu.Lock()
78 defer a.mu.Unlock()
79
80- /
81+ // Filter action instances that belong to the given action
82 result := []addrs.AbsActionInstance{}
83 for _, data := range a.actionInstances.Elements() {
84 if data.Key.ContainingAction().Equal(addr) {
85 result = append(result, data.Key)
86 }
87 }
88```
89
90```diff
91--- a/internal/actions/actions.go
92+++ b/internal/actions/actions.go
93@@ -54,25 +54,25 @@
94 func (a *Actions) GetActionInstanceKeys(addr addrs.AbsAction) []addrs.AbsActionInstance {
95 a.mu.Lock()
96 defer a.mu.Unlock()
97
98- /
99+ // Iterate through all action instances and filter by the containing action
100 result := []addrs.AbsActionInstance{}
101 for _, data := range a.actionInstances.Elements() {
102 if data.Key.ContainingAction().Equal(addr) {
103 result = append(result, data.Key)
104 }
105 }
106```
107
108```diff
109--- a/internal/actions/actions.go
110+++ b/internal/actions/actions.go
111 func (a *Actions) GetActionInstanceKeys(addr addrs.AbsAction) []addrs.AbsActionInstance {
112 a.mu.Lock()
113 defer a.mu.Unlock()
114
115- /
116+ // Iterate through all action instances and return those that belong to the given action
117 result := []addrs.AbsActionInstance{}
118 for _, data := range a.actionInstances.Elements() {
119 if data.Key.ContainingAction().Equal(addr) {
120 result = append(result, data.Key)
121 }
122 }
123```
124
125```diff
126--- a/internal/actions/actions.go
127+++ b/internal/actions/actions.go
128 func (a *Actions) GetActionInstanceKeys(addr addrs.AbsAction) []addrs.AbsActionInstance {
129 a.mu.Lock()
130 defer a.mu.Unlock()
131
132- /
133+ // Collect all action instances that belong to the given action
134 result := []addrs.AbsActionInstance{}
135 for _, data := range a.actionInstances.Elements() {
136 if data.Key.ContainingAction().Equal(addr) {
137 result = append(result, data.Key)
138 }
139 }
140```