tfplan2cai/converters/google/resources/services/compute/compute_image.go (611 lines of code) (raw):

// ---------------------------------------------------------------------------- // // *** AUTO GENERATED CODE *** Type: MMv1 *** // // ---------------------------------------------------------------------------- // // This code is generated by Magic Modules using the following: // // Configuration: https://github.com/GoogleCloudPlatform/magic-modules/tree/main/mmv1/products/compute/Image.yaml // Template: https://github.com/GoogleCloudPlatform/magic-modules/tree/main/mmv1/templates/tgc/resource_converter.go.tmpl // // DO NOT EDIT this file directly. Any changes made to this file will be // overwritten during the next generation cycle. // // ---------------------------------------------------------------------------- package compute import ( "fmt" "reflect" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/GoogleCloudPlatform/terraform-google-conversion/v6/tfplan2cai/converters/google/resources/cai" "github.com/hashicorp/terraform-provider-google-beta/google-beta/tpgresource" transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport" ) const ComputeImageAssetType string = "compute.googleapis.com/Image" func ResourceConverterComputeImage() cai.ResourceConverter { return cai.ResourceConverter{ AssetType: ComputeImageAssetType, Convert: GetComputeImageCaiObject, } } func GetComputeImageCaiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) ([]cai.Asset, error) { name, err := cai.AssetName(d, config, "//compute.googleapis.com/projects/{{project}}/global/images/{{name}}") if err != nil { return []cai.Asset{}, err } if obj, err := GetComputeImageApiObject(d, config); err == nil { return []cai.Asset{{ Name: name, Type: ComputeImageAssetType, Resource: &cai.AssetResource{ Version: "beta", DiscoveryDocumentURI: "https://www.googleapis.com/discovery/v1/apis/compute/beta/rest", DiscoveryName: "Image", Data: obj, }, }}, nil } else { return []cai.Asset{}, err } } func GetComputeImageApiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]interface{}, error) { obj := make(map[string]interface{}) descriptionProp, err := expandComputeImageDescription(d.Get("description"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("description"); !tpgresource.IsEmptyValue(reflect.ValueOf(descriptionProp)) && (ok || !reflect.DeepEqual(v, descriptionProp)) { obj["description"] = descriptionProp } storageLocationsProp, err := expandComputeImageStorageLocations(d.Get("storage_locations"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("storage_locations"); !tpgresource.IsEmptyValue(reflect.ValueOf(storageLocationsProp)) && (ok || !reflect.DeepEqual(v, storageLocationsProp)) { obj["storageLocations"] = storageLocationsProp } diskSizeGbProp, err := expandComputeImageDiskSizeGb(d.Get("disk_size_gb"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("disk_size_gb"); !tpgresource.IsEmptyValue(reflect.ValueOf(diskSizeGbProp)) && (ok || !reflect.DeepEqual(v, diskSizeGbProp)) { obj["diskSizeGb"] = diskSizeGbProp } familyProp, err := expandComputeImageFamily(d.Get("family"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("family"); !tpgresource.IsEmptyValue(reflect.ValueOf(familyProp)) && (ok || !reflect.DeepEqual(v, familyProp)) { obj["family"] = familyProp } guestOsFeaturesProp, err := expandComputeImageGuestOsFeatures(d.Get("guest_os_features"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("guest_os_features"); !tpgresource.IsEmptyValue(reflect.ValueOf(guestOsFeaturesProp)) && (ok || !reflect.DeepEqual(v, guestOsFeaturesProp)) { obj["guestOsFeatures"] = guestOsFeaturesProp } imageEncryptionKeyProp, err := expandComputeImageImageEncryptionKey(d.Get("image_encryption_key"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("image_encryption_key"); !tpgresource.IsEmptyValue(reflect.ValueOf(imageEncryptionKeyProp)) && (ok || !reflect.DeepEqual(v, imageEncryptionKeyProp)) { obj["imageEncryptionKey"] = imageEncryptionKeyProp } labelFingerprintProp, err := expandComputeImageLabelFingerprint(d.Get("label_fingerprint"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("label_fingerprint"); !tpgresource.IsEmptyValue(reflect.ValueOf(labelFingerprintProp)) && (ok || !reflect.DeepEqual(v, labelFingerprintProp)) { obj["labelFingerprint"] = labelFingerprintProp } licensesProp, err := expandComputeImageLicenses(d.Get("licenses"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("licenses"); !tpgresource.IsEmptyValue(reflect.ValueOf(licensesProp)) && (ok || !reflect.DeepEqual(v, licensesProp)) { obj["licenses"] = licensesProp } nameProp, err := expandComputeImageName(d.Get("name"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("name"); !tpgresource.IsEmptyValue(reflect.ValueOf(nameProp)) && (ok || !reflect.DeepEqual(v, nameProp)) { obj["name"] = nameProp } rawDiskProp, err := expandComputeImageRawDisk(d.Get("raw_disk"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("raw_disk"); !tpgresource.IsEmptyValue(reflect.ValueOf(rawDiskProp)) && (ok || !reflect.DeepEqual(v, rawDiskProp)) { obj["rawDisk"] = rawDiskProp } sourceDiskProp, err := expandComputeImageSourceDisk(d.Get("source_disk"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("source_disk"); !tpgresource.IsEmptyValue(reflect.ValueOf(sourceDiskProp)) && (ok || !reflect.DeepEqual(v, sourceDiskProp)) { obj["sourceDisk"] = sourceDiskProp } sourceDiskEncryptionKeyProp, err := expandComputeImageSourceDiskEncryptionKey(d.Get("source_disk_encryption_key"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("source_disk_encryption_key"); !tpgresource.IsEmptyValue(reflect.ValueOf(sourceDiskEncryptionKeyProp)) && (ok || !reflect.DeepEqual(v, sourceDiskEncryptionKeyProp)) { obj["sourceDiskEncryptionKey"] = sourceDiskEncryptionKeyProp } sourceImageProp, err := expandComputeImageSourceImage(d.Get("source_image"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("source_image"); !tpgresource.IsEmptyValue(reflect.ValueOf(sourceImageProp)) && (ok || !reflect.DeepEqual(v, sourceImageProp)) { obj["sourceImage"] = sourceImageProp } sourceImageEncryptionKeyProp, err := expandComputeImageSourceImageEncryptionKey(d.Get("source_image_encryption_key"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("source_image_encryption_key"); !tpgresource.IsEmptyValue(reflect.ValueOf(sourceImageEncryptionKeyProp)) && (ok || !reflect.DeepEqual(v, sourceImageEncryptionKeyProp)) { obj["sourceImageEncryptionKey"] = sourceImageEncryptionKeyProp } sourceSnapshotProp, err := expandComputeImageSourceSnapshot(d.Get("source_snapshot"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("source_snapshot"); !tpgresource.IsEmptyValue(reflect.ValueOf(sourceSnapshotProp)) && (ok || !reflect.DeepEqual(v, sourceSnapshotProp)) { obj["sourceSnapshot"] = sourceSnapshotProp } shieldedInstanceInitialStateProp, err := expandComputeImageShieldedInstanceInitialState(d.Get("shielded_instance_initial_state"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("shielded_instance_initial_state"); !tpgresource.IsEmptyValue(reflect.ValueOf(shieldedInstanceInitialStateProp)) && (ok || !reflect.DeepEqual(v, shieldedInstanceInitialStateProp)) { obj["shieldedInstanceInitialState"] = shieldedInstanceInitialStateProp } sourceSnapshotEncryptionKeyProp, err := expandComputeImageSourceSnapshotEncryptionKey(d.Get("source_snapshot_encryption_key"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("source_snapshot_encryption_key"); !tpgresource.IsEmptyValue(reflect.ValueOf(sourceSnapshotEncryptionKeyProp)) && (ok || !reflect.DeepEqual(v, sourceSnapshotEncryptionKeyProp)) { obj["sourceSnapshotEncryptionKey"] = sourceSnapshotEncryptionKeyProp } labelsProp, err := expandComputeImageEffectiveLabels(d.Get("effective_labels"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("effective_labels"); !tpgresource.IsEmptyValue(reflect.ValueOf(labelsProp)) && (ok || !reflect.DeepEqual(v, labelsProp)) { obj["labels"] = labelsProp } return obj, nil } func expandComputeImageDescription(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageStorageLocations(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageDiskSizeGb(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageFamily(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageGuestOsFeatures(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { v = v.(*schema.Set).List() l := v.([]interface{}) req := make([]interface{}, 0, len(l)) for _, raw := range l { if raw == nil { continue } original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedType, err := expandComputeImageGuestOsFeaturesType(original["type"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedType); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["type"] = transformedType } req = append(req, transformed) } return req, nil } func expandComputeImageGuestOsFeaturesType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageImageEncryptionKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) if len(l) == 0 || l[0] == nil { return nil, nil } raw := l[0] original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedKmsKeySelfLink, err := expandComputeImageImageEncryptionKeyKmsKeySelfLink(original["kms_key_self_link"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKmsKeySelfLink); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["kmsKeyName"] = transformedKmsKeySelfLink } transformedKmsKeyServiceAccount, err := expandComputeImageImageEncryptionKeyKmsKeyServiceAccount(original["kms_key_service_account"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKmsKeyServiceAccount); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["kmsKeyServiceAccount"] = transformedKmsKeyServiceAccount } transformedRawKey, err := expandComputeImageImageEncryptionKeyRawKey(original["raw_key"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedRawKey); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["rawKey"] = transformedRawKey } transformedRsaEncryptedKey, err := expandComputeImageImageEncryptionKeyRsaEncryptedKey(original["rsa_encrypted_key"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedRsaEncryptedKey); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["rsaEncryptedKey"] = transformedRsaEncryptedKey } return transformed, nil } func expandComputeImageImageEncryptionKeyKmsKeySelfLink(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageImageEncryptionKeyKmsKeyServiceAccount(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageImageEncryptionKeyRawKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageImageEncryptionKeyRsaEncryptedKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageLabelFingerprint(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageLicenses(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) req := make([]interface{}, 0, len(l)) for _, raw := range l { if raw == nil { return nil, fmt.Errorf("Invalid value for licenses: nil") } f, err := tpgresource.ParseGlobalFieldValue("licenses", raw.(string), "project", d, config, true) if err != nil { return nil, fmt.Errorf("Invalid value for licenses: %s", err) } req = append(req, f.RelativeLink()) } return req, nil } func expandComputeImageName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageRawDisk(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) if len(l) == 0 || l[0] == nil { return nil, nil } raw := l[0] original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedContainerType, err := expandComputeImageRawDiskContainerType(original["container_type"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedContainerType); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["containerType"] = transformedContainerType } transformedSha1, err := expandComputeImageRawDiskSha1(original["sha1"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedSha1); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["sha1Checksum"] = transformedSha1 } transformedSource, err := expandComputeImageRawDiskSource(original["source"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedSource); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["source"] = transformedSource } return transformed, nil } func expandComputeImageRawDiskContainerType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageRawDiskSha1(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageRawDiskSource(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceDisk(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { f, err := tpgresource.ParseZonalFieldValue("disks", v.(string), "project", "zone", d, config, true) if err != nil { return nil, fmt.Errorf("Invalid value for source_disk: %s", err) } return f.RelativeLink(), nil } func expandComputeImageSourceDiskEncryptionKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) if len(l) == 0 || l[0] == nil { return nil, nil } raw := l[0] original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedRawKey, err := expandComputeImageSourceDiskEncryptionKeyRawKey(original["raw_key"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedRawKey); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["rawKey"] = transformedRawKey } transformedRsaEncryptedKey, err := expandComputeImageSourceDiskEncryptionKeyRsaEncryptedKey(original["rsa_encrypted_key"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedRsaEncryptedKey); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["rsaEncryptedKey"] = transformedRsaEncryptedKey } transformedKmsKeySelfLink, err := expandComputeImageSourceDiskEncryptionKeyKmsKeySelfLink(original["kms_key_self_link"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKmsKeySelfLink); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["kmsKeyName"] = transformedKmsKeySelfLink } transformedKmsKeyServiceAccount, err := expandComputeImageSourceDiskEncryptionKeyKmsKeyServiceAccount(original["kms_key_service_account"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKmsKeyServiceAccount); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["kmsKeyServiceAccount"] = transformedKmsKeyServiceAccount } return transformed, nil } func expandComputeImageSourceDiskEncryptionKeyRawKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceDiskEncryptionKeyRsaEncryptedKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceDiskEncryptionKeyKmsKeySelfLink(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceDiskEncryptionKeyKmsKeyServiceAccount(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceImage(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { f, err := tpgresource.ParseGlobalFieldValue("images", v.(string), "project", d, config, true) if err != nil { return nil, fmt.Errorf("Invalid value for source_image: %s", err) } return f.RelativeLink(), nil } func expandComputeImageSourceImageEncryptionKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) if len(l) == 0 || l[0] == nil { return nil, nil } raw := l[0] original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedRawKey, err := expandComputeImageSourceImageEncryptionKeyRawKey(original["raw_key"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedRawKey); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["rawKey"] = transformedRawKey } transformedRsaEncryptedKey, err := expandComputeImageSourceImageEncryptionKeyRsaEncryptedKey(original["rsa_encrypted_key"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedRsaEncryptedKey); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["rsaEncryptedKey"] = transformedRsaEncryptedKey } transformedKmsKeySelfLink, err := expandComputeImageSourceImageEncryptionKeyKmsKeySelfLink(original["kms_key_self_link"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKmsKeySelfLink); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["kmsKeyName"] = transformedKmsKeySelfLink } transformedKmsKeyServiceAccount, err := expandComputeImageSourceImageEncryptionKeyKmsKeyServiceAccount(original["kms_key_service_account"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKmsKeyServiceAccount); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["kmsKeyServiceAccount"] = transformedKmsKeyServiceAccount } return transformed, nil } func expandComputeImageSourceImageEncryptionKeyRawKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceImageEncryptionKeyRsaEncryptedKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceImageEncryptionKeyKmsKeySelfLink(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceImageEncryptionKeyKmsKeyServiceAccount(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceSnapshot(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { f, err := tpgresource.ParseGlobalFieldValue("snapshots", v.(string), "project", d, config, true) if err != nil { return nil, fmt.Errorf("Invalid value for source_snapshot: %s", err) } return f.RelativeLink(), nil } func expandComputeImageShieldedInstanceInitialState(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) if len(l) == 0 || l[0] == nil { return nil, nil } raw := l[0] original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedPk, err := expandComputeImageShieldedInstanceInitialStatePk(original["pk"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedPk); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["pk"] = transformedPk } transformedKeks, err := expandComputeImageShieldedInstanceInitialStateKeks(original["keks"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKeks); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["keks"] = transformedKeks } transformedDbs, err := expandComputeImageShieldedInstanceInitialStateDbs(original["dbs"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedDbs); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["dbs"] = transformedDbs } transformedDbxs, err := expandComputeImageShieldedInstanceInitialStateDbxs(original["dbxs"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedDbxs); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["dbxs"] = transformedDbxs } return transformed, nil } func expandComputeImageShieldedInstanceInitialStatePk(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) if len(l) == 0 || l[0] == nil { return nil, nil } raw := l[0] original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedContent, err := expandComputeImageShieldedInstanceInitialStatePkContent(original["content"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedContent); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["content"] = transformedContent } transformedFileType, err := expandComputeImageShieldedInstanceInitialStatePkFileType(original["file_type"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedFileType); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["fileType"] = transformedFileType } return transformed, nil } func expandComputeImageShieldedInstanceInitialStatePkContent(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageShieldedInstanceInitialStatePkFileType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageShieldedInstanceInitialStateKeks(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) req := make([]interface{}, 0, len(l)) for _, raw := range l { if raw == nil { continue } original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedContent, err := expandComputeImageShieldedInstanceInitialStateKeksContent(original["content"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedContent); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["content"] = transformedContent } transformedFileType, err := expandComputeImageShieldedInstanceInitialStateKeksFileType(original["file_type"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedFileType); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["fileType"] = transformedFileType } req = append(req, transformed) } return req, nil } func expandComputeImageShieldedInstanceInitialStateKeksContent(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageShieldedInstanceInitialStateKeksFileType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageShieldedInstanceInitialStateDbs(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) req := make([]interface{}, 0, len(l)) for _, raw := range l { if raw == nil { continue } original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedContent, err := expandComputeImageShieldedInstanceInitialStateDbsContent(original["content"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedContent); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["content"] = transformedContent } transformedFileType, err := expandComputeImageShieldedInstanceInitialStateDbsFileType(original["file_type"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedFileType); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["fileType"] = transformedFileType } req = append(req, transformed) } return req, nil } func expandComputeImageShieldedInstanceInitialStateDbsContent(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageShieldedInstanceInitialStateDbsFileType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageShieldedInstanceInitialStateDbxs(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) req := make([]interface{}, 0, len(l)) for _, raw := range l { if raw == nil { continue } original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedContent, err := expandComputeImageShieldedInstanceInitialStateDbxsContent(original["content"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedContent); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["content"] = transformedContent } transformedFileType, err := expandComputeImageShieldedInstanceInitialStateDbxsFileType(original["file_type"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedFileType); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["fileType"] = transformedFileType } req = append(req, transformed) } return req, nil } func expandComputeImageShieldedInstanceInitialStateDbxsContent(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageShieldedInstanceInitialStateDbxsFileType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceSnapshotEncryptionKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { l := v.([]interface{}) if len(l) == 0 || l[0] == nil { return nil, nil } raw := l[0] original := raw.(map[string]interface{}) transformed := make(map[string]interface{}) transformedRawKey, err := expandComputeImageSourceSnapshotEncryptionKeyRawKey(original["raw_key"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedRawKey); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["rawKey"] = transformedRawKey } transformedRsaEncryptedKey, err := expandComputeImageSourceSnapshotEncryptionKeyRsaEncryptedKey(original["rsa_encrypted_key"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedRsaEncryptedKey); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["rsaEncryptedKey"] = transformedRsaEncryptedKey } transformedKmsKeySelfLink, err := expandComputeImageSourceSnapshotEncryptionKeyKmsKeySelfLink(original["kms_key_self_link"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKmsKeySelfLink); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["kmsKeyName"] = transformedKmsKeySelfLink } transformedKmsKeyServiceAccount, err := expandComputeImageSourceSnapshotEncryptionKeyKmsKeyServiceAccount(original["kms_key_service_account"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKmsKeyServiceAccount); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["kmsKeyServiceAccount"] = transformedKmsKeyServiceAccount } return transformed, nil } func expandComputeImageSourceSnapshotEncryptionKeyRawKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceSnapshotEncryptionKeyRsaEncryptedKey(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceSnapshotEncryptionKeyKmsKeySelfLink(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageSourceSnapshotEncryptionKeyKmsKeyServiceAccount(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandComputeImageEffectiveLabels(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]string, error) { if v == nil { return map[string]string{}, nil } m := make(map[string]string) for k, val := range v.(map[string]interface{}) { m[k] = val.(string) } return m, nil }