Coder Social home page Coder Social logo

icinga / terraform-provider-icinga2 Goto Github PK

View Code? Open in Web Editor NEW
21.0 12.0 19.0 8.15 MB

Terraform Icinga2 provider

Home Page: https://www.terraform.io/docs/providers/icinga2/

License: Mozilla Public License 2.0

Makefile 4.12% Go 90.52% Shell 5.36%
terraform terraform-provider icinga2

terraform-provider-icinga2's Introduction

Terraform Provider

Build Status Build Status

Requirements

  • Terraform 0.12.x
  • Go 1.16 (to build the provider plugin)

Building The Provider

Clone repository to: $GOPATH/src/github.com/Icinga/terraform-provider-icinga2

$ mkdir -p $GOPATH/src/github.com/Icinga; cd $GOPATH/src/github.com/Icinga
$ git clone [email protected]:Icinga/terraform-provider-icinga2

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/Icinga/terraform-provider-$PROVIDER_NAME
$ make build

Using the provider

The documentation for this provider is at the Terraform Icinga2 provider docs

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.13+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

$ make bin
...
$ $GOPATH/bin/terraform-provider-icinga2
...

In order to test the provider, you can simply run make test.

$ make test

In order to run the full suite of Acceptance tests, run make testacc.

Note: Acceptance tests create real resources, and often cost money to run.

For this provider you will need access to an Icinga2 server to run the acceptance tests.

$ make testacc

terraform-provider-icinga2's People

Contributors

aflatto avatar appilon avatar attachmentgenie avatar dependabot[bot] avatar djalal avatar gechr avatar grubernaut avatar kavu avatar lazzurs avatar lrsmith avatar micwiel avatar nicolai86 avatar radeksimko avatar rayterrill avatar sazzels avatar slavrd avatar stack72 avatar wndhydrnt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

terraform-provider-icinga2's Issues

Hosts created with terraform don't inherit custom variables from its template

Using an icinga host template that has custom variables, a host object created through a direct API call with curl inherits the custom vars from the template whereas an equivalent host object created through terraform does not.

Terraform Version

> terraform --version
Terraform v0.15.4
on linux_amd64
+ provider registry.terraform.io/hashicorp/aws v3.30.0
+ provider registry.terraform.io/icinga/icinga2 v0.5.0

Affected Resource(s)

Please list the resources as a list, for example:

  • icinga2_host

Terraform and Icinga Configuration Files

template Host "example" {
  vars.inherited_from_template = true
}
curl -sSLD /dev/stderr \
  -u "${ICINGA2_API_USER}:${ICINGA2_API_PASSWORD}" \
  -H 'Accept: application/json' \
  -X PUT \
  "${ICINGA2_API_URL}/objects/hosts/curl-example" \
  -d '{ "templates": [ "example" ], "attrs": { "address": "1.1.1.1", "check_command": "dummy", "vars.provided_by_host": "true" }, "pretty": true }'
resource "icinga2_host" "example" {
  hostname = "terraform-example"
  address = "1.1.1.1"
  check_command = "dummy"
  templates = [ "example" ]

  vars = {
    provided_by_host = true
  }
}

Expected Behavior

The terraformed host should have the same custom vars as the curl-created host

Actual Behavior

> curl -s\
  -u "${ICINGA2_API_USER}:${ICINGA2_API_PASSWORD}" \
  -H 'Accept: application/json' \
  "${ICINGA2_API_URL}/objects/hosts/curl-example" | jq -S '.results[0].attrs.vars'
{
  "inherited_from_template": true,
  "provided_by_host": "true"
}
> curl -s \
  -u "${ICINGA2_API_USER}:${ICINGA2_API_PASSWORD}" \
  -H 'Accept: application/json' \
  "${ICINGA2_API_URL}/objects/hosts/terraform-example" | jq -S '.results[0].attrs.vars'
{
  "provided_by_host": "true"
}

Steps to Reproduce

Please list the steps required to reproduce the issue, for example:

  1. create a template in icinga's config, giving it custom vars
  2. terraform a Host that uses that config

Problem with icinga2 host provisionning

This issue was originally opened by @ahany007 as hashicorp/terraform#18743. It was migrated here as a result of the provider split. The original body of the issue is below.


Hi there,

I am trying to create a new host on icinga2 using terraform i used the exact syntax as the terraform documentation but i found the below error:

icinga2_host.host: 1 error(s) occurred:

icinga2_host.host: Validation failed for object 'terraform-host-1' of type 'Host'; Attribute 'groups': Attribute must not be empty. Location: in /var/lib/icinga2/api/packages/_api/5ec3a468-6a3e-495c-9384-28dbaae1feba/conf.d/hosts/terraform-host-1.conf: 7:2-7:14

I am using terraform version:
Terraform v0.11.7

provider.aws v1.31.0
provider.icinga2 v0.1.1

code:
resource "icinga2_hostgroup" "terraform" {
name = "terraform-hostgroup-1"
display_name = "Terraform Test HostGroup"
}

provider "icinga2" {
api_url = "https://localhost:5665/v1"
api_user = "root"
api_password = "root"
insecure_skip_tls_verify = true
}

resource "icinga2_host" "host" {
hostname = "terraform-host-1"
address = "10.10.10.1"
check_command = "hostalive"
templates= ["generic-host"]

}

steps to produce:
terraform apply

ForceNew missing afer value is changed on object

This issue was originally opened by @o0Nitan0o as hashicorp/terraform#23571. It was migrated here as a result of the provider split. The original body of the issue is below.


Terraform Version

Terraform v0.12.17

Terraform Configuration Files

resource "icinga2_host" "host" {
  hostname      = "terraformTEST1"
  address       = "10.10.10.1"
  check_command = "hostalive"
  templates     = ["bp-host-web"]
  groups        = ["${icinga2_hostgroup.hostgroup1.name}"]

  vars = {
    os        = "linux"
    osver     = "2"
    allowance = "none"
    #test = "${icinga2_hostgroup.hostgroup1.display_name}"
  }
}


resource "icinga2_hostgroup" "hostgroup1" {
  name         = "terraform-group-11"
  display_name = "Terraform_Test_HostGroup1"
}

Debug Output

2019/12/05 15:32:03 [INFO] Terraform version: 0.12.17  
2019/12/05 15:32:03 [INFO] Go runtime version: go1.12.13
2019/12/05 15:32:03 [INFO] CLI args: []string{"C:\\terraform\\terraform.exe", "apply"}
2019/12/05 15:32:03 [DEBUG] Attempting to open CLI config file: C:\Users\tomasz.pordzik\AppData\Roaming\terraform.rc
2019/12/05 15:32:03 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2019/12/05 15:32:03 [DEBUG] checking for credentials in "C:\\Users\\tomasz.pordzik\\AppData\\Roaming\\terraform.d\\plugins"
2019/12/05 15:32:03 [INFO] CLI command args: []string{"apply"}
2019/12/05 15:32:03 [TRACE] Meta.Backend: no config given or present on disk, so returning nil config
2019/12/05 15:32:03 [TRACE] Meta.Backend: backend has not previously been initialized in this working directory
2019/12/05 15:32:03 [DEBUG] New state was assigned lineage "0166d182-d5f8-f2db-9b95-7aaf772379fa"
2019/12/05 15:32:03 [TRACE] Meta.Backend: using default local state only (no backend configuration, and no existing initialized backend)
2019/12/05 15:32:03 [TRACE] Meta.Backend: instantiated backend of type <nil>
2019/12/05 15:32:03 [DEBUG] checking for provider in "."
2019/12/05 15:32:03 [DEBUG] checking for provider in "C:\\terraform"
2019/12/05 15:32:03 [DEBUG] checking for provider in ".terraform\\plugins\\windows_amd64"
2019/12/05 15:32:03 [DEBUG] checking for provider in "C:\\Users\\tomasz.pordzik\\AppData\\Roaming\\terraform.d\\plugins"
2019/12/05 15:32:03 [WARN] found legacy provider "terraform-provider-icinga2.exe"
2019/12/05 15:32:03 [DEBUG] found valid plugin: "icinga2", "0.0.0", "C:\\Users\\tomasz.pordzik\\AppData\\Roaming\\terraform.d\\plugins\\terraform-provider-icinga2.exe"
2019/12/05 15:32:03 [DEBUG] checking for provisioner in "."
2019/12/05 15:32:03 [DEBUG] checking for provisioner in "C:\\terraform"
2019/12/05 15:32:03 [DEBUG] checking for provisioner in ".terraform\\plugins\\windows_amd64"
2019/12/05 15:32:03 [DEBUG] checking for provisioner in "C:\\Users\\tomasz.pordzik\\AppData\\Roaming\\terraform.d\\plugins"
2019/12/05 15:32:03 [TRACE] Meta.Backend: backend <nil> does not support operations, so wrapping it in a local backend
2019/12/05 15:32:03 [INFO] backend/local: starting Apply operation
2019/12/05 15:32:03 [TRACE] backend/local: requesting state manager for workspace "default"
2019/12/05 15:32:03 [TRACE] backend/local: state manager for workspace "default" will:
 - read initial snapshot from terraform.tfstate
 - write new snapshots to terraform.tfstate
 - create any backup at terraform.tfstate.backup
