2016-09-14 19:20:26 +00:00
{
"puppet_classes" : [
{
"name" : "klass" ,
"file" : "(stdin)" ,
2018-04-21 20:38:53 +00:00
"line" : 7 ,
2016-09-14 19:20:26 +00:00
"inherits" : "foo::bar" ,
"docstring" : {
"text" : "A simple class." ,
"tags" : [
2018-04-21 20:38:53 +00:00
{
"tag_name" : "todo" ,
"text" : "Do a thing"
} ,
{
"tag_name" : "note" ,
"text" : "Some note"
} ,
2016-09-14 19:20:26 +00:00
{
"tag_name" : "param" ,
"text" : "First param." ,
"types" : [
"Integer"
] ,
"name" : "param1"
} ,
{
"tag_name" : "param" ,
"text" : "Second param." ,
"types" : [
"Any"
] ,
"name" : "param2"
} ,
{
"tag_name" : "param" ,
"text" : "Third param." ,
"types" : [
"String"
] ,
"name" : "param3"
}
]
} ,
"defaults" : {
"param3" : "hi"
} ,
"source" : "class klass(Integer $param1, $param2, String $param3 = hi) inherits foo::bar {\n}"
}
] ,
"defined_types" : [
{
"name" : "dt" ,
"file" : "(stdin)" ,
2018-04-21 20:38:53 +00:00
"line" : 14 ,
2016-09-14 19:20:26 +00:00
"docstring" : {
"text" : "A simple defined type." ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "First param." ,
"types" : [
"Integer"
] ,
"name" : "param1"
} ,
{
"tag_name" : "param" ,
"text" : "Second param." ,
"types" : [
"Any"
] ,
"name" : "param2"
} ,
{
"tag_name" : "param" ,
"text" : "Third param." ,
"types" : [
"String"
] ,
"name" : "param3"
}
]
} ,
"defaults" : {
"param3" : "hi"
} ,
"source" : "define dt(Integer $param1, $param2, String $param3 = hi) {\n}"
}
] ,
"resource_types" : [
2018-02-20 22:49:45 +00:00
{
"name" : "apt_key" ,
"file" : "(stdin)" ,
"line" : 92 ,
"docstring" : {
"text" : "This type provides Puppet with the capabilities to manage GPG keys needed\nby apt to perform package validation. Apt has it's own GPG keyring that can\nbe manipulated through the `apt-key` command.\n**Autorequires**:\nIf Puppet is given the location of a key file which looks like an absolute\npath this type will autorequire that file." ,
"tags" : [
{
"tag_name" : "summary" ,
"text" : "Example resource type using the new API."
} ,
{
"tag_name" : "raise" ,
"text" : "SomeError"
} ,
{
"tag_name" : "example" ,
"text" : "apt_key { '6F6B15509CF8E59E6E469F327F438280EF8D349F':\n source => 'http://apt.puppetlabs.com/pubkey.gpg'\n}" ,
"name" : "here's an example"
}
]
} ,
"properties" : [
{
"name" : "ensure" ,
"description" : "Whether this apt key should be present or absent on the target system." ,
"data_type" : "Enum[present, absent]"
} ,
{
"name" : "created" ,
"description" : "Date the key was created, in ISO format." ,
"data_type" : "String"
}
] ,
"parameters" : [
{
"name" : "id" ,
"description" : "The ID of the key you want to manage." ,
"data_type" : "Variant[Pattern[/A(0x)?[0-9a-fA-F]{8}Z/], Pattern[/A(0x)?[0-9a-fA-F]{16}Z/], Pattern[/A(0x)?[0-9a-fA-F]{40}Z/]]" ,
"isnamevar" : true
}
]
} ,
2016-09-14 19:20:26 +00:00
{
"name" : "database" ,
"file" : "(stdin)" ,
2016-11-01 22:58:30 +00:00
"line" : 54 ,
2016-09-14 19:20:26 +00:00
"docstring" : {
"text" : "An example database server resource type."
} ,
"properties" : [
{
"name" : "ensure" ,
"description" : "What state the database should be in." ,
"values" : [
"present" ,
"absent" ,
"up" ,
"down"
] ,
"aliases" : {
"up" : "present" ,
"down" : "absent"
} ,
"default" : "up"
} ,
{
"name" : "file" ,
"description" : "The database file to use."
} ,
{
"name" : "log_level" ,
"description" : "The log level to use." ,
"values" : [
"debug" ,
"warn" ,
"error"
] ,
"default" : "warn"
}
] ,
"parameters" : [
{
"name" : "address" ,
"description" : "The database server name." ,
"isnamevar" : true
} ,
{
"name" : "encryption_key" ,
"description" : "The encryption key to use."
} ,
{
"name" : "encrypt" ,
"description" : "Whether or not to encrypt the database." ,
"values" : [
"true" ,
"false" ,
"yes" ,
"no"
] ,
"default" : "false"
}
] ,
"features" : [
{
"name" : "encryption" ,
"description" : "The provider supports encryption."
}
]
}
] ,
"providers" : [
{
"name" : "linux" ,
"type_name" : "database" ,
"file" : "(stdin)" ,
2016-11-01 22:58:30 +00:00
"line" : 43 ,
2016-09-14 19:20:26 +00:00
"docstring" : {
"text" : "An example provider on Linux."
} ,
"confines" : {
"kernel" : "Linux" ,
"osfamily" : "RedHat"
} ,
"features" : [
"implements_some_feature" ,
"some_other_feature"
] ,
2016-10-11 19:45:17 +00:00
"defaults" : [
[
[
"kernel" ,
"Linux"
]
] ,
[
[
"osfamily" ,
"RedHat"
] ,
[
"operatingsystemmajrelease" ,
"7"
]
]
] ,
2016-09-14 19:20:26 +00:00
"commands" : {
"foo" : "/usr/bin/foo"
}
}
] ,
"puppet_functions" : [
{
"name" : "func" ,
"file" : "(stdin)" ,
2016-09-16 19:15:26 +00:00
"line" : 6 ,
2016-09-14 19:20:26 +00:00
"type" : "puppet" ,
2016-11-01 22:58:30 +00:00
"signatures" : [
{
"signature" : "func(Integer $param1, Any $param2, String $param3 = hi)" ,
"docstring" : {
"text" : "A simple function." ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "First param." ,
"types" : [
"Integer"
] ,
"name" : "param1"
} ,
{
"tag_name" : "param" ,
"text" : "Second param." ,
"types" : [
"Any"
] ,
"name" : "param2"
} ,
{
"tag_name" : "param" ,
"text" : "Third param." ,
"types" : [
"String"
] ,
"name" : "param3"
} ,
{
"tag_name" : "return" ,
"text" : "Returns nothing." ,
"types" : [
"Undef"
]
}
]
}
}
] ,
2016-09-14 19:20:26 +00:00
"docstring" : {
"text" : "A simple function." ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "First param." ,
"types" : [
"Integer"
] ,
"name" : "param1"
} ,
{
"tag_name" : "param" ,
"text" : "Second param." ,
"types" : [
"Any"
] ,
"name" : "param2"
} ,
{
"tag_name" : "param" ,
"text" : "Third param." ,
"types" : [
"String"
] ,
"name" : "param3"
} ,
{
"tag_name" : "return" ,
"text" : "Returns nothing." ,
"types" : [
"Undef"
]
}
]
} ,
"defaults" : {
"param3" : "hi"
} ,
"source" : "function func(Integer $param1, $param2, String $param3 = hi) {\n}"
} ,
{
"name" : "func3x" ,
"file" : "(stdin)" ,
"line" : 1 ,
"type" : "ruby3x" ,
2016-11-01 22:58:30 +00:00
"signatures" : [
{
"signature" : "func3x(String $first, Any $second)" ,
"docstring" : {
"text" : "An example 3.x function." ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "The first parameter." ,
"types" : [
"String"
] ,
"name" : "first"
} ,
{
"tag_name" : "param" ,
"text" : "The second parameter." ,
"types" : [
"Any"
] ,
"name" : "second"
} ,
{
"tag_name" : "return" ,
"text" : "Returns nothing." ,
"types" : [
"Undef"
]
}
]
}
}
] ,
2016-09-14 19:20:26 +00:00
"docstring" : {
"text" : "An example 3.x function." ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "The first parameter." ,
"types" : [
"String"
] ,
"name" : "first"
} ,
{
"tag_name" : "param" ,
"text" : "The second parameter." ,
"types" : [
"Any"
] ,
"name" : "second"
} ,
{
"tag_name" : "return" ,
"text" : "Returns nothing." ,
"types" : [
"Undef"
]
}
]
} ,
"source" : "Puppet::Parser::Functions.newfunction(:func3x, doc: <<-DOC\nAn example 3.x function.\n@param [String] first The first parameter.\n@param second The second parameter.\n@return [Undef] Returns nothing.\nDOC\n) do |*args|\nend"
} ,
{
"name" : "func4x" ,
"file" : "(stdin)" ,
"line" : 11 ,
"type" : "ruby4x" ,
2016-11-01 22:58:30 +00:00
"signatures" : [
{
"signature" : "func4x(Integer $param1, Any $param2, Optional[Array[String]] $param3)" ,
"docstring" : {
"text" : "The first overload." ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "The first parameter." ,
"types" : [
"Integer"
] ,
"name" : "param1"
} ,
{
"tag_name" : "param" ,
"text" : "The second parameter." ,
"types" : [
"Any"
] ,
"name" : "param2"
} ,
{
"tag_name" : "param" ,
"text" : "The third parameter." ,
"types" : [
"Optional[Array[String]]"
] ,
"name" : "param3"
} ,
{
"tag_name" : "return" ,
"text" : "Returns nothing." ,
"types" : [
"Undef"
]
}
]
}
} ,
{
"signature" : "func4x(Boolean $param, Callable &$block)" ,
"docstring" : {
"text" : "" ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "The first parameter." ,
"types" : [
"Boolean"
] ,
"name" : "param"
} ,
{
"tag_name" : "param" ,
"text" : "The block parameter." ,
"types" : [
"Callable"
] ,
"name" : "&block"
} ,
{
"tag_name" : "return" ,
"text" : "Returns a string." ,
"types" : [
"String"
]
}
]
}
}
] ,
2016-09-14 19:20:26 +00:00
"docstring" : {
"text" : "An example 4.x function." ,
"tags" : [
{
"tag_name" : "overload" ,
"signature" : "func4x(Integer $param1, Any $param2, Optional[Array[String]] $param3)" ,
"docstring" : {
"text" : "The first overload." ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "The first parameter." ,
"types" : [
"Integer"
] ,
"name" : "param1"
} ,
{
"tag_name" : "param" ,
"text" : "The second parameter." ,
"types" : [
"Any"
] ,
"name" : "param2"
} ,
{
"tag_name" : "param" ,
"text" : "The third parameter." ,
"types" : [
"Optional[Array[String]]"
] ,
"name" : "param3"
} ,
{
"tag_name" : "return" ,
"text" : "Returns nothing." ,
"types" : [
"Undef"
]
}
]
} ,
"name" : "func4x"
} ,
{
"tag_name" : "overload" ,
"signature" : "func4x(Boolean $param, Callable &$block)" ,
"docstring" : {
2016-11-04 20:08:45 +00:00
"text" : "" ,
2016-09-14 19:20:26 +00:00
"tags" : [
{
"tag_name" : "param" ,
"text" : "The first parameter." ,
"types" : [
"Boolean"
] ,
"name" : "param"
} ,
{
"tag_name" : "param" ,
"text" : "The block parameter." ,
"types" : [
"Callable"
] ,
"name" : "&block"
} ,
{
"tag_name" : "return" ,
"text" : "Returns a string." ,
"types" : [
"String"
]
}
]
} ,
"name" : "func4x"
}
]
} ,
2016-11-04 20:08:45 +00:00
"source" : "Puppet::Functions.create_function(:func4x) do\n # The first overload.\n # @param param1 The first parameter.\n # @param param2 The second parameter.\n # @param param3 The third parameter.\n # @return Returns nothing.\n dispatch :foo do\n param 'Integer', :param1\n param 'Any', :param2\n optional_param 'Array[String]', :param3\n return_type 'Undef'\n end\n\n # @param param The first parameter.\n # @param block The block parameter.\n # @return Returns a string.\n dispatch :other do\n param 'Boolean', :param\n block_param\n return_type 'String'\n end\nend"
2016-11-01 22:58:30 +00:00
} ,
{
"name" : "func4x_1" ,
"file" : "(stdin)" ,
"line" : 35 ,
"type" : "ruby4x" ,
"signatures" : [
{
"signature" : "func4x_1(Integer $param1)" ,
"docstring" : {
"text" : "An example 4.x function with only one signature." ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "The first parameter." ,
"types" : [
"Integer"
] ,
"name" : "param1"
} ,
{
"tag_name" : "return" ,
"text" : "Returns nothing." ,
"types" : [
"Undef"
]
}
]
}
}
] ,
"docstring" : {
"text" : "An example 4.x function with only one signature." ,
"tags" : [
{
"tag_name" : "param" ,
"text" : "The first parameter." ,
"types" : [
"Integer"
] ,
"name" : "param1"
} ,
{
"tag_name" : "return" ,
"text" : "Returns nothing." ,
"types" : [
"Undef"
]
}
]
} ,
"source" : "Puppet::Functions.create_function(:func4x_1) do\n # @param param1 The first parameter.\n # @return [Undef] Returns nothing.\n dispatch :foobarbaz do\n param 'Integer', :param1\n end\nend"
2016-09-14 19:20:26 +00:00
}
2018-02-16 17:27:26 +00:00
] ,
"puppet_tasks" : [
{
"name" : "(stdin)" ,
"file" : "(stdin)" ,
"line" : 0 ,
"docstring" : {
"text" : "Allows you to backup your database to local file." ,
"tags" : [
{
"name" : "database" ,
"tag_name" : "param" ,
"text" : "Database to connect to" ,
"types" : [
"Optional[String[1]]"
]
} ,
{
"name" : "user" ,
"tag_name" : "param" ,
"text" : "The user" ,
"types" : [
"Optional[String[1]]"
]
} ,
{
"name" : "password" ,
"tag_name" : "param" ,
"text" : "The password" ,
"types" : [
"Optional[String[1]]"
]
} ,
{
"name" : "sql" ,
"tag_name" : "param" ,
"text" : "Path to file you want backup to" ,
"types" : [
"String[1]"
]
}
]
} ,
"source" : "{\n \"description\": \"Allows you to backup your database to local file.\",\n \"input_method\": \"stdin\",\n \"parameters\": {\n \"database\": {\n \"description\": \"Database to connect to\",\n \"type\": \"Optional[String[1]]\"\n },\n \"user\": {\n \"description\": \"The user\",\n \"type\": \"Optional[String[1]]\"\n },\n \"password\": {\n \"description\": \"The password\",\n \"type\": \"Optional[String[1]]\"\n },\n \"sql\": {\n \"description\": \"Path to file you want backup to\",\n \"type\": \"String[1]\"\n }\n }\n}\n" ,
"supports_noop" : false ,
"input_method" : "stdin"
}
(PDOC-228) puppet plans support
Currently, Puppet Strings only supports Puppet Tasks. Since Plans are
sort of connected to Tasks, it seemed right that Strings should also
support Plans. That and Plans are a thing that needs to be documented.
First, the Puppet[:tasks] setting needs to be set to add the 'plan' keyword to the Puppet Parser's lexicon, so this sets it in the Strings parser if the setting exists. If it does not exist and Puppet.version is less than 5.0.0, Strings will error out.
Second, processing for the Plans themselves is set up. Plans are very
similar to other Puppet objects like defined types and classes, so this
involved some serious copy-pasta.
Third, all the template/to_hash scaffolding for the different outputs is in place (HTML,
JSON, Markdown).
Yey.
2018-03-03 00:15:09 +00:00
] ,
"puppet_plans" : [
2016-09-14 19:20:26 +00:00
]
}