mirror of
https://github.com/adammck/terraform-inventory
synced 2024-11-22 20:01:58 +01:00
Add OpenTelekomCloud provider (#112)
This commit is contained in:
parent
2417ce8c1f
commit
3a1f433061
@ -25,6 +25,7 @@ The following providers are supported:
|
|||||||
* SoftLayer
|
* SoftLayer
|
||||||
* VMware
|
* VMware
|
||||||
* Nutanix
|
* Nutanix
|
||||||
|
* Open Telekom Cloud
|
||||||
|
|
||||||
It's very simple to add support for new providers. See pull requests with the
|
It's very simple to add support for new providers. See pull requests with the
|
||||||
[provider][pv] label for examples.
|
[provider][pv] label for examples.
|
||||||
|
@ -395,6 +395,19 @@ const exampleStateFile = `
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"opentelekomcloud_compute_instance_v2.nineteen": {
|
||||||
|
"type": "opentelekomcloud_compute_instance_v2",
|
||||||
|
"primary": {
|
||||||
|
"id": "00000000-0000-0000-0000-000000000015",
|
||||||
|
"attributes": {
|
||||||
|
"id": "00000000-0000-0000-0000-000000000015",
|
||||||
|
"access_ip_v4": "10.0.0.19",
|
||||||
|
"access_ip_v6": "",
|
||||||
|
"tag.%": "1",
|
||||||
|
"tag.tfinventory": "rocks"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"profitbricks_server.sixteen": {
|
"profitbricks_server.sixteen": {
|
||||||
"type": "profitbricks_server",
|
"type": "profitbricks_server",
|
||||||
"primary": {
|
"primary": {
|
||||||
@ -444,6 +457,7 @@ const expectedListOutput = `
|
|||||||
"10.0.0.11",
|
"10.0.0.11",
|
||||||
"10.0.0.13",
|
"10.0.0.13",
|
||||||
"10.0.0.16",
|
"10.0.0.16",
|
||||||
|
"10.0.0.19",
|
||||||
"10.0.0.7",
|
"10.0.0.7",
|
||||||
"10.0.0.8",
|
"10.0.0.8",
|
||||||
"10.0.0.9",
|
"10.0.0.9",
|
||||||
@ -481,6 +495,7 @@ const expectedListOutput = `
|
|||||||
"testTag1": ["10.20.30.50"],
|
"testTag1": ["10.20.30.50"],
|
||||||
"thirteen": ["10.0.0.13"],
|
"thirteen": ["10.0.0.13"],
|
||||||
"fourteen": ["192.168.102.14"],
|
"fourteen": ["192.168.102.14"],
|
||||||
|
"nineteen": ["10.0.0.19"],
|
||||||
"sixteen": ["10.0.0.16"],
|
"sixteen": ["10.0.0.16"],
|
||||||
"seventeen": ["50.0.0.17"],
|
"seventeen": ["50.0.0.17"],
|
||||||
"eighteen": ["80.80.100.124"],
|
"eighteen": ["80.80.100.124"],
|
||||||
@ -501,6 +516,7 @@ const expectedListOutput = `
|
|||||||
"twelve.0": ["10.20.30.50"],
|
"twelve.0": ["10.20.30.50"],
|
||||||
"thirteen.0": ["10.0.0.13"],
|
"thirteen.0": ["10.0.0.13"],
|
||||||
"fourteen.0": ["192.168.102.14"],
|
"fourteen.0": ["192.168.102.14"],
|
||||||
|
"nineteen.0": ["10.0.0.19"],
|
||||||
"sixteen.0": ["10.0.0.16"],
|
"sixteen.0": ["10.0.0.16"],
|
||||||
"seventeen.0": ["50.0.0.17"],
|
"seventeen.0": ["50.0.0.17"],
|
||||||
"eighteen.0": ["80.80.100.124"],
|
"eighteen.0": ["80.80.100.124"],
|
||||||
@ -510,6 +526,7 @@ const expectedListOutput = `
|
|||||||
"type_cloudstack_instance": ["10.2.1.5"],
|
"type_cloudstack_instance": ["10.2.1.5"],
|
||||||
"type_vsphere_virtual_machine": ["10.20.30.40", "10.20.30.50"],
|
"type_vsphere_virtual_machine": ["10.20.30.40", "10.20.30.50"],
|
||||||
"type_openstack_compute_instance_v2": ["10.120.0.226"],
|
"type_openstack_compute_instance_v2": ["10.120.0.226"],
|
||||||
|
"type_opentelekomcloud_compute_instance_v2": ["10.0.0.19"],
|
||||||
"type_profitbricks_server": ["10.0.0.16"],
|
"type_profitbricks_server": ["10.0.0.16"],
|
||||||
"type_softlayer_virtual_guest": ["10.0.0.7"],
|
"type_softlayer_virtual_guest": ["10.0.0.7"],
|
||||||
"type_exoscale_compute": ["10.0.0.9"],
|
"type_exoscale_compute": ["10.0.0.9"],
|
||||||
@ -530,7 +547,8 @@ const expectedListOutput = `
|
|||||||
"staging": ["192.168.0.3"],
|
"staging": ["192.168.0.3"],
|
||||||
"status_superserver": ["10.120.0.226"],
|
"status_superserver": ["10.120.0.226"],
|
||||||
"database": ["10.0.0.8"],
|
"database": ["10.0.0.8"],
|
||||||
"scw_test": ["10.0.0.11"]
|
"scw_test": ["10.0.0.11"],
|
||||||
|
"tfinventory_rocks": ["10.0.0.19"]
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
@ -540,6 +558,7 @@ const expectedInventoryOutput = `[all]
|
|||||||
10.0.0.11
|
10.0.0.11
|
||||||
10.0.0.13
|
10.0.0.13
|
||||||
10.0.0.16
|
10.0.0.16
|
||||||
|
10.0.0.19
|
||||||
10.0.0.7
|
10.0.0.7
|
||||||
10.0.0.8
|
10.0.0.8
|
||||||
10.0.0.9
|
10.0.0.9
|
||||||
@ -611,6 +630,12 @@ olddatacenter="\u003c0.7_format"
|
|||||||
[nine.0]
|
[nine.0]
|
||||||
10.0.0.9
|
10.0.0.9
|
||||||
|
|
||||||
|
[nineteen]
|
||||||
|
10.0.0.19
|
||||||
|
|
||||||
|
[nineteen.0]
|
||||||
|
10.0.0.19
|
||||||
|
|
||||||
[one]
|
[one]
|
||||||
10.0.0.1
|
10.0.0.1
|
||||||
10.0.1.1
|
10.0.1.1
|
||||||
@ -678,6 +703,9 @@ olddatacenter="\u003c0.7_format"
|
|||||||
[testTag1]
|
[testTag1]
|
||||||
10.20.30.50
|
10.20.30.50
|
||||||
|
|
||||||
|
[tfinventory_rocks]
|
||||||
|
10.0.0.19
|
||||||
|
|
||||||
[thirteen]
|
[thirteen]
|
||||||
10.0.0.13
|
10.0.0.13
|
||||||
|
|
||||||
@ -731,6 +759,9 @@ olddatacenter="\u003c0.7_format"
|
|||||||
[type_openstack_compute_instance_v2]
|
[type_openstack_compute_instance_v2]
|
||||||
10.120.0.226
|
10.120.0.226
|
||||||
|
|
||||||
|
[type_opentelekomcloud_compute_instance_v2]
|
||||||
|
10.0.0.19
|
||||||
|
|
||||||
[type_packet_device]
|
[type_packet_device]
|
||||||
10.0.0.13
|
10.0.0.13
|
||||||
|
|
||||||
|
12
resource.go
12
resource.go
@ -112,6 +112,18 @@ func (r Resource) Tags() map[string]string {
|
|||||||
t[kk] = vv
|
t[kk] = vv
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
case "opentelekomcloud_compute_instance_v2":
|
||||||
|
for k, v := range r.Attributes() {
|
||||||
|
parts := strings.SplitN(k, ".", 2)
|
||||||
|
// At some point Terraform changed the key for counts of attributes to end with ".%"
|
||||||
|
// instead of ".#". Both need to be considered as Terraform still supports state
|
||||||
|
// files using the old format.
|
||||||
|
if len(parts) == 2 && parts[0] == "tag" && parts[1] != "#" && parts[1] != "%" {
|
||||||
|
kk := strings.ToLower(parts[1])
|
||||||
|
vv := strings.ToLower(v)
|
||||||
|
t[kk] = vv
|
||||||
|
}
|
||||||
|
}
|
||||||
case "aws_instance", "linode_instance":
|
case "aws_instance", "linode_instance":
|
||||||
for k, v := range r.Attributes() {
|
for k, v := range r.Attributes() {
|
||||||
parts := strings.SplitN(k, ".", 2)
|
parts := strings.SplitN(k, ".", 2)
|
||||||
|
Loading…
Reference in New Issue
Block a user