Skip to content

Commit c0deeeb

Browse files
committed
SUMO-245309 Resolve the merge conflicts
2 parents 9d5d99d + 69d8e42 commit c0deeeb

File tree

6 files changed

+106
-7
lines changed

6 files changed

+106
-7
lines changed

.github/CODEOWNERS

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,16 @@
22
# Each line is a file pattern followed by one or more owners.
33

44
# These owners will be the default owners for everything in
5-
# the repo. Unless a later match takes precedence,
6-
# @sumovishal, @dagould will be requested for
7-
# review when someone opens a pull request.
8-
* @sumovishal @dagould
5+
# the repo. Unless a later match takes precedence, they will
6+
# be requested for review when someone opens a pull request.
7+
* @SumoLogic/tf-platform-team
98

109
# Code owners for collection sources
1110
/sumologic/*_source.go @maimaisie @vsinghal13
1211
/sumologic/*_source_test.go @maimaisie @vsinghal13
1312
/sumologic/*_ingest_budget* @maimaisie @vsinghal13
1413
/sumologic/*_collector* @maimaisie @vsinghal13
15-
/sumologic/*_cse* @josh-williams @pmontiel-sumo
14+
/sumologic/*_cse* @pmontiel-sumo
1615
/website/docs/r/collector* @maimaisie @vsinghal13
1716
/website/docs/r/ingest_* @maimaisie @vsinghal13
1817
/website/docs/r/*_source* @maimaisie @vsinghal13

.github/workflows/test.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ jobs:
9898
SUMOLOGIC_TEST_ROLE_ARN: ${{ secrets.SUMOLOGIC_TEST_ROLE_ARN }}
9999
SUMOLOGIC_TEST_SAS_KEY: ${{ secrets.SUMOLOGIC_TEST_SAS_KEY }}
100100
SUMOLOGIC_TEST_SAS_KEY_NAME: ${{ secrets.SUMOLOGIC_TEST_SAS_KEY_NAME }}
101+
SUMOLOGIC_DATA_FORWARDING_BUCKET: ${{ secrets.SUMOLOGIC_DATA_FORWARDING_BUCKET }}
102+
SUMOLOGIC_DATA_FORWARDING_ROLE_ARN: ${{ secrets.SUMOLOGIC_DATA_FORWARDING_ROLE_ARN }}
103+
SUMOLOGIC_DATA_FORWARDING_AWS_REGION: ${{ secrets.SUMOLOGIC_DATA_FORWARDING_AWS_REGION }}
101104
SUMOLOGIC_TEST_AZURE_TENANT_ID: ${{ secrets.SUMOLOGIC_TEST_AZURE_TENANT_ID }}
102105
SUMOLOGIC_TEST_AZURE_CLIENT_ID: ${{ secrets.SUMOLOGIC_TEST_AZURE_CLIENT_ID }}
103106
SUMOLOGIC_TEST_AZURE_CLIENT_SECRET: ${{ secrets.SUMOLOGIC_TEST_AZURE_CLIENT_SECRET }}

sumologic/resource_sumologic_field.go

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package sumologic
22

33
import (
4+
"errors"
45
"fmt"
56

67
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
@@ -10,6 +11,7 @@ func resourceSumologicField() *schema.Resource {
1011
return &schema.Resource{
1112
Create: resourceSumologicFieldCreate,
1213
Read: resourceSumologicFieldRead,
14+
Update: resourceSumologicFieldUpdate,
1315
Delete: resourceSumologicFieldDelete,
1416
Importer: &schema.ResourceImporter{
1517
State: resourceSumologicFieldImport,
@@ -38,7 +40,6 @@ func resourceSumologicField() *schema.Resource {
3840
"state": {
3941
Type: schema.TypeString,
4042
Optional: true,
41-
ForceNew: true,
4243
},
4344
},
4445
}
@@ -116,6 +117,43 @@ func resourceSumologicFieldImport(d *schema.ResourceData, meta interface{}) ([]*
116117
return []*schema.ResourceData{d}, nil
117118
}
118119

120+
func resourceSumologicFieldUpdate(d *schema.ResourceData, meta interface{}) error {
121+
c := meta.(*Client)
122+
123+
id := d.Get("field_id").(string)
124+
name := d.Get("field_name").(string)
125+
state := d.Get("state").(string)
126+
if id == "" {
127+
newId, err := c.FindFieldId(name)
128+
if err != nil {
129+
return err
130+
}
131+
id = newId
132+
}
133+
_, err := c.GetField(id)
134+
135+
if err != nil {
136+
return err
137+
}
138+
139+
if state == "Enabled" {
140+
err := c.EnableField(id)
141+
if err != nil {
142+
return err
143+
}
144+
} else if state == "Disabled" {
145+
err := c.DisableField(id)
146+
if err != nil {
147+
return err
148+
}
149+
} else {
150+
return errors.New("Invalid value of state field. Only Enabled or Disabled values are accepted")
151+
}
152+
153+
return resourceSumologicFieldRead(d, meta)
154+
155+
}
156+
119157
func resourceToField(d *schema.ResourceData) Field {
120158
return Field{
121159
DataType: d.Get("data_type").(string),

sumologic/resource_sumologic_field_test.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,41 @@ func TestAccSumologicField_create(t *testing.T) {
5656
})
5757
}
5858

59+
func TestAccSumologicField_update(t *testing.T) {
60+
var field Field
61+
testFieldName := "fields_provider_test"
62+
testDataType := "String"
63+
testState := "Enabled"
64+
updatedState := "Disabled"
65+
resource.Test(t, resource.TestCase{
66+
PreCheck: func() { testAccPreCheck(t) },
67+
Providers: testAccProviders,
68+
CheckDestroy: testAccCheckFieldDestroy(field),
69+
Steps: []resource.TestStep{
70+
{
71+
Config: testAccSumologicField(testFieldName, testDataType, testState),
72+
Check: resource.ComposeTestCheckFunc(
73+
testAccCheckFieldExists("sumologic_field.test", &field, t),
74+
testAccCheckFieldAttributes("sumologic_field.test"),
75+
resource.TestCheckResourceAttr("sumologic_field.test", "field_name", testFieldName),
76+
resource.TestCheckResourceAttr("sumologic_field.test", "data_type", testDataType),
77+
resource.TestCheckResourceAttr("sumologic_field.test", "state", testState),
78+
),
79+
},
80+
{
81+
Config: testAccSumologicFieldUpdate(testFieldName, testDataType, updatedState),
82+
Check: resource.ComposeTestCheckFunc(
83+
testAccCheckFieldExists("sumologic_field.test", &field, t),
84+
testAccCheckFieldAttributes("sumologic_field.test"),
85+
resource.TestCheckResourceAttr("sumologic_field.test", "field_name", testFieldName),
86+
resource.TestCheckResourceAttr("sumologic_field.test", "data_type", testDataType),
87+
resource.TestCheckResourceAttr("sumologic_field.test", "state", updatedState),
88+
),
89+
},
90+
},
91+
})
92+
}
93+
5994
func testAccCheckFieldDestroy(field Field) resource.TestCheckFunc {
6095
return func(s *terraform.State) error {
6196
client := testAccProvider.Meta().(*Client)
@@ -116,6 +151,16 @@ resource "sumologic_field" "test" {
116151
`, fieldName, dataType, state)
117152
}
118153

154+
func testAccSumologicFieldUpdate(fieldName string, dataType string, state string) string {
155+
return fmt.Sprintf(`
156+
resource "sumologic_field" "test" {
157+
field_name = "%s"
158+
data_type = "%s"
159+
state = "%s"
160+
}
161+
`, fieldName, dataType, state)
162+
}
163+
119164
func testAccCheckFieldAttributes(name string) resource.TestCheckFunc {
120165
return func(s *terraform.State) error {
121166
f := resource.ComposeTestCheckFunc(

sumologic/sumologic_field.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,20 @@ func (s *Client) FindFieldId(name string) (string, error) {
9494
return "", fmt.Errorf("Field \"%s\" not found", name)
9595
}
9696

97+
func (s *Client) DisableField(id string) error {
98+
urlWithParams := fmt.Sprintf("v1/fields/%s/disable", id)
99+
100+
_, err := s.Delete(urlWithParams)
101+
return err
102+
}
103+
104+
func (s *Client) EnableField(id string) error {
105+
urlWithParams := fmt.Sprintf("v1/fields/%s/enable", id)
106+
107+
_, err := s.Put(urlWithParams, nil)
108+
return err
109+
}
110+
97111
type Field struct {
98112
FieldId string `json:"fieldId"`
99113
DataType string `json:"dataType"`

sumologic/sumologic_polling_source.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ type PollingAuthentication struct {
4141
ClientX509CertUrl string `json:"client_x509_cert_url"`
4242
SharedAccessPolicyName string `json:"sharedAccessPolicyName"`
4343
SharedAccessPolicyKey string `json:"sharedAccessPolicyKey"`
44-
AzureClientId string `json:"clientId"`
44+
AzureClientId string `json:"clientId"`
4545
TenantId string `json:"tenantId"`
4646
ClientSecret string `json:"clientSecret"`
4747
}

0 commit comments

Comments
 (0)