@@ -909,6 +909,13 @@ bet set to True if any of the fields in the spec are set to non-default values.`
909
909
Computed : true ,
910
910
Description : `Time the AccessPolicy was created in UTC.` ,
911
911
},
912
+ "etag" : {
913
+ Type : schema .TypeString ,
914
+ Computed : true ,
915
+ Description : `An opaque identifier for the current version of the ServicePerimeter. This
916
+ identifier does not follow any specific format. If an etag is not provided, the
917
+ operation will be performed as if a valid etag is provided.` ,
918
+ },
912
919
"update_time" : {
913
920
Type : schema .TypeString ,
914
921
Computed : true ,
@@ -963,6 +970,12 @@ func resourceAccessContextManagerServicePerimeterCreate(d *schema.ResourceData,
963
970
} else if v , ok := d .GetOkExists ("use_explicit_dry_run_spec" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (useExplicitDryRunSpecProp )) && (ok || ! reflect .DeepEqual (v , useExplicitDryRunSpecProp )) {
964
971
obj ["useExplicitDryRunSpec" ] = useExplicitDryRunSpecProp
965
972
}
973
+ etagProp , err := expandAccessContextManagerServicePerimeterEtag (d .Get ("etag" ), d , config )
974
+ if err != nil {
975
+ return err
976
+ } else if v , ok := d .GetOkExists ("etag" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (etagProp )) && (ok || ! reflect .DeepEqual (v , etagProp )) {
977
+ obj ["etag" ] = etagProp
978
+ }
966
979
parentProp , err := expandAccessContextManagerServicePerimeterParent (d .Get ("parent" ), d , config )
967
980
if err != nil {
968
981
return err
@@ -1108,6 +1121,9 @@ func resourceAccessContextManagerServicePerimeterRead(d *schema.ResourceData, me
1108
1121
if err := d .Set ("use_explicit_dry_run_spec" , flattenAccessContextManagerServicePerimeterUseExplicitDryRunSpec (res ["useExplicitDryRunSpec" ], d , config )); err != nil {
1109
1122
return fmt .Errorf ("Error reading ServicePerimeter: %s" , err )
1110
1123
}
1124
+ if err := d .Set ("etag" , flattenAccessContextManagerServicePerimeterEtag (res ["etag" ], d , config )); err != nil {
1125
+ return fmt .Errorf ("Error reading ServicePerimeter: %s" , err )
1126
+ }
1111
1127
if err := d .Set ("name" , flattenAccessContextManagerServicePerimeterName (res ["name" ], d , config )); err != nil {
1112
1128
return fmt .Errorf ("Error reading ServicePerimeter: %s" , err )
1113
1129
}
@@ -1155,6 +1171,12 @@ func resourceAccessContextManagerServicePerimeterUpdate(d *schema.ResourceData,
1155
1171
} else if v , ok := d .GetOkExists ("use_explicit_dry_run_spec" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , useExplicitDryRunSpecProp )) {
1156
1172
obj ["useExplicitDryRunSpec" ] = useExplicitDryRunSpecProp
1157
1173
}
1174
+ etagProp , err := expandAccessContextManagerServicePerimeterEtag (d .Get ("etag" ), d , config )
1175
+ if err != nil {
1176
+ return err
1177
+ } else if v , ok := d .GetOkExists ("etag" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , etagProp )) {
1178
+ obj ["etag" ] = etagProp
1179
+ }
1158
1180
1159
1181
obj , err = resourceAccessContextManagerServicePerimeterEncoder (d , meta , obj )
1160
1182
if err != nil {
@@ -1196,12 +1218,21 @@ func resourceAccessContextManagerServicePerimeterUpdate(d *schema.ResourceData,
1196
1218
if d .HasChange ("use_explicit_dry_run_spec" ) {
1197
1219
updateMask = append (updateMask , "useExplicitDryRunSpec" )
1198
1220
}
1221
+
1222
+ if d .HasChange ("etag" ) {
1223
+ updateMask = append (updateMask , "etag" )
1224
+ }
1199
1225
// updateMask is a URL parameter but not present in the schema, so ReplaceVars
1200
1226
// won't set it
1201
1227
url , err = transport_tpg .AddQueryParams (url , map [string ]string {"updateMask" : strings .Join (updateMask , "," )})
1202
1228
if err != nil {
1203
1229
return err
1204
1230
}
1231
+ if _ , ok := d .GetOkExists ("etag" ); ok {
1232
+ updateMask = append (updateMask , "etag" )
1233
+
1234
+ url , err = transport_tpg .AddQueryParams (url , map [string ]string {"updateMask" : strings .Join (updateMask , "," )})
1235
+ }
1205
1236
1206
1237
// err == nil indicates that the billing_project value was found
1207
1238
if bp , err := tpgresource .GetBillingProject (d , config ); err == nil {
@@ -2085,6 +2116,10 @@ func flattenAccessContextManagerServicePerimeterUseExplicitDryRunSpec(v interfac
2085
2116
return v
2086
2117
}
2087
2118
2119
+ func flattenAccessContextManagerServicePerimeterEtag (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
2120
+ return v
2121
+ }
2122
+
2088
2123
func flattenAccessContextManagerServicePerimeterName (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
2089
2124
return v
2090
2125
}
@@ -3173,6 +3208,10 @@ func expandAccessContextManagerServicePerimeterUseExplicitDryRunSpec(v interface
3173
3208
return v , nil
3174
3209
}
3175
3210
3211
+ func expandAccessContextManagerServicePerimeterEtag (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
3212
+ return v , nil
3213
+ }
3214
+
3176
3215
func expandAccessContextManagerServicePerimeterParent (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
3177
3216
return v , nil
3178
3217
}
0 commit comments