2019/12/05 15:32:03 [TRACE] backend/local: requesting state lock for workspace "default"
2019/12/05 15:32:03 [TRACE] statemgr.Filesystem: preparing to manage state snapshots at terraform.tfstate
2019/12/05 15:32:03 [TRACE] statemgr.Filesystem: existing snapshot has lineage "ae029484-ccfb-33e8-d53c-7df6b2f1e47a" serial 111
2019/12/05 15:32:03 [TRACE] statemgr.Filesystem: locking terraform.tfstate using LockFileEx
2019/12/05 15:32:03 [TRACE] statemgr.Filesystem: writing lock metadata to .terraform.tfstate.lock.info
2019/12/05 15:32:03 [TRACE] backend/local: reading remote state for workspace "default"
2019/12/05 15:32:03 [TRACE] statemgr.Filesystem: reading latest snapshot from terraform.tfstate
2019/12/05 15:32:03 [TRACE] statemgr.Filesystem: read snapshot with lineage "ae029484-ccfb-33e8-d53c-7df6b2f1e47a" serial 111
2019/12/05 15:32:03 [TRACE] backend/local: retrieving local state snapshot for workspace "default"
2019/12/05 15:32:03 [TRACE] backend/local: building context for current working directory
2019/12/05 15:32:03 [TRACE] terraform.NewContext: starting
2019/12/05 15:32:03 [TRACE] terraform.NewContext: resolving provider version selections
2019/12/05 15:32:03 [TRACE] terraform.NewContext: loading provider schemas
2019/12/05 15:32:03 [TRACE] LoadSchemas: retrieving schema for provider type "icinga2"
2019-12-05T15:32:03.699+0100 [INFO]  plugin: configuring client automatic mTLS
2019-12-05T15:32:03.728+0100 [DEBUG] plugin: starting plugin: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe args=[C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe]
2019-12-05T15:32:03.731+0100 [DEBUG] plugin: plugin started: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe pid=51504
2019-12-05T15:32:03.731+0100 [DEBUG] plugin: waiting for RPC address: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe
2019-12-05T15:32:03.825+0100 [INFO]  plugin.terraform-provider-icinga2.exe: configuring server automatic mTLS: timestamp=2019-12-05T15:32:03.825+0100
2019-12-05T15:32:03.854+0100 [DEBUG] plugin: using plugin: version=5
2019-12-05T15:32:03.854+0100 [DEBUG] plugin.terraform-provider-icinga2.exe: plugin address: address=127.0.0.1:10000 network=tcp timestamp=2019-12-05T15:32:03.854+0100
2019/12/05 15:32:03 [TRACE] GRPCProvider: GetSchema
2019/12/05 15:32:03 [TRACE] GRPCProvider: Close
2019-12-05T15:32:03.930+0100 [DEBUG] plugin: plugin process exited: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe pid=51504
2019-12-05T15:32:03.930+0100 [DEBUG] plugin: plugin exited
2019/12/05 15:32:03 [TRACE] terraform.NewContext: complete
2019/12/05 15:32:03 [TRACE] backend/local: finished building terraform.Context
2019/12/05 15:32:03 [TRACE] backend/local: requesting interactive input, if necessary
2019/12/05 15:32:03 [TRACE] Context.Input: Prompting for provider arguments
2019/12/05 15:32:03 [TRACE] Context.Input: Provider provider.icinga2 declared at provider.tf:1,1-19
2019/12/05 15:32:03 [TRACE] Context.Input: Input for provider.icinga2: map[string]cty.Value{}
2019/12/05 15:32:03 [TRACE] backend/local: running validation operation
2019/12/05 15:32:03 [INFO] terraform: building graph: GraphTypeValidate
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.ConfigTransformer
2019/12/05 15:32:03 [TRACE] ConfigTransformer: Starting for path: 
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.ConfigTransformer with new graph:
icinga2_host.host - *terraform.NodeValidatableResource
icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
------
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.LocalTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.LocalTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.OutputTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.OutputTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.OrphanResourceInstanceTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.OrphanResourceInstanceTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.StateTransformer
2019/12/05 15:32:03 [TRACE] StateTransformer: creating nodes for deposed instance objects only
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.StateTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.OrphanOutputTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.OrphanOutputTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.AttachResourceConfigTransformer
2019/12/05 15:32:03 [TRACE] AttachResourceConfigTransformer: attaching to "icinga2_host.host" (*terraform.NodeValidatableResource) config from main.tf:2,1-31
2019/12/05 15:32:03 [TRACE] AttachResourceConfigTransformer: attaching to "icinga2_hostgroup.hostgroup1" (*terraform.NodeValidatableResource) config from main.tf:18,1-42
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.AttachResourceConfigTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.AttachStateTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.AttachStateTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.RootVariableTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.RootVariableTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.MissingProvisionerTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.MissingProvisionerTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.ProvisionerTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.ProvisionerTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.ModuleVariableTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.ModuleVariableTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.graphTransformerMulti
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ProviderConfigTransformer
2019/12/05 15:32:03 [TRACE] ProviderConfigTransformer: attaching to "provider.icinga2" provider configuration from provider.tf:1,1-19
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.ProviderConfigTransformer with new graph:
icinga2_host.host - *terraform.NodeValidatableResource
icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.MissingProviderTransformer
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.MissingProviderTransformer (no changes)
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ProviderTransformer
2019/12/05 15:32:03 [TRACE] ProviderTransformer: icinga2_host.host is provided by provider.icinga2 or inherited equivalent
2019/12/05 15:32:03 [TRACE] ProviderTransformer: icinga2_hostgroup.hostgroup1 is provided by provider.icinga2 or inherited equivalent
2019/12/05 15:32:03 [TRACE] ProviderTransformer: exact match for provider.icinga2 serving icinga2_host.host
2019/12/05 15:32:03 [DEBUG] ProviderTransformer: "icinga2_host.host" (*terraform.NodeValidatableResource) needs provider.icinga2
2019/12/05 15:32:03 [TRACE] ProviderTransformer: exact match for provider.icinga2 serving icinga2_hostgroup.hostgroup1
2019/12/05 15:32:03 [DEBUG] ProviderTransformer: "icinga2_hostgroup.hostgroup1" (*terraform.NodeValidatableResource) needs provider.icinga2
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.ProviderTransformer with new graph:
icinga2_host.host - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.PruneProviderTransformer
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.PruneProviderTransformer (no changes)
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ParentProviderTransformer
2019/12/05 15:32:03 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.ParentProviderTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.graphTransformerMulti with new graph:
icinga2_host.host - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.RemovedModuleTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.RemovedModuleTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.AttachSchemaTransformer
2019/12/05 15:32:03 [TRACE] AttachSchemaTransformer: attaching provider config schema to provider.icinga2
2019/12/05 15:32:03 [TRACE] AttachSchemaTransformer: attaching resource schema to icinga2_host.host
2019/12/05 15:32:03 [TRACE] AttachSchemaTransformer: attaching resource schema to icinga2_hostgroup.hostgroup1
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.AttachSchemaTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.ReferenceTransformer
2019/12/05 15:32:03 [DEBUG] ReferenceTransformer: "icinga2_host.host" references: [icinga2_hostgroup.hostgroup1]
2019/12/05 15:32:03 [DEBUG] ReferenceTransformer: "icinga2_hostgroup.hostgroup1" references: []
2019/12/05 15:32:03 [DEBUG] ReferenceTransformer: "provider.icinga2" references: []
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.ReferenceTransformer with new graph:
icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.CountBoundaryTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.CountBoundaryTransformer with new graph:
icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.TargetsTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.TargetsTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.ForcedCBDTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.ForcedCBDTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.CloseProviderTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.CloseProviderTransformer with new graph:
icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 (close) - *terraform.graphNodeCloseProvider
  icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.CloseProvisionerTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.CloseProvisionerTransformer (no changes)
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.RootTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.RootTransformer with new graph:
icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 (close) - *terraform.graphNodeCloseProvider
  icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
root - terraform.graphNodeRoot
  meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  provider.icinga2 (close) - *terraform.graphNodeCloseProvider
------
2019/12/05 15:32:03 [TRACE] Executing graph transform *terraform.TransitiveReductionTransformer
2019/12/05 15:32:03 [TRACE] Completed graph transform *terraform.TransitiveReductionTransformer with new graph:
icinga2_host.host - *terraform.NodeValidatableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
icinga2_hostgroup.hostgroup1 - *terraform.NodeValidatableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  icinga2_host.host - *terraform.NodeValidatableResource
provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 (close) - *terraform.graphNodeCloseProvider
  icinga2_host.host - *terraform.NodeValidatableResource
root - terraform.graphNodeRoot
  meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  provider.icinga2 (close) - *terraform.graphNodeCloseProvider
