Skip to content

Commit 6b36856

Browse files
authored
Soft remove sumologic_ingest_budget resource (#684)
* remove sumologic_ingest_budget resource * keep deprecation message
1 parent a0646d0 commit 6b36856

File tree

4 files changed

+16
-303
lines changed

4 files changed

+16
-303
lines changed

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
## 2.31.4 (Unreleased)
2-
1+
## 3.0.0 (Unreleased)
2+
DEPRECATIONS:
3+
* resource_sumologic_ingest_budget : Deprecated in favour of `resource_sumologic_ingest_budget_v2`.
34

45
## 2.31.3 (August 28, 2024)
56
ENHANCEMENTS:
Lines changed: 12 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package sumologic
22

33
import (
4-
"log"
4+
"errors"
55

66
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
77
"github.com/hashicorp/terraform-plugin-sdk/helper/validation"
@@ -10,14 +10,18 @@ import (
1010
func resourceSumologicIngestBudget() *schema.Resource {
1111
return &schema.Resource{
1212
DeprecationMessage: "Use resource_sumologic_ingest_budget_v2 instead.",
13-
Create: resourceSumologicIngestBudgetCreate,
14-
Read: resourceSumologicIngestBudgetRead,
15-
Delete: resourceSumologicIngestBudgetDelete,
16-
Update: resourceSumologicIngestBudgetUpdate,
17-
Importer: &schema.ResourceImporter{
18-
State: resourceSumologicIngestBudgetImport,
13+
Create: func(d *schema.ResourceData, meta any) error {
14+
return errors.New("Use resource_sumologic_ingest_budget_v2 instead.")
15+
},
16+
Read: func(d *schema.ResourceData, meta any) error {
17+
return errors.New("Use resource_sumologic_ingest_budget_v2 instead.")
18+
},
19+
Update: func(d *schema.ResourceData, meta any) error {
20+
return errors.New("Use resource_sumologic_ingest_budget_v2 instead.")
21+
},
22+
Delete: func(d *schema.ResourceData, meta any) error {
23+
return errors.New("Use resource_sumologic_ingest_budget_v2 instead.")
1924
},
20-
2125
Schema: map[string]*schema.Schema{
2226
"name": {
2327
Type: schema.TypeString,
@@ -66,89 +70,3 @@ func resourceSumologicIngestBudget() *schema.Resource {
6670
},
6771
}
6872
}
69-
70-
func resourceSumologicIngestBudgetCreate(d *schema.ResourceData, meta interface{}) error {
71-
c := meta.(*Client)
72-
73-
id, err := c.CreateIngestBudget(resourceToIngestBudget(d))
74-
if err != nil {
75-
return err
76-
}
77-
78-
d.SetId(id)
79-
80-
return resourceSumologicIngestBudgetRead(d, meta)
81-
}
82-
83-
func resourceSumologicIngestBudgetRead(d *schema.ResourceData, meta interface{}) error {
84-
c := meta.(*Client)
85-
86-
id := d.Id()
87-
88-
budget, err := c.GetIngestBudget(id)
89-
if err != nil {
90-
return err
91-
}
92-
93-
if budget == nil {
94-
log.Printf("[WARN] Ingest budget not found, removing from state: %v", id)
95-
d.SetId("")
96-
97-
return nil
98-
}
99-
100-
d.Set("name", budget.Name)
101-
d.Set("field_value", budget.FieldValue)
102-
d.Set("capacity_bytes", budget.Capacity)
103-
d.Set("timezone", budget.Timezone)
104-
d.Set("reset_time", budget.ResetTime)
105-
d.Set("description", budget.Description)
106-
d.Set("action", budget.Action)
107-
108-
return nil
109-
}
110-
111-
func resourceSumologicIngestBudgetUpdate(d *schema.ResourceData, meta interface{}) error {
112-
c := meta.(*Client)
113-
114-
err := c.UpdateIngestBudget(resourceToIngestBudget(d))
115-
116-
return err
117-
}
118-
119-
func resourceSumologicIngestBudgetDelete(d *schema.ResourceData, meta interface{}) error {
120-
c := meta.(*Client)
121-
122-
err := c.DeleteIngestBudget(d.Id())
123-
124-
return err
125-
}
126-
127-
func resourceSumologicIngestBudgetImport(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
128-
c := meta.(*Client)
129-
130-
name := d.Id()
131-
132-
budget, err := c.FindIngestBudget(name)
133-
134-
if err != nil {
135-
return nil, err
136-
}
137-
138-
d.SetId(budget.ID)
139-
140-
return []*schema.ResourceData{d}, nil
141-
}
142-
143-
func resourceToIngestBudget(d *schema.ResourceData) IngestBudget {
144-
return IngestBudget{
145-
ID: d.Id(),
146-
Name: d.Get("name").(string),
147-
FieldValue: d.Get("field_value").(string),
148-
Capacity: d.Get("capacity_bytes").(int),
149-
Timezone: d.Get("timezone").(string),
150-
ResetTime: d.Get("reset_time").(string),
151-
Description: d.Get("description").(string),
152-
Action: d.Get("action").(string),
153-
}
154-
}

sumologic/resource_sumologic_ingest_budget_test.go

Lines changed: 0 additions & 163 deletions
This file was deleted.

website/docs/r/ingest_budget.html.markdown

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -8,47 +8,4 @@ description: |-
88
# sumologic_ingest_budget
99
Provides a [Sumologic Ingest Budget][1]. To assign an Ingest Budget to the Collector use the field `_budget` with the Field Value of the Ingest Budget to assign.
1010

11-
## Example Usage
12-
```hcl
13-
resource "sumologic_collector" "collector" {
14-
name = "testCollector"
15-
fields = {
16-
"_budget" = "${sumologic_ingest_budget.budget.field_value}"
17-
}
18-
}
19-
20-
resource "sumologic_ingest_budget" "budget" {
21-
name = "testBudget"
22-
field_value = "test"
23-
capacity_bytes = 30000000000
24-
description = "For testing purposes"
25-
}
26-
```
27-
28-
## Argument Reference
29-
30-
The following arguments are supported:
31-
32-
* `name` - (Required) Display name of the ingest budget. This must be unique across all of the ingest budgets
33-
* `field_value` - (Required) Custom field value that is used to assign Collectors to the ingest budget.
34-
* `capacity_bytes` - (Required) Capacity of the ingest budget, in bytes.
35-
* `description` - (Optional) The description of the collector.
36-
* `timezone` - (Optional) The time zone to use for this collector. The value follows the [tzdata][2] naming convention. Defaults to `Etc/UTC`
37-
* `reset_time` - (Optional) Reset time of the ingest budget in HH:MM format. Defaults to `00:00`
38-
* `reset_time` - (Optional) Reset time of the ingest budget in HH:MM format. Defaults to `00:00`
39-
* `description` - (Optional) Description of the ingest budget.
40-
* `action` - (Optional) Action to take when ingest budget's capacity is reached. All actions are audited. Supported values are `stopCollecting` and `keepCollecting`.
41-
42-
The following attributes are exported:
43-
44-
* `id` - The internal ID of the ingest budget. This can be used to assign collectors to the ingest budget.
45-
46-
## Import
47-
Ingest budgets can be imported using the name, e.g.:
48-
49-
```hcl
50-
terraform import sumologic_ingest_budget.budget budgetName
51-
```
52-
53-
[1]: https://help.sumologic.com/Manage/Ingestion-and-Volume/Ingest_Budgets
54-
[2]: https://en.wikipedia.org/wiki/Tz_database
11+
**DEPRECATED**: This resource is deprecated and is being removed. Kindly use `sumologic_ingest_budget_v2` instead.

0 commit comments

Comments
 (0)