{"id":15406918,"url":"https://github.com/raphink/puppet-netcf","last_synced_at":"2025-07-04T09:06:37.351Z","repository":{"id":5876671,"uuid":"7094203","full_name":"raphink/puppet-netcf","owner":"raphink","description":"Netcf provider for Puppet","archived":false,"fork":false,"pushed_at":"2014-07-03T14:59:08.000Z","size":119,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-14T05:36:43.502Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raphink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-10T14:01:15.000Z","updated_at":"2014-07-03T14:59:43.000Z","dependencies_parsed_at":"2022-07-09T02:16:30.182Z","dependency_job_id":null,"html_url":"https://github.com/raphink/puppet-netcf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raphink/puppet-netcf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphink%2Fpuppet-netcf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphink%2Fpuppet-netcf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphink%2Fpuppet-netcf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphink%2Fpuppet-netcf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raphink","download_url":"https://codeload.github.com/raphink/puppet-netcf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphink%2Fpuppet-netcf/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263480867,"owners_count":23473164,"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":[],"created_at":"2024-10-01T16:26:15.806Z","updated_at":"2025-07-04T09:06:37.322Z","avatar_url":"https://github.com/raphink.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Netcf module for Puppet\n\n**Manages network settings using the Netcf library.**\n\nThis is the Puppet netcf module.\n\n\n## Rationale\n\nManaging network interfaces cleanly using Puppet is not an easy task. Fortunately, the `netcf` library provides an OS-agnostic interface which allows to manage network settings natively through an XML-based API.\n\nThis module uses the `netcf` Ruby bindings to provide a set of types and providers for Puppet in order to cleanly manage network settings.\n\n\n## Requirements\n\nThis module requires [the netcf Ruby bindings](https://github.com/raphink/netcf-ruby)\n\n## Resources\n\n### `netcf_if`\n\nThe `netcf_if` type is a generic type which lets you manage any kind of interface (or even more than one) by passing an XML description of it. The XML description (as per [`netcf`'s XML schema](https://git.fedorahosted.org/cgit/netcf.git/tree/tests/interface)) is passed to the `netcf` library to define the interface.\n\nSample usage:\n\n```puppet\nnetcf_if {\"eth1\":\n  ensure     =\u003e up,\n  definition =\u003e '\n\u003cinterface type=\"ethernet\" name=\"eth1\"\u003e\n  \u003cstart mode=\"onboot\"/\u003e\n  \u003cprotocol family=\"ipv4\"\u003e\n     \u003cip address=\"192.168.0.5\" prefix=\"24\"/\u003e\n     \u003croute gateway=\"192.168.0.1\"/\u003e\n  \u003c/protocol\u003e\n\u003c/interface\u003e',\n}\n```\n\n\n### `network_if`\n\nThe `network_if` is a type to manage simple network interfaces through the `netcf` library.\n\nSample usage:\n\n```puppet\nnetwork_if { 'eth0':\n  ensure     =\u003e 'down',\n  type       =\u003e 'ethernet',\n  start_mode =\u003e 'onboot',\n  ipv4_ips   =\u003e ['192.168.1.3/24'],\n}\n```\n\n## Contributing\n\nPlease report bugs and feature request using [GitHub issue\ntracker](https://github.com/camptocamp/puppet-netcf/issues).\n\nFor pull requests, it is very much appreciated to check your Puppet manifest\nwith [puppet-lint](https://github.com/camptocamp/puppet-netcf/issues) to follow the recommended Puppet style guidelines from the\n[Puppet Labs style guide](http://docs.puppetlabs.com/guides/style_guide.html).\n\n## License\n\nCopyright (c) 2014 \u003cmailto:puppet@camptocamp.com\u003e All rights reserved.\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphink%2Fpuppet-netcf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraphink%2Fpuppet-netcf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphink%2Fpuppet-netcf/lists"}