------
2019/12/05 15:32:03 [DEBUG] Starting graph walk: walkValidate
2019/12/05 15:32:03 [TRACE] dag/walk: updating graph
2019/12/05 15:32:03 [TRACE] dag/walk: added new vertex: "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:03 [TRACE] dag/walk: added new vertex: "provider.icinga2"
2019/12/05 15:32:03 [TRACE] dag/walk: added new vertex: "meta.count-boundary (EachMode fixup)"
2019/12/05 15:32:03 [TRACE] dag/walk: added new vertex: "provider.icinga2 (close)"
2019/12/05 15:32:03 [TRACE] dag/walk: added new vertex: "root"
2019/12/05 15:32:03 [TRACE] dag/walk: added new vertex: "icinga2_host.host"
2019/12/05 15:32:03 [TRACE] dag/walk: added edge: "icinga2_hostgroup.hostgroup1" waiting on "provider.icinga2"
2019/12/05 15:32:03 [TRACE] dag/walk: added edge: "meta.count-boundary (EachMode fixup)" waiting on "icinga2_host.host"
2019/12/05 15:32:03 [TRACE] dag/walk: added edge: "root" waiting on "provider.icinga2 (close)"
2019/12/05 15:32:03 [TRACE] dag/walk: added edge: "icinga2_host.host" waiting on "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:03 [TRACE] dag/walk: added edge: "provider.icinga2 (close)" waiting on "icinga2_host.host"
2019/12/05 15:32:03 [TRACE] dag/walk: added edge: "root" waiting on "meta.count-boundary (EachMode fixup)"
2019/12/05 15:32:03 [TRACE] dag/walk: dependencies changed for "meta.count-boundary (EachMode fixup)", sending new deps
2019/12/05 15:32:03 [TRACE] dag/walk: dependencies changed for "root", sending new deps
2019/12/05 15:32:03 [TRACE] dag/walk: dependencies changed for "icinga2_host.host", sending new deps
2019/12/05 15:32:03 [TRACE] dag/walk: dependencies changed for "provider.icinga2 (close)", sending new deps
2019/12/05 15:32:03 [TRACE] dag/walk: dependencies changed for "icinga2_hostgroup.hostgroup1", sending new deps
2019/12/05 15:32:03 [TRACE] dag/walk: visiting "provider.icinga2"
2019/12/05 15:32:03 [TRACE] vertex "provider.icinga2": starting visit (*terraform.NodeApplyableProvider)
2019/12/05 15:32:03 [TRACE] vertex "provider.icinga2": evaluating
2019/12/05 15:32:03 [TRACE] [walkValidate] Entering eval tree: provider.icinga2
2019/12/05 15:32:03 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:03 [TRACE] <root>: eval: *terraform.EvalInitProvider
2019-12-05T15:32:03.931+0100 [INFO]  plugin: configuring client automatic mTLS
2019-12-05T15:32:03.959+0100 [DEBUG] plugin: starting plugin: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe args=[C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe]
2019-12-05T15:32:03.962+0100 [DEBUG] plugin: plugin started: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe pid=45676
2019-12-05T15:32:03.962+0100 [DEBUG] plugin: waiting for RPC address: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe
2019-12-05T15:32:04.054+0100 [INFO]  plugin.terraform-provider-icinga2.exe: configuring server automatic mTLS: timestamp=2019-12-05T15:32:04.054+0100
2019-12-05T15:32:04.086+0100 [DEBUG] plugin: using plugin: version=5
2019-12-05T15:32:04.086+0100 [DEBUG] plugin.terraform-provider-icinga2.exe: plugin address: address=127.0.0.1:10000 network=tcp timestamp=2019-12-05T15:32:04.086+0100
2019/12/05 15:32:04 [TRACE] BuiltinEvalContext: Initialized "icinga2" provider for provider.icinga2
2019/12/05 15:32:04 [TRACE] <root>: eval: terraform.EvalNoop
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalOpFilter
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalGetProvider
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalValidateProvider
2019/12/05 15:32:04 [TRACE] buildProviderConfig for provider.icinga2: using explicit config only
2019/12/05 15:32:04 [TRACE] GRPCProvider: GetSchema
2019/12/05 15:32:04 [TRACE] GRPCProvider: PrepareProviderConfig
2019/12/05 15:32:04 [TRACE] <root>: eval: terraform.EvalNoop
2019/12/05 15:32:04 [TRACE] <root>: eval: terraform.EvalNoop
2019/12/05 15:32:04 [TRACE] [walkValidate] Exiting eval tree: provider.icinga2
2019/12/05 15:32:04 [TRACE] vertex "provider.icinga2": visit complete
2019/12/05 15:32:04 [TRACE] dag/walk: visiting "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:04 [TRACE] vertex "icinga2_hostgroup.hostgroup1": starting visit (*terraform.NodeValidatableResource)
2019/12/05 15:32:04 [TRACE] vertex "icinga2_hostgroup.hostgroup1": evaluating
2019/12/05 15:32:04 [TRACE] [walkValidate] Entering eval tree: icinga2_hostgroup.hostgroup1
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalGetProvider
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalValidateResource
2019/12/05 15:32:04 [TRACE] GRPCProvider: ValidateResourceTypeConfig
2019/12/05 15:32:04 [TRACE] [walkValidate] Exiting eval tree: icinga2_hostgroup.hostgroup1
2019/12/05 15:32:04 [TRACE] vertex "icinga2_hostgroup.hostgroup1": visit complete
2019/12/05 15:32:04 [TRACE] dag/walk: visiting "icinga2_host.host"
2019/12/05 15:32:04 [TRACE] vertex "icinga2_host.host": starting visit (*terraform.NodeValidatableResource)
2019/12/05 15:32:04 [TRACE] vertex "icinga2_host.host": evaluating
2019/12/05 15:32:04 [TRACE] [walkValidate] Entering eval tree: icinga2_host.host
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalGetProvider
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalValidateResource
2019/12/05 15:32:04 [TRACE] GRPCProvider: ValidateResourceTypeConfig
2019/12/05 15:32:04 [TRACE] [walkValidate] Exiting eval tree: icinga2_host.host
2019/12/05 15:32:04 [TRACE] vertex "icinga2_host.host": visit complete
2019/12/05 15:32:04 [TRACE] dag/walk: visiting "meta.count-boundary (EachMode fixup)"
2019/12/05 15:32:04 [TRACE] vertex "meta.count-boundary (EachMode fixup)": starting visit (*terraform.NodeCountBoundary)
2019/12/05 15:32:04 [TRACE] vertex "meta.count-boundary (EachMode fixup)": evaluating
2019/12/05 15:32:04 [TRACE] [walkValidate] Entering eval tree: meta.count-boundary (EachMode fixup)
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalCountFixZeroOneBoundaryGlobal
2019/12/05 15:32:04 [TRACE] dag/walk: visiting "provider.icinga2 (close)"
2019/12/05 15:32:04 [TRACE] vertex "provider.icinga2 (close)": starting visit (*terraform.graphNodeCloseProvider)
2019/12/05 15:32:04 [TRACE] [walkValidate] Exiting eval tree: meta.count-boundary (EachMode fixup)
2019/12/05 15:32:04 [TRACE] vertex "provider.icinga2 (close)": evaluating
2019/12/05 15:32:04 [TRACE] vertex "meta.count-boundary (EachMode fixup)": visit complete
2019/12/05 15:32:04 [TRACE] [walkValidate] Entering eval tree: provider.icinga2 (close)
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalCloseProvider
2019/12/05 15:32:04 [TRACE] GRPCProvider: Close
2019-12-05T15:32:04.161+0100 [DEBUG] plugin: plugin process exited: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe pid=45676
2019-12-05T15:32:04.161+0100 [DEBUG] plugin: plugin exited
2019/12/05 15:32:04 [TRACE] [walkValidate] Exiting eval tree: provider.icinga2 (close)
2019/12/05 15:32:04 [TRACE] vertex "provider.icinga2 (close)": visit complete
2019/12/05 15:32:04 [TRACE] dag/walk: visiting "root"
2019/12/05 15:32:04 [TRACE] vertex "root": starting visit (terraform.graphNodeRoot)
2019/12/05 15:32:04 [TRACE] vertex "root": visit complete
2019/12/05 15:32:04 [INFO] backend/local: apply calling Refresh
2019/12/05 15:32:04 [INFO] terraform: building graph: GraphTypeRefresh
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.ConfigTransformer
2019/12/05 15:32:04 [TRACE] ConfigTransformer: Starting for path: 
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.ConfigTransformer with new graph:
icinga2_host.host - *terraform.NodeRefreshableManagedResource
icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
------
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.ConfigTransformer
2019/12/05 15:32:04 [TRACE] ConfigTransformer: Starting for path: 
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.ConfigTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.OrphanResourceInstanceTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.OrphanResourceInstanceTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.StateTransformer
2019/12/05 15:32:04 [TRACE] StateTransformer: creating nodes for deposed instance objects only
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.StateTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.AttachStateTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.AttachStateTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.AttachResourceConfigTransformer
2019/12/05 15:32:04 [TRACE] AttachResourceConfigTransformer: attaching to "icinga2_host.host" (*terraform.NodeRefreshableManagedResource) config from main.tf:2,1-31
2019/12/05 15:32:04 [TRACE] AttachResourceConfigTransformer: attaching to "icinga2_hostgroup.hostgroup1" (*terraform.NodeRefreshableManagedResource) config from main.tf:18,1-42
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.AttachResourceConfigTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.RootVariableTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.RootVariableTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.LocalTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.LocalTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.OutputTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.OutputTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.ModuleVariableTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.ModuleVariableTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.graphTransformerMulti
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ProviderConfigTransformer
2019/12/05 15:32:04 [TRACE] ProviderConfigTransformer: attaching to "provider.icinga2" provider configuration from provider.tf:1,1-19
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.ProviderConfigTransformer with new graph:
icinga2_host.host - *terraform.NodeRefreshableManagedResource
icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.MissingProviderTransformer
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.MissingProviderTransformer (no changes)
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ProviderTransformer
2019/12/05 15:32:04 [TRACE] ProviderTransformer: icinga2_host.host is provided by provider.icinga2 or inherited equivalent
2019/12/05 15:32:04 [TRACE] ProviderTransformer: icinga2_hostgroup.hostgroup1 is provided by provider.icinga2 or inherited equivalent
2019/12/05 15:32:04 [TRACE] ProviderTransformer: exact match for provider.icinga2 serving icinga2_host.host
2019/12/05 15:32:04 [DEBUG] ProviderTransformer: "icinga2_host.host" (*terraform.NodeRefreshableManagedResource) needs provider.icinga2
2019/12/05 15:32:04 [TRACE] ProviderTransformer: exact match for provider.icinga2 serving icinga2_hostgroup.hostgroup1
2019/12/05 15:32:04 [DEBUG] ProviderTransformer: "icinga2_hostgroup.hostgroup1" (*terraform.NodeRefreshableManagedResource) needs provider.icinga2
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.ProviderTransformer with new graph:
icinga2_host.host - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.PruneProviderTransformer
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.PruneProviderTransformer (no changes)
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ParentProviderTransformer
2019/12/05 15:32:04 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.ParentProviderTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.graphTransformerMulti with new graph:
icinga2_host.host - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.AttachSchemaTransformer
2019/12/05 15:32:04 [TRACE] AttachSchemaTransformer: attaching provider config schema to provider.icinga2
2019/12/05 15:32:04 [TRACE] AttachSchemaTransformer: attaching resource schema to icinga2_host.host
2019/12/05 15:32:04 [TRACE] AttachSchemaTransformer: attaching resource schema to icinga2_hostgroup.hostgroup1
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.AttachSchemaTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.ReferenceTransformer
2019/12/05 15:32:04 [DEBUG] ReferenceTransformer: "icinga2_host.host" references: [icinga2_hostgroup.hostgroup1]
2019/12/05 15:32:04 [DEBUG] ReferenceTransformer: "icinga2_hostgroup.hostgroup1" references: []
2019/12/05 15:32:04 [DEBUG] ReferenceTransformer: "provider.icinga2" references: []
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.ReferenceTransformer with new graph:
icinga2_host.host - *terraform.NodeRefreshableManagedResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.AttachDependenciesTransformer
2019/12/05 15:32:04 [TRACE] AttachDependenciesTransformer: icinga2_host.host depends on [icinga2_hostgroup.hostgroup1]
2019/12/05 15:32:04 [TRACE] AttachDependenciesTransformer: icinga2_hostgroup.hostgroup1 depends on []
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.AttachDependenciesTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.TargetsTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.TargetsTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.CloseProviderTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.CloseProviderTransformer with new graph:
icinga2_host.host - *terraform.NodeRefreshableManagedResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 (close) - *terraform.graphNodeCloseProvider
  icinga2_host.host - *terraform.NodeRefreshableManagedResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.RootTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.RootTransformer (no changes)
