Skip to content

Commit d9ed857

Browse files
Schematics agent related fixes for GA (#5041)
* increased timeout of agent deploy to 30min * Fix for agent and policy tags crash issue * removed x-feature-agents header references * added refresh_token for agent update * Updated agent resource doc with latest * enchanced agent update * Modified wait logic of agent deploy with latest agent status code * Minor edits to agent testcases
1 parent ac90c83 commit d9ed857

21 files changed

+163
-602
lines changed

ibm/service/schematics/data_source_ibm_schematics_agent.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -541,13 +541,8 @@ func dataSourceIbmSchematicsAgentRead(context context.Context, d *schema.Resourc
541541
}
542542

543543
getAgentDataOptions := &schematicsv1.GetAgentDataOptions{
544-
// XFeatureAgents: core.BoolPtr(true),
545544
Profile: core.StringPtr("detailed"),
546545
}
547-
ff := map[string]string{
548-
"X-Feature-Agents": "true",
549-
}
550-
getAgentDataOptions.Headers = ff
551546

552547
getAgentDataOptions.SetAgentID(d.Get("agent_id").(string))
553548

@@ -582,7 +577,11 @@ func dataSourceIbmSchematicsAgentRead(context context.Context, d *schema.Resourc
582577
if err = d.Set("agent_location", agentData.AgentLocation); err != nil {
583578
return diag.FromErr(fmt.Errorf("Error setting agent_location: %s", err))
584579
}
585-
580+
if agentData.Tags != nil {
581+
if err = d.Set("tags", agentData.Tags); err != nil {
582+
return diag.FromErr(fmt.Errorf("Error setting tags: %s", err))
583+
}
584+
}
586585
agentInfrastructure := []map[string]interface{}{}
587586
if agentData.AgentInfrastructure != nil {
588587
modelMap, err := dataSourceIbmSchematicsAgentAgentInfrastructureToMap(agentData.AgentInfrastructure)

ibm/service/schematics/data_source_ibm_schematics_agent_deploy.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,8 @@ func dataSourceIbmSchematicsAgentDeployRead(context context.Context, d *schema.R
7979
}
8080

8181
getAgentDataOptions := &schematicsv1.GetAgentDataOptions{
82-
// XFeatureAgents: core.BoolPtr(true),
8382
Profile: core.StringPtr("detailed"),
8483
}
85-
ff := map[string]string{
86-
"X-Feature-Agents": "true",
87-
}
88-
getAgentDataOptions.Headers = ff
8984
getAgentDataOptions.SetAgentID(d.Get("agent_id").(string))
9085

9186
agentData, response, err := schematicsClient.GetAgentDataWithContext(context, getAgentDataOptions)

ibm/service/schematics/data_source_ibm_schematics_agent_deploy_test.go

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,6 @@ func TestAccIbmSchematicsAgentDeployDataSourceBasic(t *testing.T) {
2222
Steps: []resource.TestStep{
2323
resource.TestStep{
2424
Config: testAccCheckIbmSchematicsAgentDeployDataSourceConfigBasic(agentDeployJobAgentID),
25-
Check: resource.ComposeTestCheckFunc(
26-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_deploy.schematics_agent_deploy_instance", "id"),
27-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_deploy.schematics_agent_deploy_instance", "agent_id"),
28-
),
29-
},
30-
},
31-
})
32-
}
33-
34-
func TestAccIbmSchematicsAgentDeployDataSourceAllArgs(t *testing.T) {
35-
agentDeployJobAgentID := fmt.Sprintf("tf_agent_id_%d", acctest.RandIntRange(10, 100))
36-
agentDeployJobForce := "false"
37-
38-
resource.Test(t, resource.TestCase{
39-
PreCheck: func() { acc.TestAccPreCheck(t) },
40-
Providers: acc.TestAccProviders,
41-
Steps: []resource.TestStep{
42-
resource.TestStep{
43-
Config: testAccCheckIbmSchematicsAgentDeployDataSourceConfig(agentDeployJobAgentID, agentDeployJobForce),
4425
Check: resource.ComposeTestCheckFunc(
4526
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_deploy.schematics_agent_deploy_instance", "id"),
4627
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_deploy.schematics_agent_deploy_instance", "agent_id"),
@@ -60,25 +41,8 @@ func TestAccIbmSchematicsAgentDeployDataSourceAllArgs(t *testing.T) {
6041

6142
func testAccCheckIbmSchematicsAgentDeployDataSourceConfigBasic(agentDeployJobAgentID string) string {
6243
return fmt.Sprintf(`
63-
64-
resource "ibm_schematics_agent_deploy" "schematics_agent_deploy_instance" {
65-
agent_id = "%s"
66-
}
6744
data "ibm_schematics_agent_deploy" "schematics_agent_deploy_instance" {
68-
agent_id = ibm_schematics_agent_deploy.schematics_agent_deploy_instance.agent_id
69-
}
70-
`, agentDeployJobAgentID)
71-
}
72-
73-
func testAccCheckIbmSchematicsAgentDeployDataSourceConfig(agentDeployJobAgentID string, agentDeployJobForce string) string {
74-
return fmt.Sprintf(`
75-
resource "ibm_schematics_agent_deploy" "schematics_agent_deploy_instance" {
7645
agent_id = "%s"
77-
force = %s
7846
}
79-
80-
data "ibm_schematics_agent_deploy" "schematics_agent_deploy_instance" {
81-
agent_id = ibm_schematics_agent_deploy.schematics_agent_deploy_instance.agent_id
82-
}
83-
`, agentDeployJobAgentID, agentDeployJobForce)
47+
`, agentDeployJobAgentID)
8448
}

ibm/service/schematics/data_source_ibm_schematics_agent_health.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,8 @@ func dataSourceIbmSchematicsAgentHealthRead(context context.Context, d *schema.R
7474
}
7575

7676
getAgentDataOptions := &schematicsv1.GetAgentDataOptions{
77-
// XFeatureAgents: core.BoolPtr(true),
7877
Profile: core.StringPtr("detailed"),
7978
}
80-
ff := map[string]string{
81-
"X-Feature-Agents": "true",
82-
}
83-
getAgentDataOptions.Headers = ff
8479
getAgentDataOptions.SetAgentID(d.Get("agent_id").(string))
8580

8681
agentData, response, err := schematicsClient.GetAgentDataWithContext(context, getAgentDataOptions)

ibm/service/schematics/data_source_ibm_schematics_agent_health_test.go

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,6 @@ func TestAccIbmSchematicsAgentHealthDataSourceBasic(t *testing.T) {
2222
Steps: []resource.TestStep{
2323
resource.TestStep{
2424
Config: testAccCheckIbmSchematicsAgentHealthDataSourceConfigBasic(agentHealthJobAgentID),
25-
Check: resource.ComposeTestCheckFunc(
26-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_health.schematics_agent_health_instance", "id"),
27-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_health.schematics_agent_health_instance", "agent_id"),
28-
),
29-
},
30-
},
31-
})
32-
}
33-
34-
func TestAccIbmSchematicsAgentHealthDataSourceAllArgs(t *testing.T) {
35-
agentHealthJobAgentID := fmt.Sprintf("tf_agent_id_%d", acctest.RandIntRange(10, 100))
36-
agentHealthJobForce := "false"
37-
38-
resource.Test(t, resource.TestCase{
39-
PreCheck: func() { acc.TestAccPreCheck(t) },
40-
Providers: acc.TestAccProviders,
41-
Steps: []resource.TestStep{
42-
resource.TestStep{
43-
Config: testAccCheckIbmSchematicsAgentHealthDataSourceConfig(agentHealthJobAgentID, agentHealthJobForce),
4425
Check: resource.ComposeTestCheckFunc(
4526
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_health.schematics_agent_health_instance", "id"),
4627
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_health.schematics_agent_health_instance", "agent_id"),
@@ -59,25 +40,8 @@ func TestAccIbmSchematicsAgentHealthDataSourceAllArgs(t *testing.T) {
5940

6041
func testAccCheckIbmSchematicsAgentHealthDataSourceConfigBasic(agentHealthJobAgentID string) string {
6142
return fmt.Sprintf(`
62-
resource "ibm_schematics_agent_health" "schematics_agent_health_instance" {
63-
agent_id = "%s"
64-
}
65-
6643
data "ibm_schematics_agent_health" "schematics_agent_health_instance" {
67-
agent_id = ibm_schematics_agent_health.schematics_agent_health.agent_id
68-
}
69-
`, agentHealthJobAgentID)
70-
}
71-
72-
func testAccCheckIbmSchematicsAgentHealthDataSourceConfig(agentHealthJobAgentID string, agentHealthJobForce string) string {
73-
return fmt.Sprintf(`
74-
resource "ibm_schematics_agent_health" "schematics_agent_health_instance" {
7544
agent_id = "%s"
76-
force = %s
7745
}
78-
79-
data "ibm_schematics_agent_health" "schematics_agent_health_instance" {
80-
agent_id = ibm_schematics_agent_health.schematics_agent_health.agent_id
81-
}
82-
`, agentHealthJobAgentID, agentHealthJobForce)
46+
`, agentHealthJobAgentID)
8347
}

ibm/service/schematics/data_source_ibm_schematics_agent_prs.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,8 @@ func dataSourceIbmSchematicsAgentPrsRead(context context.Context, d *schema.Reso
7474
}
7575

7676
getAgentDataOptions := &schematicsv1.GetAgentDataOptions{
77-
// XFeatureAgents: core.BoolPtr(true),
7877
Profile: core.StringPtr("detailed"),
7978
}
80-
ff := map[string]string{
81-
"X-Feature-Agents": "true",
82-
}
83-
getAgentDataOptions.Headers = ff
8479
getAgentDataOptions.SetAgentID(d.Get("agent_id").(string))
8580

8681
agentData, response, err := schematicsClient.GetAgentDataWithContext(context, getAgentDataOptions)

ibm/service/schematics/data_source_ibm_schematics_agent_prs_test.go

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,6 @@ func TestAccIbmSchematicsAgentPrsDataSourceBasic(t *testing.T) {
2222
Steps: []resource.TestStep{
2323
resource.TestStep{
2424
Config: testAccCheckIbmSchematicsAgentPrsDataSourceConfigBasic(agentPRSJobAgentID),
25-
Check: resource.ComposeTestCheckFunc(
26-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_prs.schematics_agent_prs_instance", "id"),
27-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_prs.schematics_agent_prs_instance", "agent_id"),
28-
),
29-
},
30-
},
31-
})
32-
}
33-
34-
func TestAccIbmSchematicsAgentPrsDataSourceAllArgs(t *testing.T) {
35-
agentPRSJobAgentID := fmt.Sprintf("tf_agent_id_%d", acctest.RandIntRange(10, 100))
36-
agentPRSJobForce := "false"
37-
38-
resource.Test(t, resource.TestCase{
39-
PreCheck: func() { acc.TestAccPreCheck(t) },
40-
Providers: acc.TestAccProviders,
41-
Steps: []resource.TestStep{
42-
resource.TestStep{
43-
Config: testAccCheckIbmSchematicsAgentPrsDataSourceConfig(agentPRSJobAgentID, agentPRSJobForce),
4425
Check: resource.ComposeTestCheckFunc(
4526
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_prs.schematics_agent_prs_instance", "id"),
4627
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent_prs.schematics_agent_prs_instance", "agent_id"),
@@ -59,25 +40,8 @@ func TestAccIbmSchematicsAgentPrsDataSourceAllArgs(t *testing.T) {
5940

6041
func testAccCheckIbmSchematicsAgentPrsDataSourceConfigBasic(agentPRSJobAgentID string) string {
6142
return fmt.Sprintf(`
62-
resource "ibm_schematics_agent_prs" "schematics_agent_prs_instance" {
63-
agent_id = "%s"
64-
}
65-
6643
data "ibm_schematics_agent_prs" "schematics_agent_prs_instance" {
67-
agent_id = ibm_schematics_agent_prs.schematics_agent_prs_instance.agent_id
68-
}
69-
`, agentPRSJobAgentID)
70-
}
71-
72-
func testAccCheckIbmSchematicsAgentPrsDataSourceConfig(agentPRSJobAgentID string, agentPRSJobForce string) string {
73-
return fmt.Sprintf(`
74-
resource "ibm_schematics_agent_prs" "schematics_agent_prs_instance" {
7544
agent_id = "%s"
76-
force = %s
7745
}
78-
79-
data "ibm_schematics_agent_prs" "schematics_agent_prs_instance" {
80-
agent_id = ibm_schematics_agent_prs.schematics_agent_prs_instance.agent_id
81-
}
82-
`, agentPRSJobAgentID, agentPRSJobForce)
46+
`, agentPRSJobAgentID)
8347
}

ibm/service/schematics/data_source_ibm_schematics_agent_test.go

Lines changed: 3 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515

1616
func TestAccIbmSchematicsAgentDataSourceBasic(t *testing.T) {
1717
agentDataName := fmt.Sprintf("tf_name_%d", acctest.RandIntRange(10, 100))
18-
agentDataVersion := "1.0.0-beta2"
18+
agentDataVersion := "1.0.0"
1919
agentDataSchematicsLocation := "us-south"
2020
agentDataAgentLocation := "eu-de"
2121

@@ -42,7 +42,7 @@ func TestAccIbmSchematicsAgentDataSourceBasic(t *testing.T) {
4242

4343
func TestAccIbmSchematicsAgentDataSourceAllArgs(t *testing.T) {
4444
agentDataName := fmt.Sprintf("tf_name_%d", acctest.RandIntRange(10, 100))
45-
agentDataVersion := "1.0.0-beta2"
45+
agentDataVersion := "1.0.0"
4646
agentDataSchematicsLocation := "us-south"
4747
agentDataAgentLocation := "eu-de"
4848
agentDataDescription := fmt.Sprintf("tf_description_%d", acctest.RandIntRange(10, 100))
@@ -65,19 +65,12 @@ func TestAccIbmSchematicsAgentDataSourceAllArgs(t *testing.T) {
6565
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "agent_location"),
6666
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "agent_infrastructure.#"),
6767
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "agent_metadata.#"),
68-
resource.TestCheckResourceAttr("data.ibm_schematics_agent.schematics_agent_instance", "agent_metadata.0.name", agentDataName),
69-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "agent_inputs.#"),
70-
resource.TestCheckResourceAttr("data.ibm_schematics_agent.schematics_agent_instance", "agent_inputs.0.name", agentDataName),
71-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "agent_inputs.0.value"),
72-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "agent_inputs.0.use_default"),
73-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "agent_inputs.0.link"),
7468
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "user_state.#"),
7569
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "agent_crn"),
7670
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "id"),
7771
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "created_at"),
7872
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "creation_by"),
7973
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "updated_at"),
80-
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "updated_by"),
8174
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "system_state.#"),
8275
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "agent_kpi.#"),
8376
resource.TestCheckResourceAttrSet("data.ibm_schematics_agent.schematics_agent_instance", "recent_prs_job.#"),
@@ -130,49 +123,13 @@ func testAccCheckIbmSchematicsAgentDataSourceConfig(agentDataName string, agentD
130123
cos_bucket_region = "cos_bucket_region"
131124
}
132125
description = "%s"
133-
tags = "FIXME"
126+
tags = ["agent-tag"]
134127
agent_metadata {
135128
name = "purpose"
136129
value = ["git", "terraform", "ansible"]
137130
}
138-
agent_inputs {
139-
name = "name"
140-
value = "value"
141-
use_default = true
142-
metadata {
143-
type = "boolean"
144-
aliases = [ "aliases" ]
145-
description = "description"
146-
cloud_data_type = "cloud_data_type"
147-
default_value = "default_value"
148-
link_status = "normal"
149-
secure = true
150-
immutable = true
151-
hidden = true
152-
required = true
153-
options = [ "options" ]
154-
min_value = 1
155-
max_value = 1
156-
min_length = 1
157-
max_length = 1
158-
matches = "matches"
159-
position = 1
160-
group_by = "group_by"
161-
source = "source"
162-
}
163-
link = "link"
164-
}
165131
user_state {
166132
state = "enable"
167-
set_by = "set_by"
168-
set_at = "2021-01-31T09:44:12Z"
169-
}
170-
agent_kpi {
171-
availability_indicator = "available"
172-
lifecycle_indicator = "consistent"
173-
percent_usage_indicator = "percent_usage_indicator"
174-
application_indicators = [ null ]
175-
infra_indicators = [ null ]
176133
}
177134
}
178135

ibm/service/schematics/data_source_ibm_schematics_policy.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,11 @@ func dataSourceIbmSchematicsPolicyRead(context context.Context, d *schema.Resour
315315
return diag.FromErr(fmt.Errorf("Error setting kind: %s", err))
316316
}
317317

318+
if policy.Tags != nil {
319+
if err = d.Set("tags", policy.Tags); err != nil {
320+
return diag.FromErr(fmt.Errorf("Error setting tags: %s", err))
321+
}
322+
}
318323
target := []map[string]interface{}{}
319324
if policy.Target != nil {
320325
modelMap, err := dataSourceIbmSchematicsPolicyPolicyObjectsToMap(policy.Target)

ibm/service/schematics/data_source_ibm_schematics_policy_test.go

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func TestAccIbmSchematicsPolicyDataSourceBasic(t *testing.T) {
3434
func TestAccIbmSchematicsPolicyDataSourceAllArgs(t *testing.T) {
3535
policyName := fmt.Sprintf("tf_name_%d", acctest.RandIntRange(10, 100))
3636
policyDescription := fmt.Sprintf("tf_description_%d", acctest.RandIntRange(10, 100))
37-
policyResourceGroup := fmt.Sprintf("tf_resource_group_%d", acctest.RandIntRange(10, 100))
37+
policyResourceGroup := "Default"
3838
policyLocation := "us-south"
3939
policyKind := "agent_assignment_policy"
4040

@@ -57,11 +57,7 @@ func TestAccIbmSchematicsPolicyDataSourceAllArgs(t *testing.T) {
5757
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "target.#"),
5858
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "parameter.#"),
5959
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "id"),
60-
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "crn"),
6160
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "account"),
62-
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "scoped_resources.#"),
63-
resource.TestCheckResourceAttr("data.ibm_schematics_policy.schematics_policy_instance", "scoped_resources.0.kind", policyKind),
64-
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "scoped_resources.0.id"),
6561
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "created_at"),
6662
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "created_by"),
6763
resource.TestCheckResourceAttrSet("data.ibm_schematics_policy.schematics_policy_instance", "updated_at"),
@@ -90,40 +86,24 @@ func testAccCheckIbmSchematicsPolicyDataSourceConfig(policyName string, policyDe
9086
name = "%s"
9187
description = "%s"
9288
resource_group = "%s"
93-
tags = "FIXME"
89+
tags = ["policy-tag"]
9490
location = "%s"
95-
state {
96-
state = "draft"
97-
set_by = "set_by"
98-
set_at = "2021-01-31T09:44:12Z"
99-
}
10091
kind = "%s"
10192
target {
10293
selector_kind = "ids"
10394
selector_ids = [ "selector_ids" ]
104-
selector_scope {
105-
kind = "workspace"
106-
tags = [ "tags" ]
107-
resource_groups = [ "resource_groups" ]
108-
locations = [ "us-south" ]
109-
}
11095
}
11196
parameter {
11297
agent_assignment_policy_parameter {
113-
selector_kind = "ids"
114-
selector_ids = [ "selector_ids" ]
98+
selector_kind = "scoped"
11599
selector_scope {
116100
kind = "workspace"
117101
tags = [ "tags" ]
118-
resource_groups = [ "resource_groups" ]
102+
resource_groups = [ "Default" ]
119103
locations = [ "us-south" ]
120104
}
121105
}
122106
}
123-
scoped_resources {
124-
kind = "workspace"
125-
id = "id"
126-
}
127107
}
128108
129109
data "ibm_schematics_policy" "schematics_policy_instance" {

0 commit comments

Comments
 (0)