Skip to content

Commit 73ea82c

Browse files
authored
fix: Array types (#587)
GCP: `metadata`, `binary_data` and `etag` fields are being switched from `IntArray` to `ByteArray` K8s: `spec_request`, `status_certificate` switched from `IntArray` to `ByteArray` AWS: `aws_amp_workspaces.data`, `aws_iam_virtual_mfa_devices.base32_string_seed` and `qr_code_png` Azure: No changes
1 parent a54dbe7 commit 73ea82c

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

transformers/struct.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,11 +299,23 @@ func defaultGoTypeToSchemaType(v reflect.Type) (schema.ValueType, error) {
299299
}
300300
return schema.TypeJSON, nil
301301
case reflect.Slice:
302+
if v.Elem().Kind() == reflect.Uint8 {
303+
return schema.TypeByteArray, nil
304+
}
305+
302306
switch elemValueType, _ := defaultGoTypeToSchemaType(v.Elem()); elemValueType {
303307
case schema.TypeString:
304308
return schema.TypeStringArray, nil
305309
case schema.TypeInt:
306310
return schema.TypeIntArray, nil
311+
case schema.TypeCIDR:
312+
return schema.TypeCIDRArray, nil
313+
case schema.TypeUUID:
314+
return schema.TypeUUIDArray, nil
315+
case schema.TypeInet:
316+
return schema.TypeInetArray, nil
317+
case schema.TypeMacAddr:
318+
return schema.TypeMacAddrArray, nil
307319
default:
308320
return schema.TypeJSON, nil
309321
}

transformers/struct_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ type (
3131
StringArrayCol []string `json:"string_array_col,omitempty"`
3232
StringPointerArrayCol []*string `json:"string_pointer_array_col,omitempty"`
3333

34+
ByteArrayCol []byte `json:"byte_array_col,omitempty"`
35+
3436
TimeCol time.Time `json:"time_col,omitempty"`
3537
TimePointerCol *time.Time `json:"time_pointer_col,omitempty"`
3638
JSONTag *string `json:"json_tag"`
@@ -94,6 +96,10 @@ var (
9496
Name: "string_pointer_array_col",
9597
Type: schema.TypeStringArray,
9698
},
99+
{
100+
Name: "byte_array_col",
101+
Type: schema.TypeByteArray,
102+
},
97103
{
98104
Name: "time_col",
99105
Type: schema.TypeTimestamp,

0 commit comments

Comments
 (0)