2019/12/05 15:32:04 [TRACE] Executing graph transform *terraform.TransitiveReductionTransformer
2019/12/05 15:32:04 [TRACE] Completed graph transform *terraform.TransitiveReductionTransformer with new graph:
icinga2_host.host - *terraform.NodeRefreshableManagedResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 (close) - *terraform.graphNodeCloseProvider
  icinga2_host.host - *terraform.NodeRefreshableManagedResource
------
2019/12/05 15:32:04 [DEBUG] Starting graph walk: walkRefresh
2019/12/05 15:32:04 [TRACE] dag/walk: updating graph
2019/12/05 15:32:04 [TRACE] dag/walk: added new vertex: "icinga2_host.host"
2019/12/05 15:32:04 [TRACE] dag/walk: added new vertex: "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:04 [TRACE] dag/walk: added new vertex: "provider.icinga2"
2019/12/05 15:32:04 [TRACE] dag/walk: added new vertex: "provider.icinga2 (close)"
2019/12/05 15:32:04 [TRACE] dag/walk: added edge: "provider.icinga2 (close)" waiting on "icinga2_host.host"
2019/12/05 15:32:04 [TRACE] dag/walk: added edge: "icinga2_hostgroup.hostgroup1" waiting on "provider.icinga2"
2019/12/05 15:32:04 [TRACE] dag/walk: added edge: "icinga2_host.host" waiting on "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:04 [TRACE] dag/walk: dependencies changed for "provider.icinga2 (close)", sending new deps
2019/12/05 15:32:04 [TRACE] dag/walk: dependencies changed for "icinga2_hostgroup.hostgroup1", sending new deps
2019/12/05 15:32:04 [TRACE] dag/walk: dependencies changed for "icinga2_host.host", sending new deps
2019/12/05 15:32:04 [TRACE] dag/walk: visiting "provider.icinga2"
2019/12/05 15:32:04 [TRACE] vertex "provider.icinga2": starting visit (*terraform.NodeApplyableProvider)
2019/12/05 15:32:04 [TRACE] vertex "provider.icinga2": evaluating
2019/12/05 15:32:04 [TRACE] [walkRefresh] Entering eval tree: provider.icinga2
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalInitProvider
2019-12-05T15:32:04.162+0100 [INFO]  plugin: configuring client automatic mTLS
2019-12-05T15:32:04.192+0100 [DEBUG] plugin: starting plugin: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe args=[C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe]
2019-12-05T15:32:04.195+0100 [DEBUG] plugin: plugin started: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe pid=49776
2019-12-05T15:32:04.195+0100 [DEBUG] plugin: waiting for RPC address: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe
2019-12-05T15:32:04.286+0100 [INFO]  plugin.terraform-provider-icinga2.exe: configuring server automatic mTLS: timestamp=2019-12-05T15:32:04.286+0100
2019-12-05T15:32:04.315+0100 [DEBUG] plugin: using plugin: version=5
2019-12-05T15:32:04.315+0100 [DEBUG] plugin.terraform-provider-icinga2.exe: plugin address: address=127.0.0.1:10000 network=tcp timestamp=2019-12-05T15:32:04.315+0100
2019/12/05 15:32:04 [TRACE] BuiltinEvalContext: Initialized "icinga2" provider for provider.icinga2
2019/12/05 15:32:04 [TRACE] <root>: eval: terraform.EvalNoop
2019/12/05 15:32:04 [TRACE] <root>: eval: terraform.EvalNoop
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalOpFilter
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalGetProvider
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalOpFilter
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:04 [TRACE] <root>: eval: *terraform.EvalConfigProvider
2019/12/05 15:32:04 [TRACE] buildProviderConfig for provider.icinga2: using explicit config only
2019/12/05 15:32:04 [TRACE] GRPCProvider: GetSchema
2019/12/05 15:32:04 [TRACE] GRPCProvider: Configure
2019/12/05 15:32:05 [TRACE] [walkRefresh] Exiting eval tree: provider.icinga2
2019/12/05 15:32:05 [TRACE] vertex "provider.icinga2": visit complete
2019/12/05 15:32:05 [TRACE] dag/walk: visiting "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:05 [TRACE] vertex "icinga2_hostgroup.hostgroup1": starting visit (*terraform.NodeRefreshableManagedResource)
2019/12/05 15:32:05 [TRACE] vertex "icinga2_hostgroup.hostgroup1": expanding dynamic subgraph
2019/12/05 15:32:05 [TRACE] Executing graph transform *terraform.ResourceCountTransformer
2019/12/05 15:32:05 [TRACE] Completed graph transform *terraform.ResourceCountTransformer with new graph:
icinga2_hostgroup.hostgroup1 - *terraform.NodeRefreshableManagedResourceInstance
------
2019/12/05 15:32:05 [TRACE] Executing graph transform *terraform.OrphanResourceCountTransformer
2019/12/05 15:32:05 [TRACE] Completed graph transform *terraform.OrphanResourceCountTransformer (no changes)
2019/12/05 15:32:05 [TRACE] Executing graph transform *terraform.AttachStateTransformer
2019/12/05 15:32:05 [TRACE] Completed graph transform *terraform.AttachStateTransformer (no changes)
2019/12/05 15:32:05 [TRACE] Executing graph transform *terraform.TargetsTransformer
2019/12/05 15:32:05 [TRACE] Completed graph transform *terraform.TargetsTransformer (no changes)
2019/12/05 15:32:05 [TRACE] Executing graph transform *terraform.ReferenceTransformer
2019/12/05 15:32:05 [DEBUG] ReferenceTransformer: "icinga2_hostgroup.hostgroup1" references: []
2019/12/05 15:32:05 [TRACE] Completed graph transform *terraform.ReferenceTransformer (no changes)
2019/12/05 15:32:05 [TRACE] Executing graph transform *terraform.RootTransformer
2019/12/05 15:32:05 [TRACE] Completed graph transform *terraform.RootTransformer (no changes)
2019/12/05 15:32:05 [TRACE] vertex "icinga2_hostgroup.hostgroup1": entering dynamic subgraph
2019/12/05 15:32:05 [TRACE] dag/walk: updating graph
2019/12/05 15:32:05 [TRACE] dag/walk: added new vertex: "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:05 [TRACE] dag/walk: visiting "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:05 [TRACE] vertex "icinga2_hostgroup.hostgroup1": starting visit (*terraform.NodeRefreshableManagedResourceInstance)
2019/12/05 15:32:05 [TRACE] NodeRefreshableManagedResourceInstance: icinga2_hostgroup.hostgroup1 will be refreshed
2019/12/05 15:32:05 [TRACE] vertex "icinga2_hostgroup.hostgroup1": evaluating
2019/12/05 15:32:05 [TRACE] [walkRefresh] Entering eval tree: icinga2_hostgroup.hostgroup1
2019/12/05 15:32:05 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:05 [TRACE] <root>: eval: *terraform.EvalGetProvider
2019/12/05 15:32:05 [TRACE] <root>: eval: *terraform.EvalReadState
2019/12/05 15:32:05 [TRACE] EvalReadState: reading state for icinga2_hostgroup.hostgroup1
2019/12/05 15:32:05 [TRACE] UpgradeResourceState: schema version of icinga2_hostgroup.hostgroup1 is still 0; calling provider "icinga2" for any other minor fixups
2019/12/05 15:32:05 [TRACE] GRPCProvider: UpgradeResourceState
2019/12/05 15:32:05 [TRACE] <root>: eval: *terraform.EvalRefreshDependencies
2019/12/05 15:32:05 [TRACE] <root>: eval: *terraform.EvalRefresh
2019/12/05 15:32:05 [TRACE] GRPCProvider: ReadResource
2019/12/05 15:32:06 [TRACE] <root>: eval: *terraform.EvalWriteState
2019/12/05 15:32:06 [TRACE] EvalWriteState: recording 0 dependencies for icinga2_hostgroup.hostgroup1
2019/12/05 15:32:06 [TRACE] EvalWriteState: writing current state object for icinga2_hostgroup.hostgroup1
2019/12/05 15:32:06 [TRACE] [walkRefresh] Exiting eval tree: icinga2_hostgroup.hostgroup1
2019/12/05 15:32:06 [TRACE] vertex "icinga2_hostgroup.hostgroup1": visit complete
2019/12/05 15:32:06 [TRACE] vertex "icinga2_hostgroup.hostgroup1": dynamic subgraph completed successfully
2019/12/05 15:32:06 [TRACE] vertex "icinga2_hostgroup.hostgroup1": visit complete
2019/12/05 15:32:06 [TRACE] dag/walk: visiting "icinga2_host.host"
2019/12/05 15:32:06 [TRACE] vertex "icinga2_host.host": starting visit (*terraform.NodeRefreshableManagedResource)
2019/12/05 15:32:06 [TRACE] vertex "icinga2_host.host": expanding dynamic subgraph
2019/12/05 15:32:06 [TRACE] Executing graph transform *terraform.ResourceCountTransformer
2019/12/05 15:32:06 [TRACE] Completed graph transform *terraform.ResourceCountTransformer with new graph:
icinga2_host.host - *terraform.NodeRefreshableManagedResourceInstance
------
2019/12/05 15:32:06 [TRACE] Executing graph transform *terraform.OrphanResourceCountTransformer
2019/12/05 15:32:06 [TRACE] Completed graph transform *terraform.OrphanResourceCountTransformer (no changes)
2019/12/05 15:32:06 [TRACE] Executing graph transform *terraform.AttachStateTransformer
2019/12/05 15:32:06 [TRACE] Completed graph transform *terraform.AttachStateTransformer (no changes)
2019/12/05 15:32:06 [TRACE] Executing graph transform *terraform.TargetsTransformer
2019/12/05 15:32:06 [TRACE] Completed graph transform *terraform.TargetsTransformer (no changes)
2019/12/05 15:32:06 [TRACE] Executing graph transform *terraform.ReferenceTransformer
2019/12/05 15:32:06 [DEBUG] ReferenceTransformer: "icinga2_host.host" references: []
2019/12/05 15:32:06 [TRACE] Completed graph transform *terraform.ReferenceTransformer (no changes)
2019/12/05 15:32:06 [TRACE] Executing graph transform *terraform.RootTransformer
2019/12/05 15:32:06 [TRACE] Completed graph transform *terraform.RootTransformer (no changes)
2019/12/05 15:32:06 [TRACE] vertex "icinga2_host.host": entering dynamic subgraph
2019/12/05 15:32:06 [TRACE] dag/walk: updating graph
2019/12/05 15:32:06 [TRACE] dag/walk: added new vertex: "icinga2_host.host"
2019/12/05 15:32:06 [TRACE] dag/walk: visiting "icinga2_host.host"
2019/12/05 15:32:06 [TRACE] vertex "icinga2_host.host": starting visit (*terraform.NodeRefreshableManagedResourceInstance)
2019/12/05 15:32:06 [TRACE] NodeRefreshableManagedResourceInstance: icinga2_host.host will be refreshed
2019/12/05 15:32:06 [TRACE] vertex "icinga2_host.host": evaluating
2019/12/05 15:32:06 [TRACE] [walkRefresh] Entering eval tree: icinga2_host.host
2019/12/05 15:32:06 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:06 [TRACE] <root>: eval: *terraform.EvalGetProvider
2019/12/05 15:32:06 [TRACE] <root>: eval: *terraform.EvalReadState
2019/12/05 15:32:06 [TRACE] EvalReadState: reading state for icinga2_host.host
2019/12/05 15:32:06 [TRACE] UpgradeResourceState: schema version of icinga2_host.host is still 0; calling provider "icinga2" for any other minor fixups
2019/12/05 15:32:06 [TRACE] GRPCProvider: UpgradeResourceState
2019/12/05 15:32:06 [TRACE] <root>: eval: *terraform.EvalRefreshDependencies
2019/12/05 15:32:06 [TRACE] <root>: eval: *terraform.EvalRefresh
2019/12/05 15:32:06 [TRACE] GRPCProvider: ReadResource
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalWriteState
2019/12/05 15:32:07 [TRACE] EvalWriteState: recording 1 dependencies for icinga2_host.host
2019/12/05 15:32:07 [TRACE] EvalWriteState: writing current state object for icinga2_host.host
2019/12/05 15:32:07 [TRACE] [walkRefresh] Exiting eval tree: icinga2_host.host
2019/12/05 15:32:07 [TRACE] vertex "icinga2_host.host": visit complete
2019/12/05 15:32:07 [TRACE] vertex "icinga2_host.host": dynamic subgraph completed successfully
2019/12/05 15:32:07 [TRACE] vertex "icinga2_host.host": visit complete
2019/12/05 15:32:07 [TRACE] dag/walk: visiting "provider.icinga2 (close)"
2019/12/05 15:32:07 [TRACE] vertex "provider.icinga2 (close)": starting visit (*terraform.graphNodeCloseProvider)
2019/12/05 15:32:07 [TRACE] vertex "provider.icinga2 (close)": evaluating
2019/12/05 15:32:07 [TRACE] [walkRefresh] Entering eval tree: provider.icinga2 (close)
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalCloseProvider
2019/12/05 15:32:07 [TRACE] GRPCProvider: Close
2019-12-05T15:32:07.467+0100 [DEBUG] plugin: plugin process exited: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe pid=49776
2019-12-05T15:32:07.467+0100 [DEBUG] plugin: plugin exited
2019/12/05 15:32:07 [TRACE] [walkRefresh] Exiting eval tree: provider.icinga2 (close)
2019/12/05 15:32:07 [TRACE] vertex "provider.icinga2 (close)": visit complete
2019/12/05 15:32:07 [INFO] backend/local: apply calling Plan
2019/12/05 15:32:07 [INFO] terraform: building graph: GraphTypePlan
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.ConfigTransformer
2019/12/05 15:32:07 [TRACE] ConfigTransformer: Starting for path: 
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.ConfigTransformer with new graph:
icinga2_host.host - *terraform.NodePlannableResource
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
------
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.LocalTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.LocalTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.OutputTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.OutputTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.OrphanResourceInstanceTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.OrphanResourceInstanceTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.StateTransformer
2019/12/05 15:32:07 [TRACE] StateTransformer: creating nodes for deposed instance objects only
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.StateTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.OrphanOutputTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.OrphanOutputTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.AttachResourceConfigTransformer
2019/12/05 15:32:07 [TRACE] AttachResourceConfigTransformer: attaching to "icinga2_host.host" (*terraform.NodePlannableResource) config from main.tf:2,1-31
2019/12/05 15:32:07 [TRACE] AttachResourceConfigTransformer: attaching to "icinga2_hostgroup.hostgroup1" (*terraform.NodePlannableResource) config from main.tf:18,1-42
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.AttachResourceConfigTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.AttachStateTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.AttachStateTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.RootVariableTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.RootVariableTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.MissingProvisionerTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.MissingProvisionerTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.ProvisionerTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.ProvisionerTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.ModuleVariableTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.ModuleVariableTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.graphTransformerMulti
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ProviderConfigTransformer
2019/12/05 15:32:07 [TRACE] ProviderConfigTransformer: attaching to "provider.icinga2" provider configuration from provider.tf:1,1-19
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.ProviderConfigTransformer with new graph:
icinga2_host.host - *terraform.NodePlannableResource
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.MissingProviderTransformer
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.MissingProviderTransformer (no changes)
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ProviderTransformer
2019/12/05 15:32:07 [TRACE] ProviderTransformer: icinga2_host.host is provided by provider.icinga2 or inherited equivalent
2019/12/05 15:32:07 [TRACE] ProviderTransformer: icinga2_hostgroup.hostgroup1 is provided by provider.icinga2 or inherited equivalent
2019/12/05 15:32:07 [TRACE] ProviderTransformer: exact match for provider.icinga2 serving icinga2_host.host
2019/12/05 15:32:07 [DEBUG] ProviderTransformer: "icinga2_host.host" (*terraform.NodePlannableResource) needs provider.icinga2
2019/12/05 15:32:07 [TRACE] ProviderTransformer: exact match for provider.icinga2 serving icinga2_hostgroup.hostgroup1
2019/12/05 15:32:07 [DEBUG] ProviderTransformer: "icinga2_hostgroup.hostgroup1" (*terraform.NodePlannableResource) needs provider.icinga2
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.ProviderTransformer with new graph:
icinga2_host.host - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.PruneProviderTransformer
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.PruneProviderTransformer (no changes)
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ParentProviderTransformer
2019/12/05 15:32:07 [TRACE] (graphTransformerMulti) Completed graph transform *terraform.ParentProviderTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.graphTransformerMulti with new graph:
icinga2_host.host - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.RemovedModuleTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.RemovedModuleTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.AttachSchemaTransformer
2019/12/05 15:32:07 [TRACE] AttachSchemaTransformer: attaching resource schema to icinga2_host.host
2019/12/05 15:32:07 [TRACE] AttachSchemaTransformer: attaching resource schema to icinga2_hostgroup.hostgroup1
2019/12/05 15:32:07 [TRACE] AttachSchemaTransformer: attaching provider config schema to provider.icinga2
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.AttachSchemaTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.ReferenceTransformer
2019/12/05 15:32:07 [DEBUG] ReferenceTransformer: "provider.icinga2" references: []
2019/12/05 15:32:07 [DEBUG] ReferenceTransformer: "icinga2_host.host" references: [icinga2_hostgroup.hostgroup1]
2019/12/05 15:32:07 [DEBUG] ReferenceTransformer: "icinga2_hostgroup.hostgroup1" references: []
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.ReferenceTransformer with new graph:
icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.CountBoundaryTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.CountBoundaryTransformer with new graph:
icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.TargetsTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.TargetsTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.ForcedCBDTransformer
2019/12/05 15:32:07 [TRACE] ForcedCBDTransformer: "icinga2_hostgroup.hostgroup1" (*terraform.NodePlannableResource) has no CBD descendent, so skipping
2019/12/05 15:32:07 [TRACE] ForcedCBDTransformer: "icinga2_host.host" (*terraform.NodePlannableResource) has no CBD descendent, so skipping
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.ForcedCBDTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.CloseProviderTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.CloseProviderTransformer with new graph:
icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 (close) - *terraform.graphNodeCloseProvider
  icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
