Skip to content

Commit

Permalink
Update parameters to remove redundancy
Browse files Browse the repository at this point in the history
  • Loading branch information
vikotha committed Apr 6, 2022
1 parent 80b0c2b commit 137469c
Show file tree
Hide file tree
Showing 3 changed files with 120 additions and 126 deletions.
40 changes: 17 additions & 23 deletions internal/services/datadog/datadog_monitors_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func resourceDatadogMonitor() *pluginsdk.Resource {

"location": azure.SchemaLocation(),

"datadog_organization_properties": {
"datadog_organization": {
Type: pluginsdk.TypeList,
Required: true,
MaxItems: 1,
Expand Down Expand Up @@ -116,7 +116,7 @@ func resourceDatadogMonitor() *pluginsdk.Resource {
Required: true,
},

"user_info": {
"user": {
Type: pluginsdk.TypeList,
Required: true,
MaxItems: 1,
Expand All @@ -129,7 +129,7 @@ func resourceDatadogMonitor() *pluginsdk.Resource {
ValidateFunc: validate.DatadogUsersName,
},

"email_address": {
"email": {
Type: pluginsdk.TypeString,
Required: true,
ForceNew: true,
Expand All @@ -152,16 +152,11 @@ func resourceDatadogMonitor() *pluginsdk.Resource {
Default: true,
},

"liftr_resource_category": {
"resource_category": {
Type: pluginsdk.TypeString,
Computed: true,
},

"liftr_resource_preference": {
Type: pluginsdk.TypeInt,
Computed: true,
},

"marketplace_subscription_status": {
Type: pluginsdk.TypeString,
Computed: true,
Expand Down Expand Up @@ -204,8 +199,8 @@ func resourceDatadogMonitorCreate(d *pluginsdk.ResourceData, meta interface{}) e
Name: utils.String(d.Get("sku_name").(string)),
},
Properties: &datadog.MonitorProperties{
DatadogOrganizationProperties: expandMonitorOrganizationProperties(d.Get("datadog_organization_properties").([]interface{})),
UserInfo: expandMonitorUserInfo(d.Get("user_info").([]interface{})),
DatadogOrganizationProperties: expandMonitorOrganizationProperties(d.Get("datadog_organization").([]interface{})),
UserInfo: expandMonitorUserInfo(d.Get("user").([]interface{})),
MonitoringStatus: monitoringStatus,
},
Tags: tags.Expand(d.Get("tags").(map[string]interface{})),
Expand Down Expand Up @@ -249,15 +244,14 @@ func resourceDatadogMonitorRead(d *pluginsdk.ResourceData, meta interface{}) err
return fmt.Errorf("setting `identity`: %+v", err)
}
if props := resp.Properties; props != nil {
if err := d.Set("datadog_organization_properties", flattenMonitorOrganizationProperties(props.DatadogOrganizationProperties, d)); err != nil {
return fmt.Errorf("setting `datadog_organization_properties`: %+v", err)
if err := d.Set("datadog_organization", flattenMonitorOrganizationProperties(props.DatadogOrganizationProperties, d)); err != nil {
return fmt.Errorf("setting `datadog_organization`: %+v", err)
}
if err := d.Set("user_info", flattenMonitorUserInfo(props.UserInfo, d)); err != nil {
return fmt.Errorf("setting `user_info`: %+v", err)
if err := d.Set("user", flattenMonitorUserInfo(props.UserInfo, d)); err != nil {
return fmt.Errorf("setting `user`: %+v", err)
}
d.Set("monitoring_enabled", props.MonitoringStatus == datadog.MonitoringStatusEnabled)
d.Set("liftr_resource_category", props.LiftrResourceCategory)
d.Set("liftr_resource_preference", props.LiftrResourcePreference)
d.Set("resource_category", props.LiftrResourceCategory)
d.Set("marketplace_subscription_status", props.MarketplaceSubscriptionStatus)
}
skuName := ""
Expand Down Expand Up @@ -354,7 +348,7 @@ func expandMonitorUserInfo(input []interface{}) *datadog.UserInfo {
v := input[0].(map[string]interface{})
return &datadog.UserInfo{
Name: utils.String(v["name"].(string)),
EmailAddress: utils.String(v["email_address"].(string)),
EmailAddress: utils.String(v["email"].(string)),
PhoneNumber: utils.String(v["phone_number"].(string)),
}
}
Expand Down Expand Up @@ -387,7 +381,7 @@ func flattenMonitorIdentityProperties(input *datadog.IdentityProperties) []inter

func flattenMonitorOrganizationProperties(input *datadog.OrganizationProperties, d *pluginsdk.ResourceData) []interface{} {

organisationProperties := d.Get("datadog_organization_properties").([]interface{})
organisationProperties := d.Get("datadog_organization").([]interface{})
if len(organisationProperties) == 0 {
return make([]interface{}, 0)
}
Expand Down Expand Up @@ -425,17 +419,17 @@ func flattenMonitorOrganizationProperties(input *datadog.OrganizationProperties,

func flattenMonitorUserInfo(input *datadog.UserInfo, d *pluginsdk.ResourceData) []interface{} {

userInfo := d.Get("user_info").([]interface{})
userInfo := d.Get("user").([]interface{})
if len(userInfo) == 0 {
return make([]interface{}, 0)
}

v := userInfo[0].(map[string]interface{})
return []interface{}{
map[string]interface{}{
"name": utils.String(v["name"].(string)),
"email_address": utils.String(v["email_address"].(string)),
"phone_number": utils.String(v["phone_number"].(string)),
"name": utils.String(v["name"].(string)),
"email": utils.String(v["email"].(string)),
"phone_number": utils.String(v["phone_number"].(string)),
},
}
}
154 changes: 77 additions & 77 deletions internal/services/datadog/datadog_monitors_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,19 @@ func TestAccDatadogMonitor_basic(t *testing.T) {
check.That(data.ResourceName).ExistsInAzure(r),
),
},
data.ImportStep("user_info",
"user_info.0.name",
"user_info.0.email_address",
"datadog_organization_properties",
"datadog_organization_properties.0",
"datadog_organization_properties.0.id",
"datadog_organization_properties.0.name",
"datadog_organization_properties.0.api_key",
"datadog_organization_properties.0.application_key",
"datadog_organization_properties.0.enterprise_app_id",
"datadog_organization_properties.0.linking_auth_code",
"datadog_organization_properties.0.linking_client_id",
"datadog_organization_properties.0.redirect_uri"),
data.ImportStep("user",
"user.0.name",
"user.0.email",
"datadog_organization",
"datadog_organization.0",
"datadog_organization.0.id",
"datadog_organization.0.name",
"datadog_organization.0.api_key",
"datadog_organization.0.application_key",
"datadog_organization.0.enterprise_app_id",
"datadog_organization.0.linking_auth_code",
"datadog_organization.0.linking_client_id",
"datadog_organization.0.redirect_uri"),
})
}

Expand Down Expand Up @@ -65,19 +65,19 @@ func TestAccDatadogMonitor_complete(t *testing.T) {
check.That(data.ResourceName).ExistsInAzure(r),
),
},
data.ImportStep("user_info",
"user_info.0.name",
"user_info.0.email_address",
"datadog_organization_properties",
"datadog_organization_properties.0",
"datadog_organization_properties.0.id",
"datadog_organization_properties.0.name",
"datadog_organization_properties.0.api_key",
"datadog_organization_properties.0.application_key",
"datadog_organization_properties.0.enterprise_app_id",
"datadog_organization_properties.0.linking_auth_code",
"datadog_organization_properties.0.linking_client_id",
"datadog_organization_properties.0.redirect_uri"),
data.ImportStep("user",
"user.0.name",
"user.0.email",
"datadog_organization",
"datadog_organization.0",
"datadog_organization.0.id",
"datadog_organization.0.name",
"datadog_organization.0.api_key",
"datadog_organization.0.application_key",
"datadog_organization.0.enterprise_app_id",
"datadog_organization.0.linking_auth_code",
"datadog_organization.0.linking_client_id",
"datadog_organization.0.redirect_uri"),
})
}

Expand All @@ -91,57 +91,57 @@ func TestAccDatadogMonitor_update(t *testing.T) {
check.That(data.ResourceName).ExistsInAzure(r),
),
},
data.ImportStep("user_info",
"user_info.0.name",
"user_info.0.email_address",
"datadog_organization_properties",
"datadog_organization_properties.0",
"datadog_organization_properties.0.id",
"datadog_organization_properties.0.name",
"datadog_organization_properties.0.api_key",
"datadog_organization_properties.0.application_key",
"datadog_organization_properties.0.enterprise_app_id",
"datadog_organization_properties.0.linking_auth_code",
"datadog_organization_properties.0.linking_client_id",
"datadog_organization_properties.0.redirect_uri"),
data.ImportStep("user",
"user.0.name",
"user.0.email",
"datadog_organization",
"datadog_organization.0",
"datadog_organization.0.id",
"datadog_organization.0.name",
"datadog_organization.0.api_key",
"datadog_organization.0.application_key",
"datadog_organization.0.enterprise_app_id",
"datadog_organization.0.linking_auth_code",
"datadog_organization.0.linking_client_id",
"datadog_organization.0.redirect_uri"),
{
Config: r.update(data),
Check: acceptance.ComposeTestCheckFunc(
check.That(data.ResourceName).ExistsInAzure(r),
),
},
data.ImportStep("user_info",
"user_info.0.name",
"user_info.0.email_address",
"datadog_organization_properties",
"datadog_organization_properties.0",
"datadog_organization_properties.0.id",
"datadog_organization_properties.0.name",
"datadog_organization_properties.0.api_key",
"datadog_organization_properties.0.application_key",
"datadog_organization_properties.0.enterprise_app_id",
"datadog_organization_properties.0.linking_auth_code",
"datadog_organization_properties.0.linking_client_id",
"datadog_organization_properties.0.redirect_uri"),
data.ImportStep("user",
"user.0.name",
"user.0.email",
"datadog_organization",
"datadog_organization.0",
"datadog_organization.0.id",
"datadog_organization.0.name",
"datadog_organization.0.api_key",
"datadog_organization.0.application_key",
"datadog_organization.0.enterprise_app_id",
"datadog_organization.0.linking_auth_code",
"datadog_organization.0.linking_client_id",
"datadog_organization.0.redirect_uri"),
{
Config: r.basic(data),
Check: acceptance.ComposeTestCheckFunc(
check.That(data.ResourceName).ExistsInAzure(r),
),
},
data.ImportStep("user_info",
"user_info.0.name",
"user_info.0.email_address",
"datadog_organization_properties",
"datadog_organization_properties.0",
"datadog_organization_properties.0.id",
"datadog_organization_properties.0.name",
"datadog_organization_properties.0.api_key",
"datadog_organization_properties.0.application_key",
"datadog_organization_properties.0.enterprise_app_id",
"datadog_organization_properties.0.linking_auth_code",
"datadog_organization_properties.0.linking_client_id",
"datadog_organization_properties.0.redirect_uri"),
data.ImportStep("user",
"user.0.name",
"user.0.email",
"datadog_organization",
"datadog_organization.0",
"datadog_organization.0.id",
"datadog_organization.0.name",
"datadog_organization.0.api_key",
"datadog_organization.0.application_key",
"datadog_organization.0.enterprise_app_id",
"datadog_organization.0.linking_auth_code",
"datadog_organization.0.linking_client_id",
"datadog_organization.0.redirect_uri"),
})
}

