Skip to content

Commit

Permalink
Add new resource Service for Apphub (#10132)
Browse files Browse the repository at this point in the history
* Add new resource for Service Project for Apphub

FIXES hashicorp/terraform-provider-google#17405

* Add new resource for Service Project for Apphub

FIXES hashicorp/terraform-provider-google#17405

* Add new resource for Service Project Attachment for Apphub

FIXES hashicorp/terraform-provider-google#17405

* Add new resource for Service Project Attachment for Apphub

FIXES hashicorp/terraform-provider-google#17405

* Add new resource for Service Project Attachment for Apphub

FIXES hashicorp/terraform-provider-google#17405

* Add new resource for Application for Apphub

* Add new resource for Application for Apphub

* Enable Apphub API in test cases

* Add new resource for Service Project Attachment for Apphub

FIXES hashicorp/terraform-provider-google#17405

* Enable apphub API in test cases

* Fix precheck error

* Fix precheck error

* Fix precheck error

* Fix precheck error

* Resolve comments

* Fix lint error

* Fix errors

* Add new resource for Service for Apphub

* Fix examples

* Add test

* Fix tests

* Add IAM permissions

* Add IAM permission

* Fix IAM issues

* Remove merged changes

* Add billing account

* Remove extra delay from tests

* Add handwritten update test

* Remove merged changes

* Make changes to yaml file incorporating comments from GoogleCloudPlatform/magic-modules#10155

* Fix lint errors in Service YAML definition

* Add a delay between discovered resource fetch and forwarding rule creation

* Add a delay between discovered resource fetch and forwarding rule creation

* Add a delay between discovered resource fetch and forwarding rule creation

* Batch update tests to improve speed

* Use standard diff suppress function

* Update region from us-east1 to us-central1

---------

Co-authored-by: Krishnan Gopal <krishgopal@google.com>
Co-authored-by: praseedhaPK <161299686+praseedhaPK@users.noreply.github.com>

[upstream:4fa7f7c5c43d93b9813acd33ecf232f6cd6151ed]

Signed-off-by: Modular Magician <magic-modules@google.com>
  • Loading branch information
modular-magician committed Mar 13, 2024
1 parent 1cc0f77 commit e16ef68
Showing 1 changed file with 299 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,299 @@
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** Type: MMv1 ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Magic Modules and manual
// changes will be clobbered when the file is regenerated.
//
// Please read more about how to change this file in
// .github/CONTRIBUTING.md.
//
// ----------------------------------------------------------------------------

package apphub

import (
"reflect"

"github.com/GoogleCloudPlatform/terraform-google-conversion/v5/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 ApphubServiceAssetType string = "apphub.googleapis.com/Service"

func ResourceConverterApphubService() cai.ResourceConverter {
return cai.ResourceConverter{
AssetType: ApphubServiceAssetType,
Convert: GetApphubServiceCaiObject,
}
}

func GetApphubServiceCaiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) ([]cai.Asset, error) {
name, err := cai.AssetName(d, config, "//apphub.googleapis.com/projects/{{project}}/locations/{{location}}/applications/{{application_id}}/services/{{service_id}}")
if err != nil {
return []cai.Asset{}, err
}
if obj, err := GetApphubServiceApiObject(d, config); err == nil {
return []cai.Asset{{
Name: name,
Type: ApphubServiceAssetType,
Resource: &cai.AssetResource{
Version: "v1",
DiscoveryDocumentURI: "https://www.googleapis.com/discovery/v1/apis/apphub/v1/rest",
DiscoveryName: "Service",
Data: obj,
},
}}, nil
} else {
return []cai.Asset{}, err
}
}

func GetApphubServiceApiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]interface{}, error) {
obj := make(map[string]interface{})
displayNameProp, err := expandApphubServiceDisplayName(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 := expandApphubServiceDescription(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
}
attributesProp, err := expandApphubServiceAttributes(d.Get("attributes"), d, config)
if err != nil {
return nil, err
} else if v, ok := d.GetOkExists("attributes"); !tpgresource.IsEmptyValue(reflect.ValueOf(attributesProp)) && (ok || !reflect.DeepEqual(v, attributesProp)) {
obj["attributes"] = attributesProp
}
discoveredServiceProp, err := expandApphubServiceDiscoveredService(d.Get("discovered_service"), d, config)
if err != nil {
return nil, err
} else if v, ok := d.GetOkExists("discovered_service"); !tpgresource.IsEmptyValue(reflect.ValueOf(discoveredServiceProp)) && (ok || !reflect.DeepEqual(v, discoveredServiceProp)) {
obj["discoveredService"] = discoveredServiceProp
}

return obj, nil
}

func expandApphubServiceDisplayName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceDescription(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceAttributes(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{})

transformedCriticality, err := expandApphubServiceAttributesCriticality(original["criticality"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedCriticality); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["criticality"] = transformedCriticality
}

transformedEnvironment, err := expandApphubServiceAttributesEnvironment(original["environment"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedEnvironment); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["environment"] = transformedEnvironment
}

transformedDeveloperOwners, err := expandApphubServiceAttributesDeveloperOwners(original["developer_owners"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedDeveloperOwners); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["developerOwners"] = transformedDeveloperOwners
}

transformedOperatorOwners, err := expandApphubServiceAttributesOperatorOwners(original["operator_owners"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedOperatorOwners); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["operatorOwners"] = transformedOperatorOwners
}

transformedBusinessOwners, err := expandApphubServiceAttributesBusinessOwners(original["business_owners"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedBusinessOwners); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["businessOwners"] = transformedBusinessOwners
}

return transformed, nil
}

func expandApphubServiceAttributesCriticality(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{})

transformedType, err := expandApphubServiceAttributesCriticalityType(original["type"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedType); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["type"] = transformedType
}

return transformed, nil
}