------
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.CloseProvisionerTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.CloseProvisionerTransformer (no changes)
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.RootTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.RootTransformer with new graph:
icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 (close) - *terraform.graphNodeCloseProvider
  icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
root - terraform.graphNodeRoot
  meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  provider.icinga2 (close) - *terraform.graphNodeCloseProvider
------
2019/12/05 15:32:07 [TRACE] Executing graph transform *terraform.TransitiveReductionTransformer
2019/12/05 15:32:07 [TRACE] Completed graph transform *terraform.TransitiveReductionTransformer with new graph:
icinga2_host.host - *terraform.NodePlannableResource
  icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResource
  provider.icinga2 - *terraform.NodeApplyableProvider
meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  icinga2_host.host - *terraform.NodePlannableResource
provider.icinga2 - *terraform.NodeApplyableProvider
provider.icinga2 (close) - *terraform.graphNodeCloseProvider
  icinga2_host.host - *terraform.NodePlannableResource
root - terraform.graphNodeRoot
  meta.count-boundary (EachMode fixup) - *terraform.NodeCountBoundary
  provider.icinga2 (close) - *terraform.graphNodeCloseProvider
------
2019/12/05 15:32:07 [DEBUG] Starting graph walk: walkPlan
2019/12/05 15:32:07 [TRACE] dag/walk: updating graph
2019/12/05 15:32:07 [TRACE] dag/walk: added new vertex: "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:07 [TRACE] dag/walk: added new vertex: "provider.icinga2"
2019/12/05 15:32:07 [TRACE] dag/walk: added new vertex: "meta.count-boundary (EachMode fixup)"
2019/12/05 15:32:07 [TRACE] dag/walk: added new vertex: "provider.icinga2 (close)"
2019/12/05 15:32:07 [TRACE] dag/walk: added new vertex: "root"
2019/12/05 15:32:07 [TRACE] dag/walk: added new vertex: "icinga2_host.host"
2019/12/05 15:32:07 [TRACE] dag/walk: added edge: "provider.icinga2 (close)" waiting on "icinga2_host.host"
2019/12/05 15:32:07 [TRACE] dag/walk: added edge: "root" waiting on "meta.count-boundary (EachMode fixup)"
2019/12/05 15:32:07 [TRACE] dag/walk: added edge: "icinga2_host.host" waiting on "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:07 [TRACE] dag/walk: added edge: "meta.count-boundary (EachMode fixup)" waiting on "icinga2_host.host"
2019/12/05 15:32:07 [TRACE] dag/walk: added edge: "root" waiting on "provider.icinga2 (close)"
2019/12/05 15:32:07 [TRACE] dag/walk: added edge: "icinga2_hostgroup.hostgroup1" waiting on "provider.icinga2"
2019/12/05 15:32:07 [TRACE] dag/walk: dependencies changed for "provider.icinga2 (close)", sending new deps
2019/12/05 15:32:07 [TRACE] dag/walk: dependencies changed for "root", sending new deps
2019/12/05 15:32:07 [TRACE] dag/walk: dependencies changed for "icinga2_host.host", sending new deps
2019/12/05 15:32:07 [TRACE] dag/walk: dependencies changed for "meta.count-boundary (EachMode fixup)", sending new deps
2019/12/05 15:32:07 [TRACE] dag/walk: dependencies changed for "icinga2_hostgroup.hostgroup1", sending new deps
2019/12/05 15:32:07 [TRACE] dag/walk: visiting "provider.icinga2"
2019/12/05 15:32:07 [TRACE] vertex "provider.icinga2": starting visit (*terraform.NodeApplyableProvider)
2019/12/05 15:32:07 [TRACE] vertex "provider.icinga2": evaluating
2019/12/05 15:32:07 [TRACE] [walkPlan] Entering eval tree: provider.icinga2
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalInitProvider
2019-12-05T15:32:07.467+0100 [INFO]  plugin: configuring client automatic mTLS
2019-12-05T15:32:07.499+0100 [DEBUG] plugin: starting plugin: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe args=[C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe]
2019-12-05T15:32:07.501+0100 [DEBUG] plugin: plugin started: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe pid=51892
2019-12-05T15:32:07.501+0100 [DEBUG] plugin: waiting for RPC address: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe
2019-12-05T15:32:07.589+0100 [INFO]  plugin.terraform-provider-icinga2.exe: configuring server automatic mTLS: timestamp=2019-12-05T15:32:07.589+0100
2019-12-05T15:32:07.617+0100 [DEBUG] plugin.terraform-provider-icinga2.exe: plugin address: address=127.0.0.1:10000 network=tcp timestamp=2019-12-05T15:32:07.617+0100
2019-12-05T15:32:07.618+0100 [DEBUG] plugin: using plugin: version=5
2019/12/05 15:32:07 [TRACE] BuiltinEvalContext: Initialized "icinga2" provider for provider.icinga2
2019/12/05 15:32:07 [TRACE] <root>: eval: terraform.EvalNoop
2019/12/05 15:32:07 [TRACE] <root>: eval: terraform.EvalNoop
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalOpFilter
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalGetProvider
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalOpFilter
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:07 [TRACE] <root>: eval: *terraform.EvalConfigProvider
2019/12/05 15:32:07 [TRACE] buildProviderConfig for provider.icinga2: using explicit config only
2019/12/05 15:32:07 [TRACE] GRPCProvider: GetSchema
2019/12/05 15:32:07 [TRACE] GRPCProvider: Configure
2019/12/05 15:32:08 [TRACE] [walkPlan] Exiting eval tree: provider.icinga2
2019/12/05 15:32:08 [TRACE] vertex "provider.icinga2": visit complete
2019/12/05 15:32:08 [TRACE] dag/walk: visiting "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:08 [TRACE] vertex "icinga2_hostgroup.hostgroup1": starting visit (*terraform.NodePlannableResource)
2019/12/05 15:32:08 [TRACE] vertex "icinga2_hostgroup.hostgroup1": evaluating
2019/12/05 15:32:08 [TRACE] [walkPlan] Entering eval tree: icinga2_hostgroup.hostgroup1
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalWriteResourceState
2019/12/05 15:32:08 [TRACE] [walkPlan] Exiting eval tree: icinga2_hostgroup.hostgroup1
2019/12/05 15:32:08 [TRACE] vertex "icinga2_hostgroup.hostgroup1": expanding dynamic subgraph
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.ResourceCountTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.ResourceCountTransformer with new graph:
icinga2_hostgroup.hostgroup1 - *terraform.NodePlannableResourceInstance
------
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.OrphanResourceCountTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.OrphanResourceCountTransformer (no changes)
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.AttachStateTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.AttachStateTransformer (no changes)
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.TargetsTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.TargetsTransformer (no changes)
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.ReferenceTransformer
2019/12/05 15:32:08 [DEBUG] ReferenceTransformer: "icinga2_hostgroup.hostgroup1" references: []
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.ReferenceTransformer (no changes)
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.RootTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.RootTransformer (no changes)
2019/12/05 15:32:08 [TRACE] vertex "icinga2_hostgroup.hostgroup1": entering dynamic subgraph
2019/12/05 15:32:08 [TRACE] dag/walk: updating graph
2019/12/05 15:32:08 [TRACE] dag/walk: added new vertex: "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:08 [TRACE] dag/walk: visiting "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:08 [TRACE] vertex "icinga2_hostgroup.hostgroup1": starting visit (*terraform.NodePlannableResourceInstance)
2019/12/05 15:32:08 [TRACE] vertex "icinga2_hostgroup.hostgroup1": evaluating
2019/12/05 15:32:08 [TRACE] [walkPlan] Entering eval tree: icinga2_hostgroup.hostgroup1
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalGetProvider
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalReadState
2019/12/05 15:32:08 [TRACE] EvalReadState: reading state for icinga2_hostgroup.hostgroup1
2019/12/05 15:32:08 [TRACE] UpgradeResourceState: schema version of icinga2_hostgroup.hostgroup1 is still 0; calling provider "icinga2" for any other minor fixups
2019/12/05 15:32:08 [TRACE] GRPCProvider: UpgradeResourceState
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalValidateSelfRef
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalDiff
2019/12/05 15:32:08 [TRACE] Re-validating config for "icinga2_hostgroup.hostgroup1"
2019/12/05 15:32:08 [TRACE] GRPCProvider: ValidateResourceTypeConfig
2019/12/05 15:32:08 [TRACE] GRPCProvider: PlanResourceChange
2019/12/05 15:32:08 [TRACE] GRPCProvider: PlanResourceChange
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalCheckPreventDestroy
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalWriteState
2019/12/05 15:32:08 [TRACE] EvalWriteState: writing current state object for icinga2_hostgroup.hostgroup1
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalWriteDiff
2019/12/05 15:32:08 [TRACE] EvalWriteDiff: recorded DeleteThenCreate change for icinga2_hostgroup.hostgroup1
2019/12/05 15:32:08 [TRACE] [walkPlan] Exiting eval tree: icinga2_hostgroup.hostgroup1
2019/12/05 15:32:08 [TRACE] vertex "icinga2_hostgroup.hostgroup1": visit complete
2019/12/05 15:32:08 [TRACE] vertex "icinga2_hostgroup.hostgroup1": dynamic subgraph completed successfully
2019/12/05 15:32:08 [TRACE] vertex "icinga2_hostgroup.hostgroup1": visit complete
2019/12/05 15:32:08 [TRACE] dag/walk: visiting "icinga2_host.host"
2019/12/05 15:32:08 [TRACE] vertex "icinga2_host.host": starting visit (*terraform.NodePlannableResource)
2019/12/05 15:32:08 [TRACE] vertex "icinga2_host.host": evaluating
2019/12/05 15:32:08 [TRACE] [walkPlan] Entering eval tree: icinga2_host.host
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalWriteResourceState
2019/12/05 15:32:08 [TRACE] [walkPlan] Exiting eval tree: icinga2_host.host
2019/12/05 15:32:08 [TRACE] vertex "icinga2_host.host": expanding dynamic subgraph
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.ResourceCountTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.ResourceCountTransformer with new graph:
icinga2_host.host - *terraform.NodePlannableResourceInstance
------
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.OrphanResourceCountTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.OrphanResourceCountTransformer (no changes)
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.AttachStateTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.AttachStateTransformer (no changes)
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.TargetsTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.TargetsTransformer (no changes)
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.ReferenceTransformer
2019/12/05 15:32:08 [DEBUG] ReferenceTransformer: "icinga2_host.host" references: []
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.ReferenceTransformer (no changes)
2019/12/05 15:32:08 [TRACE] Executing graph transform *terraform.RootTransformer
2019/12/05 15:32:08 [TRACE] Completed graph transform *terraform.RootTransformer (no changes)
2019/12/05 15:32:08 [TRACE] vertex "icinga2_host.host": entering dynamic subgraph
2019/12/05 15:32:08 [TRACE] dag/walk: updating graph
2019/12/05 15:32:08 [TRACE] dag/walk: added new vertex: "icinga2_host.host"
2019/12/05 15:32:08 [TRACE] dag/walk: visiting "icinga2_host.host"
2019/12/05 15:32:08 [TRACE] vertex "icinga2_host.host": starting visit (*terraform.NodePlannableResourceInstance)
2019/12/05 15:32:08 [TRACE] vertex "icinga2_host.host": evaluating
2019/12/05 15:32:08 [TRACE] [walkPlan] Entering eval tree: icinga2_host.host
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalSequence
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalGetProvider
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalReadState
2019/12/05 15:32:08 [TRACE] EvalReadState: reading state for icinga2_host.host
2019/12/05 15:32:08 [TRACE] UpgradeResourceState: schema version of icinga2_host.host is still 0; calling provider "icinga2" for any other minor fixups
2019/12/05 15:32:08 [TRACE] GRPCProvider: UpgradeResourceState
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalValidateSelfRef
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalDiff
2019/12/05 15:32:08 [TRACE] Re-validating config for "icinga2_host.host"
2019/12/05 15:32:08 [TRACE] GRPCProvider: ValidateResourceTypeConfig
2019/12/05 15:32:08 [TRACE] GRPCProvider: PlanResourceChange
2019/12/05 15:32:08 [TRACE] GRPCProvider: PlanResourceChange
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalCheckPreventDestroy
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalWriteState
2019/12/05 15:32:08 [TRACE] EvalWriteState: writing current state object for icinga2_host.host
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalWriteDiff
2019/12/05 15:32:08 [TRACE] EvalWriteDiff: recorded DeleteThenCreate change for icinga2_host.host
2019/12/05 15:32:08 [TRACE] [walkPlan] Exiting eval tree: icinga2_host.host
2019/12/05 15:32:08 [TRACE] vertex "icinga2_host.host": visit complete
2019/12/05 15:32:08 [TRACE] vertex "icinga2_host.host": dynamic subgraph completed successfully
2019/12/05 15:32:08 [TRACE] vertex "icinga2_host.host": visit complete
2019/12/05 15:32:08 [TRACE] dag/walk: visiting "provider.icinga2 (close)"
2019/12/05 15:32:08 [TRACE] vertex "provider.icinga2 (close)": starting visit (*terraform.graphNodeCloseProvider)
2019/12/05 15:32:08 [TRACE] vertex "provider.icinga2 (close)": evaluating
2019/12/05 15:32:08 [TRACE] [walkPlan] Entering eval tree: provider.icinga2 (close)
2019/12/05 15:32:08 [TRACE] dag/walk: visiting "meta.count-boundary (EachMode fixup)"
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalCloseProvider
2019/12/05 15:32:08 [TRACE] vertex "meta.count-boundary (EachMode fixup)": starting visit (*terraform.NodeCountBoundary)
2019/12/05 15:32:08 [TRACE] GRPCProvider: Close
2019/12/05 15:32:08 [TRACE] vertex "meta.count-boundary (EachMode fixup)": evaluating
2019/12/05 15:32:08 [TRACE] [walkPlan] Entering eval tree: meta.count-boundary (EachMode fixup)
2019/12/05 15:32:08 [TRACE] <root>: eval: *terraform.EvalCountFixZeroOneBoundaryGlobal
2019/12/05 15:32:08 [TRACE] [walkPlan] Exiting eval tree: meta.count-boundary (EachMode fixup)
2019/12/05 15:32:08 [TRACE] vertex "meta.count-boundary (EachMode fixup)": visit complete
2019-12-05T15:32:08.721+0100 [DEBUG] plugin: plugin process exited: path=C:\Users\tomasz.pordzik\AppData\Roaming\terraform.d\plugins\terraform-provider-icinga2.exe pid=51892
2019-12-05T15:32:08.721+0100 [DEBUG] plugin: plugin exited
2019/12/05 15:32:08 [TRACE] [walkPlan] Exiting eval tree: provider.icinga2 (close)
2019/12/05 15:32:08 [TRACE] vertex "provider.icinga2 (close)": visit complete
2019/12/05 15:32:08 [TRACE] dag/walk: visiting "root"
2019/12/05 15:32:08 [TRACE] vertex "root": starting visit (terraform.graphNodeRoot)
2019/12/05 15:32:08 [TRACE] vertex "root": visit complete
2019/12/05 15:32:08 [DEBUG] command: asking for input: "Do you want to perform these actions?"

