{"id":22653888,"url":"https://github.com/gslabdev/terraform-provider-odl","last_synced_at":"2025-04-11T12:06:50.045Z","repository":{"id":96137736,"uuid":"104216657","full_name":"GSLabDev/terraform-provider-odl","owner":"GSLabDev","description":"Automates the Open DayLight resource creation during Infrastructure build using Terraform Provider. ","archived":false,"fork":false,"pushed_at":"2017-10-10T10:26:24.000Z","size":43,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-06T11:02:22.960Z","etag":null,"topics":["odl","opendaylight","terraform","terraform-provider"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GSLabDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-20T13:07:59.000Z","updated_at":"2021-08-31T21:59:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"8e8632e7-1c79-4d57-acf2-8660b7c09745","html_url":"https://github.com/GSLabDev/terraform-provider-odl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSLabDev%2Fterraform-provider-odl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSLabDev%2Fterraform-provider-odl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSLabDev%2Fterraform-provider-odl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSLabDev%2Fterraform-provider-odl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GSLabDev","download_url":"https://codeload.github.com/GSLabDev/terraform-provider-odl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248396375,"owners_count":21096927,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["odl","opendaylight","terraform","terraform-provider"],"created_at":"2024-12-09T09:30:24.150Z","updated_at":"2025-04-11T12:06:50.012Z","avatar_url":"https://github.com/GSLabDev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Open Daylight Provider\n\nThis is the repository for the Terraform [Open Daylight][1] Provider, which one can use\nwith Terraform to work with Open Daylight.\n\n[1]: https://www.opendaylight.org/\n\nCoverage is currently only limited to Virtual Tennant Network, Virtual Bridge and Virtual Interface but in the coming months we are planning release coverage for most essential Open Daylight workflows.\nWatch this space!\n\nFor general information about Terraform, visit the [official website][3] and the\n[GitHub project page][4].\n\n[3]: https://terraform.io/\n[4]: https://github.com/hashicorp/terraform\n\n# Using the Provider\n\nThe current version of this provider requires Terraform v0.10.2 or higher to\nrun.\n\nNote that you need to run `terraform init` to fetch the provider before\ndeploying. Read about the provider split and other changes to TF v0.10.0 in the\nofficial release announcement found [here][4].\n\n[4]: https://www.hashicorp.com/blog/hashicorp-terraform-0-10/\n\n## Full Provider Documentation\n\nThe provider is usefull in adding Virtual Tenant Network, Bridges and Interfaces using Open Daylight.\n\n### Example\n```hcl\n# Configure the Open Daylight Provider\nprovider \"odl\" {\n  server_ip     = \"${var.odl_server_ip}\"\n  port          = \"${var.odl_server_port}\"\n  user_name     = \"${var.odl_username}\"\n  user_password = \"${var.odl_password}\"\n}\n\n# Add a Virtual Tennant Network\nresource \"odl_virtual_tenant_network\" \"firstVtn\" {\n  tenant_name  = \"vtn12\"\n  operation    = \"ADD\"\n  description  = \"operation can be ADD or SET only\"\n  idle_timeout = 56\n  hard_timeout = 58\n}\n\n# Add a Virtual Bridge\nresource \"odl_virtual_bridge\" \"firstVbr\" {\n  tenant_name  = \"${odl_virtual_tenant_network.firstVtn.tenant_name}\"\n  bridge_name  = \"vbr6\"\n  operation    = \"SET\"\n  description  = \"operation can be ADD or SET only\"\n  age_interval = 577\n}\n\n# Add a Virtual Interface\nresource \"odl_virtual_interface\" \"firstInterface\" {\n  tenant_name    = \"${odl_virtual_tenant_network.firstVtn.tenant_name}\"\n  bridge_name    = \"${odl_virtual_bridge.firstVbr.bridge_name}\"\n  description    = \"operation can be ADD or SET only\"\n  interface_name = \"interface1\"\n  enabled        = true\n  terminal_name  = \"ter1\"\n}\n```\n\n# Building The Provider\n\n**NOTE:** Unless you are [developing][7] or require a pre-release bugfix or feature,\nyou will want to use the officially released version of the provider (see [the\nsection above][8]).\n\n[7]: #developing-the-provider\n[8]: #using-the-provider\n\n\n## Cloning the Project\n\nFirst, you will want to clone the repository to\n`$GOPATH/src/github.com/terraform-providers/terraform-provider-odl`:\n\n```sh\nmkdir -p $GOPATH/src/github.com/terraform-providers\ncd $GOPATH/src/github.com/terraform-providers\ngit clone git@github.com:terraform-providers/terraform-provider-odl\n```\n\n## Running the Build\n\nAfter the clone has been completed, you can enter the provider directory and\nbuild the provider.\n\n```sh\ncd $GOPATH/src/github.com/terraform-providers/terraform-provider-odl\nmake build\n```\n\n## Installing the Local Plugin\n\nAfter the build is complete, copy the `terraform-provider-odl` binary into\nthe same path as your `terraform` binary, and re-run `terraform init`.\n\nAfter this, your project-local `.terraform/plugins/ARCH/lock.json` (where `ARCH`\nmatches the architecture of your machine) file should contain a SHA256 sum that\nmatches the local plugin. Run `shasum -a 256` on the binary to verify the values\nmatch.\n\n# Developing the Provider\n\nIf you wish to work on the provider, you'll first need [Go][9] installed on your\nmachine (version 1.9+ is **required**). You'll also need to correctly setup a\n[GOPATH][10], as well as adding `$GOPATH/bin` to your `$PATH`.\n\n[9]: https://golang.org/\n[10]: http://golang.org/doc/code.html#GOPATH\n\nSee [Building the Provider][11] for details on building the provider.\n\n[11]: #building-the-provider\n\n# Testing the Provider\n\n**NOTE:** Testing the Open Daylight provider is currently a complex operation as it\nrequires having a Open Daylight Server to test against.\n\n## Configuring Environment Variables\n\nMost of the tests in this provider require a comprehensive list of environment\nvariables to run. See the individual `*_test.go` files in the\n[`odl/`](odl/) directory for more details. The next section also\ndescribes how you can manage a configuration file of the test environment\nvariables.\n\n### Using the `.tf-odl-devrc.mk` file\n\nThe [`tf-odl-devrc.mk.example`](tf-odl-devrc.mk.example) file contains\nan up-to-date list of environment variables required to run the acceptance\ntests. Copy this to `$HOME/.tf-odl-devrc.mk` and change the permissions to\nsomething more secure (ie: `chmod 600 $HOME/.tf-odl-devrc.mk`), and\nconfigure the variables accordingly.\n\n## Running the Acceptance Tests\n\nAfter this is done, you can run the acceptance tests by running:\n\n```sh\n$ make testacc\n```\n\nIf you want to run against a specific set of tests, run `make testacc` with the\n`TESTARGS` parameter containing the run mask as per below:\n\n```sh\nmake testacc TESTARGS=\"-run=TestAccOdl\"\n```\n\nThis following example would run all of the acceptance tests matching\n`TestAccOdl`. Change this for the specific tests you want to\nrun.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgslabdev%2Fterraform-provider-odl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgslabdev%2Fterraform-provider-odl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgslabdev%2Fterraform-provider-odl/lists"}