func expandApphubServiceAttributesCriticalityType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceAttributesEnvironment(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{})

transformedType, err := expandApphubServiceAttributesEnvironmentType(original["type"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedType); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["type"] = transformedType
}

return transformed, nil
}

func expandApphubServiceAttributesEnvironmentType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceAttributesDeveloperOwners(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{})

transformedDisplayName, err := expandApphubServiceAttributesDeveloperOwnersDisplayName(original["display_name"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedDisplayName); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["displayName"] = transformedDisplayName
}

transformedEmail, err := expandApphubServiceAttributesDeveloperOwnersEmail(original["email"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedEmail); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["email"] = transformedEmail
}

req = append(req, transformed)
}
return req, nil
}

func expandApphubServiceAttributesDeveloperOwnersDisplayName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceAttributesDeveloperOwnersEmail(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceAttributesOperatorOwners(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{})

transformedDisplayName, err := expandApphubServiceAttributesOperatorOwnersDisplayName(original["display_name"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedDisplayName); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["displayName"] = transformedDisplayName
}

transformedEmail, err := expandApphubServiceAttributesOperatorOwnersEmail(original["email"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedEmail); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["email"] = transformedEmail
}

req = append(req, transformed)
}
return req, nil
}

func expandApphubServiceAttributesOperatorOwnersDisplayName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceAttributesOperatorOwnersEmail(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceAttributesBusinessOwners(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{})

transformedDisplayName, err := expandApphubServiceAttributesBusinessOwnersDisplayName(original["display_name"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedDisplayName); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["displayName"] = transformedDisplayName
}

transformedEmail, err := expandApphubServiceAttributesBusinessOwnersEmail(original["email"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedEmail); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["email"] = transformedEmail
}

req = append(req, transformed)
}
return req, nil
}

func expandApphubServiceAttributesBusinessOwnersDisplayName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceAttributesBusinessOwnersEmail(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandApphubServiceDiscoveredService(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

0 comments on commit e16ef68

Please sign in to comment.