Expand Down Expand Up @@ -180,13 +180,13 @@ func (r DatadogMonitorResource) basic(data acceptance.TestData) string {
name = "acctest-datadog-%d"
resource_group_name = azurerm_resource_group.test.name
location = "EAST US 2 EUAP"
datadog_organization_properties {
datadog_organization {
api_key = "XXX"
application_key = "XXX"
}
user_info {
user {
name = "Vidhi Kothari"
email_address = "vidhi.kothari@microsoft.com"
email = "vidhi.kothari@microsoft.com"
}
sku_name = "Linked"
identity {
Expand All @@ -210,13 +210,13 @@ func (r DatadogMonitorResource) update(data acceptance.TestData) string {
name = "acctest-datadog-%d"
resource_group_name = azurerm_resource_group.test.name
location = "EAST US 2 EUAP"
datadog_organization_properties {
datadog_organization {
api_key = "XXX"
application_key = "XXX"
}
user_info {
user {
name = "Vidhi Kothari"
email_address = "vidhi.kothari@microsoft.com"
email = "vidhi.kothari@microsoft.com"
}
sku_name = "Linked"
identity {
Expand All @@ -237,13 +237,13 @@ func (r DatadogMonitorResource) requiresImport(data acceptance.TestData) string
name = azurerm_datadog_monitor.test.name
resource_group_name = azurerm_resource_group.test.name
location = azurerm_datadog_monitor.test.location
datadog_organization_properties {
datadog_organization {
api_key = "XXX"
application_key = "XXX"
}
user_info {
user {
name = "Vidhi Kothari"
email_address = "vidhi.kothari@microsoft.com"
email = "vidhi.kothari@microsoft.com"
}
sku_name = "Linked"
identity {
Expand All @@ -260,7 +260,7 @@ func (r DatadogMonitorResource) complete(data acceptance.TestData) string {
name = "acctest-datadog-%d"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
datadog_organization_properties {
datadog_organization {
api_key = "XXX"
application_key = "XXX"
enterprise_app_id = ""
Expand All @@ -272,9 +272,9 @@ func (r DatadogMonitorResource) complete(data acceptance.TestData) string {
type = "SystemAssigned"
}
sku_name = "Linked"
user_info {
user {
name = "Vidhi Kothari"
email_address = "vidhi.kothari@microsoft.com"
email = "vidhi.kothari@microsoft.com"
phone_number = ""
}
monitoring_enabled = true
Expand Down
Loading

0 comments on commit 137469c

Please sign in to comment.