Crash Output

No Crash

Expected Behavior

icinga2_host object must be newly created, because the displayname changes with forceNew.

Terraform will perform the following actions:

  # icinga2_host.host must be replaced
-/+ resource "icinga2_host" "host" {
        address       = "10.10.10.1"
        check_command = "hostalive"
      ~ groups        = [ # forces replacement
          - "terraform-group-11",
          + "terraform-group-12",
        ]
        hostname      = "terraformTEST1"
      ~ id            = "terraformTEST1" -> (known after apply)
        templates     = [
            "bp-host-web",
        ]
        vars          = {
            "allowance" = "none"
            "os"        = "linux"
            "osver"     = "2"
        }
    }

  # icinga2_hostgroup.hostgroup1 must be replaced
-/+ resource "icinga2_hostgroup" "hostgroup1" {
      ~ display_name = "Terraform_Test_HostGroup1" -> "Terraform_Test_HostGroup2" # forces replacement
      ~ id           = "terraform-group-11" -> (known after apply)
      ~ name         = "terraform-group-11" -> "terraform-group-11"
    }

Plan: 2 to add, 0 to change, 2 to destroy.

Actual Behavior

only icinga2_hostgroup will be rebuilt:

Terraform will perform the following actions:

  # icinga2_hostgroup.hostgroup1 must be replaced
