Skip to content

Commit

Permalink
Merge pull request #16 from instana/bug-fix
Browse files Browse the repository at this point in the history
Bug fix
  • Loading branch information
rorywelch authored Aug 7, 2024
2 parents b7d55a3 + 24f0ff4 commit ebd12dd
Show file tree
Hide file tree
Showing 8 changed files with 5 additions and 83 deletions.
4 changes: 0 additions & 4 deletions docs/resources/api_token.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ resource "instana_api_token" "example" {
can_configure_mobile_app_monitoring = true
can_configure_users = true
can_install_new_agents = true
can_see_usage_information = true
can_configure_integrations = true
can_see_on_premise_license_information = true
can_configure_custom_alerts = true
can_configure_api_tokens = true
can_configure_agent_run_mode = true
Expand Down Expand Up @@ -50,9 +48,7 @@ resource "instana_api_token" "example" {
* `can_configure_mobile_app_monitoring` - Optional - default false - enables permission to configure mobile app monitoring
* `can_configure_users` - Optional - default false - enables permission to configure users
* `can_install_new_agents` - Optional - default false - enables permission to install new agents
* `can_see_usage_information` - Optional - default false - enables permission to see usage information
* `can_configure_integrations` - Optional - default false - enables permission to configure integrations
* `can_see_on_premise_license_information` - Optional - default false - enables permission to see on premise license information
* `can_configure_custom_alerts` - Optional - default false - enables permission to configure custom alerts
* `can_configure_api_tokens` - Optional - default false - enables permission to configure api tokes
* `can_configure_agent_run_mode` - Optional - default false - enables permission to configure agent run mode
Expand Down
2 changes: 0 additions & 2 deletions docs/resources/rbac_group.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ resource "instana_rbac_group" "example" {
* `permissions` - Optional - the list of permissions granted to the given group. Allowed values
are:
* `CAN_CONFIGURE_APPLICATIONS`
* `CAN_SEE_ON_PREM_LICENE_INFORMATION`
* `CAN_CONFIGURE_EUM_APPLICATIONS`
* `CAN_CONFIGURE_AGENTS`
* `CAN_VIEW_TRACE_DETAILS`
Expand All @@ -57,7 +56,6 @@ resource "instana_rbac_group" "example" {
* `CAN_CONFIGURE_CUSTOM_ALERTS`
* `CAN_CONFIGURE_AGENT_RUN_MODE`
* `CAN_CONFIGURE_SERVICE_MAPPING`
* `CAN_SEE_USAGE_INFORMATION`
* `CAN_EDIT_ALL_ACCESSIBLE_CUSTOM_DASHBOARDS`
* `CAN_CONFIGURE_USERS`
* `CAN_INSTALL_NEW_AGENTS`
Expand Down
25 changes: 1 addition & 24 deletions instana/resource-api-token.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package instana

import (
"context"

"github.com/gessnerfl/terraform-provider-instana/instana/restapi"
"github.com/gessnerfl/terraform-provider-instana/tfutils"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
Expand Down Expand Up @@ -30,12 +31,8 @@ const (
APITokenFieldCanConfigureUsers = "can_configure_users"
//APITokenFieldCanInstallNewAgents constant value for the schema field can_install_new_agents
APITokenFieldCanInstallNewAgents = "can_install_new_agents"
//APITokenFieldCanSeeUsageInformation constant value for the schema field can_see_usage_information
APITokenFieldCanSeeUsageInformation = "can_see_usage_information"
//APITokenFieldCanConfigureIntegrations constant value for the schema field can_configure_integrations
APITokenFieldCanConfigureIntegrations = "can_configure_integrations"
//APITokenFieldCanSeeOnPremiseLicenseInformation constant value for the schema field can_see_on_premise_license_information
APITokenFieldCanSeeOnPremiseLicenseInformation = "can_see_on_premise_license_information"
//APITokenFieldCanConfigureCustomAlerts constant value for the schema field can_configure_custom_alerts
APITokenFieldCanConfigureCustomAlerts = "can_configure_custom_alerts"
//APITokenFieldCanConfigureAPITokens constant value for the schema field can_configure_api_tokens
Expand Down Expand Up @@ -127,24 +124,12 @@ var (
Default: false,
Description: "Configures if the API token is allowed to install new agents",
}
apiTokenSchemaCanSeeUsageInformation = &schema.Schema{
Type: schema.TypeBool,
Optional: true,
Default: false,
Description: "Configures if the API token is allowed to see usage information",
}
apiTokenSchemaCanConfigureIntegrations = &schema.Schema{
Type: schema.TypeBool,
Optional: true,
Default: false,
Description: "Configures if the API token is allowed to configure integrations",
}
apiTokenSchemaCanSeeOnPremiseLicenseInformation = &schema.Schema{
Type: schema.TypeBool,
Optional: true,
Default: false,
Description: "Configures if the API token is allowed to see onPremise license information",
}
apiTokenSchemaCanConfigureCustomAlerts = &schema.Schema{
Type: schema.TypeBool,
Optional: true,
Expand Down Expand Up @@ -276,9 +261,7 @@ func NewAPITokenResourceHandle() ResourceHandle[*restapi.APIToken] {
APITokenFieldCanConfigureMobileAppMonitoring: apiTokenSchemaCanConfigureMobileAppMonitoring,
APITokenFieldCanConfigureUsers: apiTokenSchemaCanConfigureUsers,
APITokenFieldCanInstallNewAgents: apiTokenSchemaCanInstallNewAgents,
APITokenFieldCanSeeUsageInformation: apiTokenSchemaCanSeeUsageInformation,
APITokenFieldCanConfigureIntegrations: apiTokenSchemaCanConfigureIntegrations,
APITokenFieldCanSeeOnPremiseLicenseInformation: apiTokenSchemaCanSeeOnPremiseLicenseInformation,
APITokenFieldCanConfigureCustomAlerts: apiTokenSchemaCanConfigureCustomAlerts,
APITokenFieldCanConfigureAPITokens: apiTokenSchemaCanConfigureAPITokens,
APITokenFieldCanConfigureAgentRunMode: apiTokenSchemaCanConfigureAgentRunMode,
Expand Down Expand Up @@ -346,9 +329,7 @@ func (r *apiTokenResource) UpdateState(d *schema.ResourceData, apiToken *restapi
APITokenFieldCanConfigureMobileAppMonitoring: apiToken.CanConfigureMobileAppMonitoring,
APITokenFieldCanConfigureUsers: apiToken.CanConfigureUsers,
APITokenFieldCanInstallNewAgents: apiToken.CanInstallNewAgents,
APITokenFieldCanSeeUsageInformation: apiToken.CanSeeUsageInformation,
APITokenFieldCanConfigureIntegrations: apiToken.CanConfigureIntegrations,
APITokenFieldCanSeeOnPremiseLicenseInformation: apiToken.CanSeeOnPremiseLicenseInformation,
APITokenFieldCanConfigureCustomAlerts: apiToken.CanConfigureCustomAlerts,
APITokenFieldCanConfigureAPITokens: apiToken.CanConfigureAPITokens,
APITokenFieldCanConfigureAgentRunMode: apiToken.CanConfigureAgentRunMode,
Expand Down Expand Up @@ -382,9 +363,7 @@ func (r *apiTokenResource) MapStateToDataObject(d *schema.ResourceData) (*restap
CanConfigureMobileAppMonitoring: d.Get(APITokenFieldCanConfigureMobileAppMonitoring).(bool),
CanConfigureUsers: d.Get(APITokenFieldCanConfigureUsers).(bool),
CanInstallNewAgents: d.Get(APITokenFieldCanInstallNewAgents).(bool),
CanSeeUsageInformation: d.Get(APITokenFieldCanSeeUsageInformation).(bool),
CanConfigureIntegrations: d.Get(APITokenFieldCanConfigureIntegrations).(bool),
CanSeeOnPremiseLicenseInformation: d.Get(APITokenFieldCanSeeOnPremiseLicenseInformation).(bool),
CanConfigureCustomAlerts: d.Get(APITokenFieldCanConfigureCustomAlerts).(bool),
CanConfigureAPITokens: d.Get(APITokenFieldCanConfigureAPITokens).(bool),
CanConfigureAgentRunMode: d.Get(APITokenFieldCanConfigureAgentRunMode).(bool),
Expand Down Expand Up @@ -427,9 +406,7 @@ func (r *apiTokenResource) schemaV0() *schema.Resource {
APITokenFieldCanConfigureMobileAppMonitoring: apiTokenSchemaCanConfigureMobileAppMonitoring,
APITokenFieldCanConfigureUsers: apiTokenSchemaCanConfigureUsers,
APITokenFieldCanInstallNewAgents: apiTokenSchemaCanInstallNewAgents,
APITokenFieldCanSeeUsageInformation: apiTokenSchemaCanSeeUsageInformation,
APITokenFieldCanConfigureIntegrations: apiTokenSchemaCanConfigureIntegrations,
APITokenFieldCanSeeOnPremiseLicenseInformation: apiTokenSchemaCanSeeOnPremiseLicenseInformation,
APITokenFieldCanConfigureCustomAlerts: apiTokenSchemaCanConfigureCustomAlerts,
APITokenFieldCanConfigureAPITokens: apiTokenSchemaCanConfigureAPITokens,
APITokenFieldCanConfigureAgentRunMode: apiTokenSchemaCanConfigureAgentRunMode,
Expand Down
40 changes: 0 additions & 40 deletions instana/resource-api-token_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@ resource "instana_api_token" "example" {
can_configure_mobile_app_monitoring = true
can_configure_users = true
can_install_new_agents = true
can_see_usage_information = true
can_configure_integrations = true
can_see_on_premise_license_information = true
can_configure_custom_alerts = true
can_configure_api_tokens = true
can_configure_agent_run_mode = true
Expand Down Expand Up @@ -66,9 +64,7 @@ var apiTokenPermissionFields = []string{
APITokenFieldCanConfigureMobileAppMonitoring,
APITokenFieldCanConfigureUsers,
APITokenFieldCanInstallNewAgents,
APITokenFieldCanSeeUsageInformation,
APITokenFieldCanConfigureIntegrations,
APITokenFieldCanSeeOnPremiseLicenseInformation,
APITokenFieldCanConfigureCustomAlerts,
APITokenFieldCanConfigureAPITokens,
APITokenFieldCanConfigureAgentRunMode,
Expand Down Expand Up @@ -132,9 +128,7 @@ func TestCRUDOfAPITokenResourceWithMockServer(t *testing.T) {
"canConfigureMobileAppMonitoring" : true,
"canConfigureUsers" : true,
"canInstallNewAgents" : true,
"canSeeUsageInformation" : true,
"canConfigureIntegrations" : true,
"canSeeOnPremLicenseInformation" : true,
"canConfigureCustomAlerts" : true,
"canConfigureApiTokens" : true,
"canConfigureAgentRunMode" : true,
Expand Down Expand Up @@ -190,9 +184,7 @@ func createAPITokenConfigResourceTestStep(httpPort int, iteration int, id string
resource.TestCheckResourceAttr(testAPITokenDefinition, APITokenFieldCanConfigureMobileAppMonitoring, trueAsString),
resource.TestCheckResourceAttr(testAPITokenDefinition, APITokenFieldCanConfigureUsers, trueAsString),
resource.TestCheckResourceAttr(testAPITokenDefinition, APITokenFieldCanInstallNewAgents, trueAsString),
resource.TestCheckResourceAttr(testAPITokenDefinition, APITokenFieldCanSeeUsageInformation, trueAsString),
resource.TestCheckResourceAttr(testAPITokenDefinition, APITokenFieldCanConfigureIntegrations, trueAsString),
resource.TestCheckResourceAttr(testAPITokenDefinition, APITokenFieldCanSeeOnPremiseLicenseInformation, trueAsString),
resource.TestCheckResourceAttr(testAPITokenDefinition, APITokenFieldCanConfigureCustomAlerts, trueAsString),
resource.TestCheckResourceAttr(testAPITokenDefinition, APITokenFieldCanConfigureAPITokens, trueAsString),
resource.TestCheckResourceAttr(testAPITokenDefinition, APITokenFieldCanConfigureAgentRunMode, trueAsString),
Expand Down Expand Up @@ -228,9 +220,7 @@ func TestAPITokenSchemaDefinitionIsValid(t *testing.T) {
schemaAssert.AssertSchemaIsOfTypeBooleanWithDefault(APITokenFieldCanConfigureMobileAppMonitoring, false)
schemaAssert.AssertSchemaIsOfTypeBooleanWithDefault(APITokenFieldCanConfigureUsers, false)
schemaAssert.AssertSchemaIsOfTypeBooleanWithDefault(APITokenFieldCanInstallNewAgents, false)
schemaAssert.AssertSchemaIsOfTypeBooleanWithDefault(APITokenFieldCanSeeUsageInformation, false)
schemaAssert.AssertSchemaIsOfTypeBooleanWithDefault(APITokenFieldCanConfigureIntegrations, false)
schemaAssert.AssertSchemaIsOfTypeBooleanWithDefault(APITokenFieldCanSeeOnPremiseLicenseInformation, false)
schemaAssert.AssertSchemaIsOfTypeBooleanWithDefault(APITokenFieldCanConfigureCustomAlerts, false)
schemaAssert.AssertSchemaIsOfTypeBooleanWithDefault(APITokenFieldCanConfigureAPITokens, false)
schemaAssert.AssertSchemaIsOfTypeBooleanWithDefault(APITokenFieldCanConfigureAgentRunMode, false)
Expand Down Expand Up @@ -326,9 +316,7 @@ func TestShouldUpdateBasicFieldsOfTerraformResourceStateFromModelForAPIToken(t *
require.False(t, resourceData.Get(APITokenFieldCanConfigureMobileAppMonitoring).(bool))
require.False(t, resourceData.Get(APITokenFieldCanConfigureUsers).(bool))
require.False(t, resourceData.Get(APITokenFieldCanInstallNewAgents).(bool))
require.False(t, resourceData.Get(APITokenFieldCanSeeUsageInformation).(bool))
require.False(t, resourceData.Get(APITokenFieldCanConfigureIntegrations).(bool))
require.False(t, resourceData.Get(APITokenFieldCanSeeOnPremiseLicenseInformation).(bool))
require.False(t, resourceData.Get(APITokenFieldCanConfigureCustomAlerts).(bool))
require.False(t, resourceData.Get(APITokenFieldCanConfigureAPITokens).(bool))
require.False(t, resourceData.Get(APITokenFieldCanConfigureAgentRunMode).(bool))
Expand Down Expand Up @@ -410,18 +398,6 @@ func TestShouldUpdateCanInstallNewAgentsPermissionOfTerraformResourceStateFromMo
testSingleAPITokenPermissionSet(t, apiToken, APITokenFieldCanInstallNewAgents)
}

func TestShouldUpdateCanSeeUsageInformationPermissionOfTerraformResourceStateFromModelForAPIToken(t *testing.T) {
apiToken := restapi.APIToken{
ID: apiTokenID,
InternalID: apiTokenInternalID,
AccessGrantingToken: apiTokenAccessGrantingToken,
Name: apiTokenNameFieldValue,
CanSeeUsageInformation: true,
}

testSingleAPITokenPermissionSet(t, apiToken, APITokenFieldCanSeeUsageInformation)
}

func TestShouldUpdateCanConfigureIntegrationsPermissionOfTerraformResourceStateFromModelForAPIToken(t *testing.T) {
apiToken := restapi.APIToken{
ID: apiTokenID,
Expand All @@ -434,18 +410,6 @@ func TestShouldUpdateCanConfigureIntegrationsPermissionOfTerraformResourceStateF
testSingleAPITokenPermissionSet(t, apiToken, APITokenFieldCanConfigureIntegrations)
}

func TestShouldUpdateCanSeeOnPremiseLicenseInformationPermissionOfTerraformResourceStateFromModelForAPIToken(t *testing.T) {
apiToken := restapi.APIToken{
ID: apiTokenID,
InternalID: apiTokenInternalID,
AccessGrantingToken: apiTokenAccessGrantingToken,
Name: apiTokenNameFieldValue,
CanSeeOnPremiseLicenseInformation: true,
}

testSingleAPITokenPermissionSet(t, apiToken, APITokenFieldCanSeeOnPremiseLicenseInformation)
}

func TestShouldUpdateCanConfigureCustomAlertsPermissionOfTerraformResourceStateFromModelForAPIToken(t *testing.T) {
apiToken := restapi.APIToken{
ID: apiTokenID,
Expand Down Expand Up @@ -703,9 +667,7 @@ func TestShouldConvertStateOfAPITokenTerraformResourceToDataModel(t *testing.T)
setValueOnResourceData(t, resourceData, APITokenFieldCanConfigureMobileAppMonitoring, true)
setValueOnResourceData(t, resourceData, APITokenFieldCanConfigureUsers, true)
setValueOnResourceData(t, resourceData, APITokenFieldCanInstallNewAgents, true)
setValueOnResourceData(t, resourceData, APITokenFieldCanSeeUsageInformation, true)
setValueOnResourceData(t, resourceData, APITokenFieldCanConfigureIntegrations, true)
setValueOnResourceData(t, resourceData, APITokenFieldCanSeeOnPremiseLicenseInformation, true)
setValueOnResourceData(t, resourceData, APITokenFieldCanConfigureCustomAlerts, true)
setValueOnResourceData(t, resourceData, APITokenFieldCanConfigureAPITokens, true)
setValueOnResourceData(t, resourceData, APITokenFieldCanConfigureAgentRunMode, true)
Expand Down Expand Up @@ -740,9 +702,7 @@ func TestShouldConvertStateOfAPITokenTerraformResourceToDataModel(t *testing.T)
require.True(t, model.CanConfigureMobileAppMonitoring)
require.True(t, model.CanConfigureUsers)
require.True(t, model.CanInstallNewAgents)
require.True(t, model.CanSeeUsageInformation)
require.True(t, model.CanConfigureIntegrations)
require.True(t, model.CanSeeOnPremiseLicenseInformation)
require.True(t, model.CanConfigureCustomAlerts)
require.True(t, model.CanConfigureAPITokens)
require.True(t, model.CanConfigureAgentRunMode)
Expand Down
2 changes: 0 additions & 2 deletions instana/restapi/api-tokens-api.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@ type APIToken struct {
CanConfigureMobileAppMonitoring bool `json:"canConfigureMobileAppMonitoring"` //NEW
CanConfigureUsers bool `json:"canConfigureUsers"`
CanInstallNewAgents bool `json:"canInstallNewAgents"`
CanSeeUsageInformation bool `json:"canSeeUsageInformation"`
CanConfigureIntegrations bool `json:"canConfigureIntegrations"`
CanSeeOnPremiseLicenseInformation bool `json:"canSeeOnPremLicenseInformation"`
CanConfigureCustomAlerts bool `json:"canConfigureCustomAlerts"`
CanConfigureAPITokens bool `json:"canConfigureApiTokens"`
CanConfigureAgentRunMode bool `json:"canConfigureAgentRunMode"`
Expand Down
6 changes: 0 additions & 6 deletions instana/restapi/groups-api.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ type InstanaPermission string
const (
//PermissionCanConfigureApplications const for Instana permission CAN_CONFIGURE_APPLICATIONS
PermissionCanConfigureApplications = InstanaPermission("CAN_CONFIGURE_APPLICATIONS")
//PermissionCanSeeOnPremLiceneInformation const for Instana permission CAN_SEE_ON_PREM_LICENE_INFORMATION
PermissionCanSeeOnPremLiceneInformation = InstanaPermission("CAN_SEE_ON_PREM_LICENE_INFORMATION")
//PermissionCanConfigureEumApplications const for Instana permission CAN_CONFIGURE_EUM_APPLICATIONS
PermissionCanConfigureEumApplications = InstanaPermission("CAN_CONFIGURE_EUM_APPLICATIONS")
//PermissionCanConfigureAgents const for Instana permission CAN_CONFIGURE_AGENTS
Expand Down Expand Up @@ -42,8 +40,6 @@ const (
PermissionCanConfigureAgentRunMode = InstanaPermission("CAN_CONFIGURE_AGENT_RUN_MODE")
//PermissionCanConfigureServiceMapping const for Instana permission CAN_CONFIGURE_SERVICE_MAPPING
PermissionCanConfigureServiceMapping = InstanaPermission("CAN_CONFIGURE_SERVICE_MAPPING")
//PermissionCanSeeUsageInformation const for Instana permission CAN_SEE_USAGE_INFORMATION
PermissionCanSeeUsageInformation = InstanaPermission("CAN_SEE_USAGE_INFORMATION")
//PermissionCanEditAllAccessibleCustomDashboards const for Instana permission CAN_EDIT_ALL_ACCESSIBLE_CUSTOM_DASHBOARDS
PermissionCanEditAllAccessibleCustomDashboards = InstanaPermission("CAN_EDIT_ALL_ACCESSIBLE_CUSTOM_DASHBOARDS")
//PermissionCanConfigureUsers const for Instana permission CAN_CONFIGURE_USERS
Expand Down Expand Up @@ -75,7 +71,6 @@ func (permissions InstanaPermissions) ToStringSlice() []string {
// SupportedInstanaPermissions slice of all supported Permissions of the Instana API
var SupportedInstanaPermissions = InstanaPermissions{
PermissionCanConfigureApplications,
PermissionCanSeeOnPremLiceneInformation,
PermissionCanConfigureEumApplications,
PermissionCanConfigureAgents,
PermissionCanViewTraceDetails,
Expand All @@ -93,7 +88,6 @@ var SupportedInstanaPermissions = InstanaPermissions{
PermissionCanConfigureCustomAlerts,
PermissionCanConfigureAgentRunMode,
PermissionCanConfigureServiceMapping,
PermissionCanSeeUsageInformation,
PermissionCanEditAllAccessibleCustomDashboards,
PermissionCanConfigureUsers,
PermissionCanInstallNewAgents,
Expand Down
5 changes: 2 additions & 3 deletions instana/restapi/groups-api_test.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package restapi_test

import (
"testing"

. "github.com/gessnerfl/terraform-provider-instana/instana/restapi"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"testing"
)

const (
Expand All @@ -16,7 +17,6 @@ const (
func TestShouldReturnSupportedInstanaPermissionsAsString(t *testing.T) {
expectedResult := []string{
"CAN_CONFIGURE_APPLICATIONS",
"CAN_SEE_ON_PREM_LICENE_INFORMATION",
"CAN_CONFIGURE_EUM_APPLICATIONS",
"CAN_CONFIGURE_AGENTS",
"CAN_VIEW_TRACE_DETAILS",
Expand All @@ -34,7 +34,6 @@ func TestShouldReturnSupportedInstanaPermissionsAsString(t *testing.T) {
"CAN_CONFIGURE_CUSTOM_ALERTS",
"CAN_CONFIGURE_AGENT_RUN_MODE",
"CAN_CONFIGURE_SERVICE_MAPPING",
"CAN_SEE_USAGE_INFORMATION",
"CAN_EDIT_ALL_ACCESSIBLE_CUSTOM_DASHBOARDS",
"CAN_CONFIGURE_USERS",
"CAN_INSTALL_NEW_AGENTS",
Expand Down
Loading

0 comments on commit ebd12dd

Please sign in to comment.