tfplan2cai/converters/google/resources/services/eventarc/eventarc_channel.go (65 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/eventarc/Channel.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 eventarc
import (
"reflect"
"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 EventarcChannelAssetType string = "eventarc.googleapis.com/Channel"
func ResourceConverterEventarcChannel() cai.ResourceConverter {
return cai.ResourceConverter{
AssetType: EventarcChannelAssetType,
Convert: GetEventarcChannelCaiObject,
}
}
func GetEventarcChannelCaiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) ([]cai.Asset, error) {
name, err := cai.AssetName(d, config, "//eventarc.googleapis.com/projects/{{project}}/locations/{{location}}/channels/{{name}}")
if err != nil {
return []cai.Asset{}, err
}
if obj, err := GetEventarcChannelApiObject(d, config); err == nil {
return []cai.Asset{{
Name: name,
Type: EventarcChannelAssetType,
Resource: &cai.AssetResource{
Version: "v1",
DiscoveryDocumentURI: "https://www.googleapis.com/discovery/v1/apis/eventarc/v1/rest",
DiscoveryName: "Channel",
Data: obj,
},
}}, nil
} else {
return []cai.Asset{}, err
}
}
func GetEventarcChannelApiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]interface{}, error) {
obj := make(map[string]interface{})
nameProp, err := expandEventarcChannelName(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
}
providerProp, err := expandEventarcChannelThirdPartyProvider(d.Get("third_party_provider"), d, config)
if err != nil {
return nil, err
} else if v, ok := d.GetOkExists("third_party_provider"); !tpgresource.IsEmptyValue(reflect.ValueOf(providerProp)) && (ok || !reflect.DeepEqual(v, providerProp)) {
obj["provider"] = providerProp
}
cryptoKeyNameProp, err := expandEventarcChannelCryptoKeyName(d.Get("crypto_key_name"), d, config)
if err != nil {
return nil, err
} else if v, ok := d.GetOkExists("crypto_key_name"); !tpgresource.IsEmptyValue(reflect.ValueOf(cryptoKeyNameProp)) && (ok || !reflect.DeepEqual(v, cryptoKeyNameProp)) {
obj["cryptoKeyName"] = cryptoKeyNameProp
}
return obj, nil
}
func expandEventarcChannelName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return expandToRegionalLongForm("projects/%s/locations/%s/channels/%s", v, d, config)
}
func expandEventarcChannelThirdPartyProvider(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}
func expandEventarcChannelCryptoKeyName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}