-/+ resource "icinga2_hostgroup" "hostgroup1" {
      ~ display_name = "Terraform_Test_HostGroup1" -> "Terraform_Test_HostGroup2" # forces replacement
      ~ id           = "terraform-group-11" -> (known after apply)
        name         = "terraform-group-11"
    }

Plan: 1 to add, 0 to change, 1 to destroy.

Steps to Reproduce

  1. terraform init
  2. Insert the config
  3. terraform apply
  4. Confirm apply
  5. Change "icinga2_hostgroup.hostgroup1.display_name" value
  6. terraform apply

Additional Context

icinga2_host Schema:

func resourceIcinga2Host() *schema.Resource {

	return &schema.Resource{
		Create: resourceIcinga2HostCreate,
		Read:   resourceIcinga2HostRead,
		Delete: resourceIcinga2HostDelete,
		Schema: map[string]*schema.Schema{
			"hostname": {
				Type:        schema.TypeString,
				Required:    true,
				Description: "Hostname",
				ForceNew:    true,
			},
			"address": {
				Type:     schema.TypeString,
				Required: true,
				ForceNew: true,
			},
			"check_command": {
				Type:     schema.TypeString,
				Required: true,
				ForceNew: true,
			},
			"groups": {
				Type:     schema.TypeList,
				Optional: true,
				ForceNew: true,
				Elem: &schema.Schema{
					Type: schema.TypeString,
				},
			},
			"vars": {
				Type:     schema.TypeMap,
				Optional: true,
				ForceNew: true,
			},
			"templates": {
				Type:     schema.TypeList,
				Optional: true,
				ForceNew: true,
				Elem: &schema.Schema{
					Type: schema.TypeString,
				},
			},
		},
	}
}

icinga2_hostgroup Schema:

func resourceIcinga2Hostgroup() *schema.Resource {

	return &schema.Resource{
		Create: resourceIcinga2HostgroupCreate,
		Read:   resourceIcinga2HostgroupRead,
		Delete: resourceIcinga2HostgroupDelete,
		Schema: map[string]*schema.Schema{
			"name": {
				Type:        schema.TypeString,
				Required:    true,
				Description: "name",
				ForceNew:    true,
			},
			"display_name": {
				Type:        schema.TypeString,
				Required:    true,
				Description: "Display name of Host Group",
				ForceNew:    true,
			},
		},
	}
}

References

https://github.com/terraform-providers/terraform-provider-icinga2/tree/master/icinga2

icinga2_host vars doesnt support tuples

Hi there,

We have an Icinga host config that has tuples stored in the vars section of the host. When attempting to recreate this config using the icinga2 terraform provider, the plan errors out, as the vars seem to require a string.

Terraform Version

Terraform v1.5.5
on linux_amd64
+ provider registry.terraform.io/hashicorp/vsphere v2.2.0
+ provider registry.terraform.io/icinga/icinga2 v0.5.0

Affected Resource(s)

  • icinga2_host

If this issue appears to affect multiple resources, it may be an issue with Terraform's core, so please mention this.

Terraform Configuration Files

https://gist.github.com/dakota-marshall/657c7f2ea36491a39f733a02039fce53

Debug Output

https://gist.github.com/dakota-marshall/448d27e7e2e757eb4c382f2602e73c18

Expected Behavior

Plan passes correctly, allowing my to pass a tuple to the variables that require it

Actual Behavior

The plan fails, stating that the variables require a string, not a tuple

Inappropriate value for attribute "vars": element "automation_groups": string required.

Steps to Reproduce

Please list the steps required to reproduce the issue, for example:

  1. terraform init
  2. terraform plan

Important Factoids

Here is an example of what our Icinga Host object config looks like for reference

object Host "example" {
    import "my-host-template"
    address = "10.130.7.29"
    vars.os = "linux"
    vars.specialty = "linux"
    vars.department = "infrastructure"
    vars.priority = ["normal"]
    vars.level = 2
    vars.automation_groups = ["linux", "linux_infra_critical"]
    vars.ssl_uris = []
    vars.roles = []
    vars.checks = []
    vars.disabled_checks = []
}

Not able to apply services?

Hi all. Sorry if this is not the right place for this.

I am not able to "assign" a service via terraform. Or is it just me that is doing it wrong?
The documentation doesn't say much about it.

Terraform v0.11.11
+ provider.icinga2 v0.2.0

main.tf:

provider "icinga2" {
  api_url = "https://192.168.199.9:5665/v1"
  api_user                 = "root"
  api_password             = "4c164afe4d1e95d9"
  insecure_skip_tls_verify = true
}

resource "icinga2_host" "webserver" {
  hostname      = "webserver.xxx.com"
  address       = "192.168.188.5"
  check_command = "hostalive"
  templates     = ["generic-host"]

  vars {
    os        = "centos"
    client_endpoint = "name"
    procs_warning =  500
    procs_critical  = 600
    # Disk Checks
    disk_partitions = "/"
    # Apache checks
    http_uri = "/action/robotPing/1.0"
    http_ssl = "true"
    http_clientcert = "/etc/icinga2/pki/xxx.pem"
    http_privatekey = "/etc/icinga2/pki/xxx.key"
  }
}

# Services for webserver.datacentre.motorweb.co.nz
resource "icinga2_service" "ssh" {
  name          = "ssh"
  hostname      = "${icinga2_host.webserver.hostname}"
  check_command = "ssh"
}

apply Service "ssh" {
  check_command = "ssh"
  assign where host.vars.os = 'centos'
}

The error is: Error: Unknown root level key: apply

is this feature not available yet?
Cheers!

no available version

Terraform Version
v0.12.5

Affected Resource(s)
provider icinga2

Terraform Configuration Files

provider "icinga2" {
  api_url                  = "https://<foobar>:5665/v1"
  api_user                 = "<username>"
  api_password             = "<password>"
}

