@@ -25,6 +25,7 @@ import (
2525var (
2626 minVersionIntegrationPolicy = version .Must (version .NewVersion ("8.10.0" ))
2727 minVersionIntegrationPolicyIds = version .Must (version .NewVersion ("8.15.0" ))
28+ minVersionOutputId = version .Must (version .NewVersion ("8.16.0" ))
2829 minVersionSqlIntegration = version .Must (version .NewVersion ("9.1.0" ))
2930)
3031
@@ -62,6 +63,56 @@ func TestAccResourceIntegrationPolicyMultipleAgentPolicies(t *testing.T) {
6263 })
6364}
6465
66+ func TestAccResourceIntegrationPolicyWithOutput (t * testing.T ) {
67+ policyName := sdkacctest .RandStringFromCharSet (22 , sdkacctest .CharSetAlphaNum )
68+
69+ resource .Test (t , resource.TestCase {
70+ PreCheck : func () { acctest .PreCheck (t ) },
71+ CheckDestroy : checkResourceIntegrationPolicyDestroy ,
72+ Steps : []resource.TestStep {
73+ {
74+ ProtoV6ProviderFactories : acctest .Providers ,
75+ SkipFunc : versionutils .CheckIfVersionIsUnsupported (minVersionOutputId ),
76+ ConfigDirectory : acctest .NamedTestCaseDirectory ("create" ),
77+ ConfigVariables : config.Variables {
78+ "policy_name" : config .StringVariable (policyName ),
79+ "output_name" : config .StringVariable (fmt .Sprintf ("Test Output %s" , policyName )),
80+ },
81+ Check : resource .ComposeTestCheckFunc (
82+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "name" , policyName ),
83+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "description" , "IntegrationPolicyTest Policy with Output" ),
84+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "integration_name" , "tcp" ),
85+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "integration_version" , "1.16.0" ),
86+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "output_id" , fmt .Sprintf ("%s-test-output" , policyName )),
87+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.input_id" , "tcp-tcp" ),
88+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.enabled" , "true" ),
89+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.streams_json" , `{"tcp.generic":{"enabled":true,"vars":{"custom":"","data_stream.dataset":"tcp.generic","listen_address":"localhost","listen_port":8080,"ssl":"","syslog_options":"field: message","tags":[]}}}` ),
90+ ),
91+ },
92+ {
93+ ProtoV6ProviderFactories : acctest .Providers ,
94+ SkipFunc : versionutils .CheckIfVersionIsUnsupported (minVersionOutputId ),
95+ ConfigDirectory : acctest .NamedTestCaseDirectory ("update" ),
96+ ConfigVariables : config.Variables {
97+ "policy_name" : config .StringVariable (policyName ),
98+ "output_name" : config .StringVariable (fmt .Sprintf ("Test Output %s" , policyName )),
99+ "updated_output_name" : config .StringVariable (fmt .Sprintf ("Updated Test Output %s" , policyName )),
100+ },
101+ Check : resource .ComposeTestCheckFunc (
102+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "name" , policyName ),
103+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "description" , "Updated Integration Policy with Output" ),
104+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "integration_name" , "tcp" ),
105+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "integration_version" , "1.16.0" ),
106+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "output_id" , fmt .Sprintf ("%s-updated-output" , policyName )),
107+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.input_id" , "tcp-tcp" ),
108+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.enabled" , "false" ),
109+ resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.streams_json" , `{"tcp.generic":{"enabled":false,"vars":{"custom":"","data_stream.dataset":"tcp.generic","listen_address":"localhost","listen_port":8085,"ssl":"","syslog_options":"field: message","tags":[]}}}` ),
110+ ),
111+ },
112+ },
113+ })
114+ }
115+
65116func TestAccResourceIntegrationPolicy (t * testing.T ) {
66117 policyName := sdkacctest .RandStringFromCharSet (22 , sdkacctest .CharSetAlphaNum )
67118
@@ -82,6 +133,7 @@ func TestAccResourceIntegrationPolicy(t *testing.T) {
82133 resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "integration_name" , "tcp" ),
83134 resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "integration_version" , "1.16.0" ),
84135 resource .TestCheckNoResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "vars_json" ),
136+ resource .TestCheckNoResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "output_id" ),
85137 resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.input_id" , "tcp-tcp" ),
86138 resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.enabled" , "true" ),
87139 resource .TestCheckNoResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.vars_json" ),
@@ -101,6 +153,7 @@ func TestAccResourceIntegrationPolicy(t *testing.T) {
101153 resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "integration_name" , "tcp" ),
102154 resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "integration_version" , "1.16.0" ),
103155 resource .TestCheckNoResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "vars_json" ),
156+ resource .TestCheckNoResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "output_id" ),
104157 resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.input_id" , "tcp-tcp" ),
105158 resource .TestCheckResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.enabled" , "false" ),
106159 resource .TestCheckNoResourceAttr ("elasticstack_fleet_integration_policy.test_policy" , "input.0.vars_json" ),
0 commit comments