@@ -73,12 +73,20 @@ func resourceEventarcTrigger() *schema.Resource {
7373 Description : `` ,
7474 },
7575
76- "project" : {
77- Type : schema .TypeString ,
78- Computed : true ,
76+ "labels" : {
77+ Type : schema .TypeMap ,
7978 Optional : true ,
80- ForceNew : true ,
8179 Description : `` ,
80+ Elem : & schema.Schema {Type : schema .TypeString },
81+ },
82+
83+ "project" : {
84+ Type : schema .TypeString ,
85+ Computed : true ,
86+ Optional : true ,
87+ ForceNew : true ,
88+ DiffSuppressFunc : compareSelfLinkOrResourceName ,
89+ Description : `` ,
8290 },
8391
8492 "service_account" : {
@@ -88,23 +96,26 @@ func resourceEventarcTrigger() *schema.Resource {
8896 Description : `` ,
8997 },
9098
91- "create_time " : {
92- Type : schema .TypeString ,
99+ "transport " : {
100+ Type : schema .TypeList ,
93101 Computed : true ,
102+ Optional : true ,
103+ ForceNew : true ,
94104 Description : `` ,
105+ MaxItems : 1 ,
106+ Elem : EventarcTriggerTransportSchema (),
95107 },
96108
97- "etag " : {
109+ "create_time " : {
98110 Type : schema .TypeString ,
99111 Computed : true ,
100112 Description : `` ,
101113 },
102114
103- "transport " : {
104- Type : schema .TypeList ,
115+ "etag " : {
116+ Type : schema .TypeString ,
105117 Computed : true ,
106118 Description : `` ,
107- Elem : EventarcTriggerTransportSchema (),
108119 },
109120
110121 "update_time" : {
@@ -122,7 +133,6 @@ func EventarcTriggerDestinationSchema() *schema.Resource {
122133 "cloud_run_service" : {
123134 Type : schema .TypeList ,
124135 Optional : true ,
125- ForceNew : true ,
126136 Description : `` ,
127137 MaxItems : 1 ,
128138 Elem : EventarcTriggerDestinationCloudRunServiceSchema (),
@@ -137,23 +147,20 @@ func EventarcTriggerDestinationCloudRunServiceSchema() *schema.Resource {
137147 "service" : {
138148 Type : schema .TypeString ,
139149 Required : true ,
140- ForceNew : true ,
141150 DiffSuppressFunc : compareSelfLinkOrResourceName ,
142151 Description : `` ,
143152 },
144153
145154 "path" : {
146155 Type : schema .TypeString ,
147156 Optional : true ,
148- ForceNew : true ,
149157 Description : `` ,
150158 },
151159
152160 "region" : {
153161 Type : schema .TypeString ,
154162 Computed : true ,
155163 Optional : true ,
156- ForceNew : true ,
157164 Description : `` ,
158165 },
159166 },
@@ -166,14 +173,12 @@ func EventarcTriggerMatchingCriteriaSchema() *schema.Resource {
166173 "attribute" : {
167174 Type : schema .TypeString ,
168175 Required : true ,
169- ForceNew : true ,
170176 Description : `` ,
171177 },
172178
173179 "value" : {
174180 Type : schema .TypeString ,
175181 Required : true ,
176- ForceNew : true ,
177182 Description : `` ,
178183 },
179184 },
@@ -185,8 +190,10 @@ func EventarcTriggerTransportSchema() *schema.Resource {
185190 Schema : map [string ]* schema.Schema {
186191 "pubsub" : {
187192 Type : schema .TypeList ,
188- Computed : true ,
193+ Optional : true ,
194+ ForceNew : true ,
189195 Description : `` ,
196+ MaxItems : 1 ,
190197 Elem : EventarcTriggerTransportPubsubSchema (),
191198 },
192199 },
@@ -196,13 +203,14 @@ func EventarcTriggerTransportSchema() *schema.Resource {
196203func EventarcTriggerTransportPubsubSchema () * schema.Resource {
197204 return & schema.Resource {
198205 Schema : map [string ]* schema.Schema {
199- "subscription " : {
206+ "topic " : {
200207 Type : schema .TypeString ,
201- Computed : true ,
208+ Optional : true ,
209+ ForceNew : true ,
202210 Description : `` ,
203211 },
204212
205- "topic " : {
213+ "subscription " : {
206214 Type : schema .TypeString ,
207215 Computed : true ,
208216 Description : `` ,
@@ -223,8 +231,10 @@ func resourceEventarcTriggerCreate(d *schema.ResourceData, meta interface{}) err
223231 Location : dcl .StringOrNil (d .Get ("location" ).(string )),
224232 MatchingCriteria : expandEventarcTriggerMatchingCriteriaArray (d .Get ("matching_criteria" )),
225233 Name : dcl .StringOrNil (d .Get ("name" ).(string )),
234+ Labels : checkStringMap (d .Get ("labels" )),
226235 Project : dcl .String (project ),
227236 ServiceAccount : dcl .StringOrNil (d .Get ("service_account" ).(string )),
237+ Transport : expandEventarcTriggerTransport (d .Get ("transport" )),
228238 }
229239
230240 id , err := replaceVarsForId (d , config , "projects/{{project}}/locations/{{location}}/triggers/{{name}}" )
@@ -257,8 +267,10 @@ func resourceEventarcTriggerRead(d *schema.ResourceData, meta interface{}) error
257267 Location : dcl .StringOrNil (d .Get ("location" ).(string )),
258268 MatchingCriteria : expandEventarcTriggerMatchingCriteriaArray (d .Get ("matching_criteria" )),
259269 Name : dcl .StringOrNil (d .Get ("name" ).(string )),
270+ Labels : checkStringMap (d .Get ("labels" )),
260271 Project : dcl .String (project ),
261272 ServiceAccount : dcl .StringOrNil (d .Get ("service_account" ).(string )),
273+ Transport : expandEventarcTriggerTransport (d .Get ("transport" )),
262274 }
263275
264276 res , err := config .clientEventarcDCL .GetTrigger (context .Background (), obj )
@@ -280,21 +292,24 @@ func resourceEventarcTriggerRead(d *schema.ResourceData, meta interface{}) error
280292 if err = d .Set ("name" , res .Name ); err != nil {
281293 return fmt .Errorf ("error setting name in state: %s" , err )
282294 }
295+ if err = d .Set ("labels" , res .Labels ); err != nil {
296+ return fmt .Errorf ("error setting labels in state: %s" , err )
297+ }
283298 if err = d .Set ("project" , res .Project ); err != nil {
284299 return fmt .Errorf ("error setting project in state: %s" , err )
285300 }
286301 if err = d .Set ("service_account" , res .ServiceAccount ); err != nil {
287302 return fmt .Errorf ("error setting service_account in state: %s" , err )
288303 }
304+ if err = d .Set ("transport" , flattenEventarcTriggerTransport (res .Transport )); err != nil {
305+ return fmt .Errorf ("error setting transport in state: %s" , err )
306+ }
289307 if err = d .Set ("create_time" , res .CreateTime ); err != nil {
290308 return fmt .Errorf ("error setting create_time in state: %s" , err )
291309 }
292310 if err = d .Set ("etag" , res .Etag ); err != nil {
293311 return fmt .Errorf ("error setting etag in state: %s" , err )
294312 }
295- if err = d .Set ("transport" , flattenEventarcTriggerTransport (res .Transport )); err != nil {
296- return fmt .Errorf ("error setting transport in state: %s" , err )
297- }
298313 if err = d .Set ("update_time" , res .UpdateTime ); err != nil {
299314 return fmt .Errorf ("error setting update_time in state: %s" , err )
300315 }
@@ -313,8 +328,10 @@ func resourceEventarcTriggerUpdate(d *schema.ResourceData, meta interface{}) err
313328 Location : dcl .StringOrNil (d .Get ("location" ).(string )),
314329 MatchingCriteria : expandEventarcTriggerMatchingCriteriaArray (d .Get ("matching_criteria" )),
315330 Name : dcl .StringOrNil (d .Get ("name" ).(string )),
331+ Labels : checkStringMap (d .Get ("labels" )),
316332 Project : dcl .String (project ),
317333 ServiceAccount : dcl .StringOrNil (d .Get ("service_account" ).(string )),
334+ Transport : expandEventarcTriggerTransport (d .Get ("transport" )),
318335 }
319336 directive := UpdateDirective
320337 res , err := config .clientEventarcDCL .ApplyTrigger (context .Background (), obj , directive ... )
@@ -339,8 +356,10 @@ func resourceEventarcTriggerDelete(d *schema.ResourceData, meta interface{}) err
339356 Location : dcl .StringOrNil (d .Get ("location" ).(string )),
340357 MatchingCriteria : expandEventarcTriggerMatchingCriteriaArray (d .Get ("matching_criteria" )),
341358 Name : dcl .StringOrNil (d .Get ("name" ).(string )),
359+ Labels : checkStringMap (d .Get ("labels" )),
342360 Project : dcl .String (project ),
343361 ServiceAccount : dcl .StringOrNil (d .Get ("service_account" ).(string )),
362+ Transport : expandEventarcTriggerTransport (d .Get ("transport" )),
344363 }
345364
346365 log .Printf ("[DEBUG] Deleting Trigger %q" , d .Id ())
@@ -487,6 +506,20 @@ func flattenEventarcTriggerMatchingCriteria(obj *eventarc.TriggerMatchingCriteri
487506
488507}
489508
509+ func expandEventarcTriggerTransport (o interface {}) * eventarc.TriggerTransport {
510+ if o == nil {
511+ return nil
512+ }
513+ objArr := o .([]interface {})
514+ if len (objArr ) == 0 {
515+ return nil
516+ }
517+ obj := objArr [0 ].(map [string ]interface {})
518+ return & eventarc.TriggerTransport {
519+ Pubsub : expandEventarcTriggerTransportPubsub (obj ["pubsub" ]),
520+ }
521+ }
522+
490523func flattenEventarcTriggerTransport (obj * eventarc.TriggerTransport ) interface {} {
491524 if obj == nil {
492525 return nil
@@ -499,13 +532,27 @@ func flattenEventarcTriggerTransport(obj *eventarc.TriggerTransport) interface{}
499532
500533}
501534
535+ func expandEventarcTriggerTransportPubsub (o interface {}) * eventarc.TriggerTransportPubsub {
536+ if o == nil {
537+ return nil
538+ }
539+ objArr := o .([]interface {})
540+ if len (objArr ) == 0 {
541+ return nil
542+ }
543+ obj := objArr [0 ].(map [string ]interface {})
544+ return & eventarc.TriggerTransportPubsub {
545+ Topic : dcl .StringOrNil (obj ["topic" ].(string )),
546+ }
547+ }
548+
502549func flattenEventarcTriggerTransportPubsub (obj * eventarc.TriggerTransportPubsub ) interface {} {
503550 if obj == nil {
504551 return nil
505552 }
506553 transformed := map [string ]interface {}{
507- "subscription" : obj .Subscription ,
508554 "topic" : obj .Topic ,
555+ "subscription" : obj .Subscription ,
509556 }
510557
511558 return []interface {}{transformed }
0 commit comments