Debug Output
Error: no available version is compatible with this version of Terraform

Steps to Reproduce
terraform init

icinga2 Provider, Host resource bug

This issue was originally opened by @robrankin as hashicorp/terraform#14819. It was migrated here as part of the provider split. The original body of the issue is below.


The Icinga2 Host resource creates an Icinga2 Host object as follows:

object Host "host" {
	action_url = ""
	address = "192.168.1.1"
	address6 = ""
	check_command = "hostalive"
	display_name = ""
	groups = null
	notes = ""
	notes_url = ""
	templates = null
	vars = {
		something = "blart"
	}
	version = 1495628446.109900
	zone = "master"
}

The groups = null syntax does not appear to be valid. When attempting to use Icinga2's group assign functionality, assign where, to assign the above Host object to Hostgroup object, the groups = null entry causes Icinga2 to segfault.

As far as I can tell so far it's only acceptable for the groups parameter to have a non-empty list of 1 or more members.

groups = ["",] does not work for example.

Icinga2 bug report here: Icinga2 Issue hashicorp/terraform#5288

Terraform Version

Terraform v0.9.4

Affected Resource(s)

Please list the resources as a list, for example:

  • icinga2_host

Terraform Configuration Files

resource "icinga2_host" "host" {
  hostname      = "${var.hostname}"
  address       = "${var.address}"
  check_command = "${var.checkCommand}"

  vars {
    something = "blart"
  }
}

Expected Behavior

The Icinga2 Host resource creates correct Icinga2 object syntax

Actual Behavior

The Icinga2 Host resource creates incorrect Icinga2 object syntax

Steps to Reproduce

Please list the steps required to reproduce the issue, for example:

  1. terraform apply

References

Icinga/icinga2#5288

Release 0.1.1

We would like to use #3 in production. With Terraform 0.10.0 now being available, there is nothing that blocks us from doing so except a new release of this provider. Are there any plans to release 0.1.1 soon? Thanks!

Missing package for darwin_arm64

Terraform Version

Terraform v1.1.4
on darwin_arm64

Affected Resource(s)

Not applicable

Terraform Configuration Files

Not applicable

Debug Output

│ Error: Incompatible provider version

│ Provider registry.terraform.io/icinga/icinga2 v0.5.0 does not have a package available for your current platform, darwin_arm64.

│ Provider releases are separate from Terraform CLI releases, so not all providers are available for all platforms. Other versions of this provider may have different platforms
│ supported.

Panic Output

Expected Behavior

Terraform should have downloaded a version of the provider for my platform.

Actual Behavior

No version for my platform is available.

Steps to Reproduce

terraform init on darwin_arm64

Important Factoids

Please bump provider version to 0.5.1 to trigger rebuild that produces binaries for darwin_arm64.
It looks like the release workflow bumped go version from go1.14 to go 1.16 a couple of weeks after the last release.
Darwin_arm64 was not supported in go1.14.
Commiting a new tag that triggers a rebuild of current code should hopefully fix the issue my team and I am experiencing atm.

References

Support zone definition for resource_icinga2_host

Hi there,

Would it be possible to add support for zone when defining a host and release a new version of the provider?

Terraform Version

terraform: 1.1.9
provider: 0.5.0

Affected Resource(s)

Please list the resources as a list, for example:

  • resource_icinga2_host

Terraform Configuration Files

resource "icinga2_host" "host" {
  hostname      = "terraform-host-1"
  address       = "10.10.10.1"
  check_command = "hostalive"
  templates     = ["bp-host-web"]
  zone = "zone1"

  vars = {
    os        = "linux"
    osver     = "1"
    allowance = "none"
  }
}

Expected Behavior

It is possible to create a host within a given zone

Actual Behavior

It is not possible to define the zone associated with a host

References

The implementation is already done in one alternative providier: https://github.com/openHPI/terraform-provider-icinga2/blob/master/icinga2/resource_icinga2_host.go#L59

See: openHPI/terraform-provider-icinga2#1

Error: Failed to Read Notification

Hi
After creating a new notification resource

resource "icinga2_notification" "project-stage-website" {
  hostname = "project-stage-website"
  command  = "slack-host-notification"
  users    = ["slack"]
}

the terraform state shows the following

{
  "version": 4,
  "terraform_version": "0.14.6",
  "serial": 4,
  "lineage": "dc265d13-d932-889a-4ab9-0f11cf99fb23",
  "outputs": {},
  "resources": [
    {
      "mode": "managed",
      "type": "icinga2_notification",
      "name": "project-stage-website",
      "provider": "provider[\"registry.terraform.io/icinga/icinga2\"]",
      "instances": [
        {
          "schema_version": 0,
          "attributes": {
            "command": "slack-host-notification",
            "hostname": "project-stage-website",
            "id": "project-stage-website!project-stage-website",
            "interval": 1800,
            "servicename": "",
            "templates": null,
            "users": [
              "slack"
            ],
            "vars": {}
          },
          "sensitive_attributes": [],
          "private": "bnVsbA=="
        }
      ]
    }
  ]
}

rerunning any changes after that gives the following error
Error: Failed to Read Notification project-stage-website! : %!s()

The id field seems weird

Terraform v0.14.6
+ provider registry.terraform.io/icinga/icinga2 v0.5.0-pre

Terraform icinga2 problem

Hi there,

I am trying to create a new host on icinga2 using terraform i used the exact syntax as the terraform documentation but i found the below error:

  • icinga2_host.host: 1 error(s) occurred:

  • icinga2_host.host: Validation failed for object 'terraform-host-1' of type 'Host'; Attribute 'groups': Attribute must not be empty. Location: in /var/lib/icinga2/api/packages/_api/5ec3a468-6a3e-495c-9384-28dbaae1feba/conf.d/hosts/terraform-host-1.conf: 7:2-7:14

I am using terraform version:
Terraform v0.11.7

  • provider.aws v1.31.0
  • provider.icinga2 v0.1.1

code:
resource "icinga2_hostgroup" "terraform" {
name = "terraform-hostgroup-1"
display_name = "Terraform Test HostGroup"
}

provider "icinga2" {
api_url = "https://localhost:5665/v1"
api_user = "root"
api_password = "root"
insecure_skip_tls_verify = true
}

resource "icinga2_host" "host" {
hostname = "terraform-host-1"
address = "10.10.10.1"
check_command = "hostalive"

templates= ["generic-host"]

}

steps to produce:
terraform apply

Incompatible with terraform 0.12

Terraform Version

0.12.1

Affected Resource(s)

provider icinga2

Terraform Configuration Files

provider "icinga2" {
  api_url                  = "https://<foobar>:5665/v1"
  api_user                 = "<username>"
  api_password             = "<password>"

  version = "0.2.0"
}

Debug Output

Error: failed to load provider "icinga2": Incompatible API version with plugin. Plugin version: 4, Client versions: [5]

Expected Behavior

"terraform apply" and "terraform 0.12upgrade" succeed

Actual Behavior

"terraform apply" and "terraform 0.12upgrade" fail when using terraform 0.12.1

Steps to Reproduce

  1. Install terraform 0.12.1
  2. terraform init
  3. terraform apply

References

https://www.terraform.io/docs/extend/terraform-0.12-compatibility.html

object updates

Hi together,

I hope you can help us with our updating problems.

Terraform Version

v0.12

Affected Resource(s)

icinga2_host

Terraform Configuration Files

We added some icinga host objects and services in our azure terraform infrastructur code and the deployment worked without any problems.
After that we added a new variable (deployment = "terraform").
The terraform plan said that the host will be changing (nothing will remove), The result of this was that we saw the host object with the new variable in the icinga2 web portal but all associated services were missed.
Now when we trigger a new deployment it will fail because the tfstate file says: "Error: Failed to Read Service".

resource "icinga2_host" "icinga_pg_host" {
  hostname      = azurerm_postgresql_server.pg_server.name
  address       = azurerm_postgresql_server.pg_server.id
  **vars = {
    deployment       = "terraform"
  }**
}

resource "icinga2_service" "icinga_pg_service_ressourcehealth" {
  name          = var.service_pg_ressourcehealth
  hostname      = icinga2_host.icinga_pg_host.hostname
}

I think the problem is that terraform will change the object without touching any service of it. icinga otherwise delete this host object with every associated service. The service objects still exist in the tfstate file.

We have many problems with updating services or host objects. Sometimes we get the following error after changing some existing objects: "Error: 500 Internal Server Error". Only this problem can be solved by restarting icinga.

Best regards

Offer of maintaner help

Hello @lrsmith

Seems like this provider could do with some help, would be happy to help out being a maintainer if you are busy to get the issues and PRs cleaned up.

Same offer goes for the GO API as I would like to get this provider up to date with the full API. Happy to fork that and switch this provider over to the fork.

Thanks.

[PROPOSAL] Switch to Go Modules

As part of the preparation for Terraform v0.12, we would like to migrate all providers to use Go Modules. We plan to continue checking dependencies into vendor/ to remain compatible with existing tooling/CI for a period of time, however go modules will be used for management. Go Modules is the official solution for the go programming language, we understand some providers might not want this change yet, however we encourage providers to begin looking towards the switch as this is how we will be managing all Go projects in the future. Would maintainers please react with 👍 for support, or 👎 if you wish to have this provider omitted from the first wave of pull requests. If your provider is in support, we would ask that you avoid merging any pull requests that mutate the dependencies while the Go Modules PR is open (in fact a total codefreeze would be even more helpful), otherwise we will need to close that PR and re-run go mod init. Once merged, dependencies can be added or updated as follows:

$ GO111MODULE=on go get github.com/some/module@master
$ GO111MODULE=on go mod tidy
$ GO111MODULE=on go mod vendor

GO111MODULE=on might be unnecessary depending on your environment, this example will fetch a module @ master and record it in your project's go.mod and go.sum files. It's a good idea to tidy up afterward and then copy the dependencies into vendor/. To remove dependencies from your project, simply remove all usage from your codebase and run:

$ GO111MODULE=on go mody tidy
$ GO111MODULE=on go mod vendor

Thank you sincerely for all your time, contributions, and cooperation!

Nested Host / Service variables

Is it possible to extend the variables so they can be nested?
So we can do something like this?

vars.partition["/"] = { warn = "90%", crit = "95%" }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.