tfplan2cai/converters/google/resources/services/vertexai/vertexai_endpoint.go (235 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/vertexai/Endpoint.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 vertexai import ( "encoding/json" "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 VertexAIEndpointAssetType string = "aiplatform.googleapis.com/Endpoint" func ResourceConverterVertexAIEndpoint() cai.ResourceConverter { return cai.ResourceConverter{ AssetType: VertexAIEndpointAssetType, Convert: GetVertexAIEndpointCaiObject, } } func GetVertexAIEndpointCaiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) ([]cai.Asset, error) { name, err := cai.AssetName(d, config, "//aiplatform.googleapis.com/projects/{{project}}/locations/{{location}}/endpoints/{{name}}") if err != nil { return []cai.Asset{}, err } if obj, err := GetVertexAIEndpointApiObject(d, config); err == nil { return []cai.Asset{{ Name: name, Type: VertexAIEndpointAssetType, Resource: &cai.AssetResource{ Version: "v1beta1", DiscoveryDocumentURI: "https://www.googleapis.com/discovery/v1/apis/aiplatform/v1beta1/rest", DiscoveryName: "Endpoint", Data: obj, }, }}, nil } else { return []cai.Asset{}, err } } func GetVertexAIEndpointApiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]interface{}, error) { obj := make(map[string]interface{}) displayNameProp, err := expandVertexAIEndpointDisplayName(d.Get("display_name"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("display_name"); !tpgresource.IsEmptyValue(reflect.ValueOf(displayNameProp)) && (ok || !reflect.DeepEqual(v, displayNameProp)) { obj["displayName"] = displayNameProp } descriptionProp, err := expandVertexAIEndpointDescription(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 } trafficSplitProp, err := expandVertexAIEndpointTrafficSplit(d.Get("traffic_split"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("traffic_split"); !tpgresource.IsEmptyValue(reflect.ValueOf(trafficSplitProp)) && (ok || !reflect.DeepEqual(v, trafficSplitProp)) { obj["trafficSplit"] = trafficSplitProp } encryptionSpecProp, err := expandVertexAIEndpointEncryptionSpec(d.Get("encryption_spec"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("encryption_spec"); !tpgresource.IsEmptyValue(reflect.ValueOf(encryptionSpecProp)) && (ok || !reflect.DeepEqual(v, encryptionSpecProp)) { obj["encryptionSpec"] = encryptionSpecProp } networkProp, err := expandVertexAIEndpointNetwork(d.Get("network"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("network"); !tpgresource.IsEmptyValue(reflect.ValueOf(networkProp)) && (ok || !reflect.DeepEqual(v, networkProp)) { obj["network"] = networkProp } privateServiceConnectConfigProp, err := expandVertexAIEndpointPrivateServiceConnectConfig(d.Get("private_service_connect_config"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("private_service_connect_config"); !tpgresource.IsEmptyValue(reflect.ValueOf(privateServiceConnectConfigProp)) && (ok || !reflect.DeepEqual(v, privateServiceConnectConfigProp)) { obj["privateServiceConnectConfig"] = privateServiceConnectConfigProp } predictRequestResponseLoggingConfigProp, err := expandVertexAIEndpointPredictRequestResponseLoggingConfig(d.Get("predict_request_response_logging_config"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("predict_request_response_logging_config"); !tpgresource.IsEmptyValue(reflect.ValueOf(predictRequestResponseLoggingConfigProp)) && (ok || !reflect.DeepEqual(v, predictRequestResponseLoggingConfigProp)) { obj["predictRequestResponseLoggingConfig"] = predictRequestResponseLoggingConfigProp } dedicatedEndpointEnabledProp, err := expandVertexAIEndpointDedicatedEndpointEnabled(d.Get("dedicated_endpoint_enabled"), d, config) if err != nil { return nil, err } else if v, ok := d.GetOkExists("dedicated_endpoint_enabled"); !tpgresource.IsEmptyValue(reflect.ValueOf(dedicatedEndpointEnabledProp)) && (ok || !reflect.DeepEqual(v, dedicatedEndpointEnabledProp)) { obj["dedicatedEndpointEnabled"] = dedicatedEndpointEnabledProp } labelsProp, err := expandVertexAIEndpointEffectiveLabels(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 expandVertexAIEndpointDisplayName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointDescription(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointTrafficSplit(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { b := []byte(v.(string)) if len(b) == 0 { return nil, nil } m := make(map[string]interface{}) if err := json.Unmarshal(b, &m); err != nil { return nil, err } return m, nil } func expandVertexAIEndpointEncryptionSpec(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{}) transformedKmsKeyName, err := expandVertexAIEndpointEncryptionSpecKmsKeyName(original["kms_key_name"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedKmsKeyName); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["kmsKeyName"] = transformedKmsKeyName } return transformed, nil } func expandVertexAIEndpointEncryptionSpecKmsKeyName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointNetwork(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointPrivateServiceConnectConfig(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{}) transformedEnablePrivateServiceConnect, err := expandVertexAIEndpointPrivateServiceConnectConfigEnablePrivateServiceConnect(original["enable_private_service_connect"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedEnablePrivateServiceConnect); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["enablePrivateServiceConnect"] = transformedEnablePrivateServiceConnect } transformedProjectAllowlist, err := expandVertexAIEndpointPrivateServiceConnectConfigProjectAllowlist(original["project_allowlist"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedProjectAllowlist); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["projectAllowlist"] = transformedProjectAllowlist } transformedEnableSecurePrivateServiceConnect, err := expandVertexAIEndpointPrivateServiceConnectConfigEnableSecurePrivateServiceConnect(original["enable_secure_private_service_connect"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedEnableSecurePrivateServiceConnect); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["enableSecurePrivateServiceConnect"] = transformedEnableSecurePrivateServiceConnect } return transformed, nil } func expandVertexAIEndpointPrivateServiceConnectConfigEnablePrivateServiceConnect(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointPrivateServiceConnectConfigProjectAllowlist(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointPrivateServiceConnectConfigEnableSecurePrivateServiceConnect(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointPredictRequestResponseLoggingConfig(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{}) transformedEnabled, err := expandVertexAIEndpointPredictRequestResponseLoggingConfigEnabled(original["enabled"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedEnabled); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["enabled"] = transformedEnabled } transformedSamplingRate, err := expandVertexAIEndpointPredictRequestResponseLoggingConfigSamplingRate(original["sampling_rate"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedSamplingRate); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["samplingRate"] = transformedSamplingRate } transformedBigqueryDestination, err := expandVertexAIEndpointPredictRequestResponseLoggingConfigBigqueryDestination(original["bigquery_destination"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedBigqueryDestination); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["bigqueryDestination"] = transformedBigqueryDestination } return transformed, nil } func expandVertexAIEndpointPredictRequestResponseLoggingConfigEnabled(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointPredictRequestResponseLoggingConfigSamplingRate(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointPredictRequestResponseLoggingConfigBigqueryDestination(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{}) transformedOutputUri, err := expandVertexAIEndpointPredictRequestResponseLoggingConfigBigqueryDestinationOutputUri(original["output_uri"], d, config) if err != nil { return nil, err } else if val := reflect.ValueOf(transformedOutputUri); val.IsValid() && !tpgresource.IsEmptyValue(val) { transformed["outputUri"] = transformedOutputUri } return transformed, nil } func expandVertexAIEndpointPredictRequestResponseLoggingConfigBigqueryDestinationOutputUri(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointDedicatedEndpointEnabled(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) { return v, nil } func expandVertexAIEndpointEffectiveLabels(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 }