summaryrefslogtreecommitdiff
path: root/tasks
diff options
context:
space:
mode:
authorPete Higgins <pete@peterhiggins.org>2020-04-23 16:38:38 -0700
committerPete Higgins <pete@peterhiggins.org>2020-04-27 11:42:11 -0700
commit577401e402cae1e98b6de663fa3efd46856aa0b2 (patch)
tree3fa83d2a8118c2d5a335b68845c8f89431b5cdd5 /tasks
parent72fe034774a14566cf83e88690096929ff46b4ea (diff)
downloadchef-577401e402cae1e98b6de663fa3efd46856aa0b2.tar.gz
Add code to handle properties only set in docs on a few resources.
Signed-off-by: Pete Higgins <pete@peterhiggins.org>
Diffstat (limited to 'tasks')
-rwxr-xr-xtasks/docs.rb102
1 files changed, 97 insertions, 5 deletions
diff --git a/tasks/docs.rb b/tasks/docs.rb
index 49564b3686..b823b2f90f 100755
--- a/tasks/docs.rb
+++ b/tasks/docs.rb
@@ -160,24 +160,116 @@ namespace :docs_site do
end
end
+ def special_properties(name, data)
+ properties = {}
+
+ properties["common_resource_functionality_multiple_packages"] =
+ case name
+ when "yum_package", "apt_package"
+ true
+ when "package"
+ nil
+ else
+ false
+ end
+
+ properties["common_resource_functionality_resources_common_windows_security"] = name == "remote_directory"
+
+ properties["cookbook_file_specificity"] = name == "cookbook_file"
+
+ properties["debug_recipes_chef_shell"] = name == "breakpoint"
+
+ properties["handler_custom"] = name == "chef_handler"
+
+ properties["handler_types"] = name == "chef_handler"
+
+ properties["nameless_apt_update"] = name == "apt_update"
+
+ properties["nameless_build_essential"] = name == "build_essential"
+
+ properties["properties_multiple_packages"] = ["dnf_package", "package", "zypper_package"].include?(name)
+
+ properties["properties_resources_common_windows_security"] = ["cookbook_file", "file", "template", "remote_file", "directory"].include?(name)
+
+
+ properties["properties_shortcode"] =
+ case name
+ when "breakpoint"
+ "resource_breakpoint_properties.md"
+ when "ohai"
+ "resource_ohai_properties.md"
+ when "log"
+ "resource_log_properties.md"
+ else
+ nil
+ end
+
+ properties["ps_credential_helper"] = name == "dsc_script"
+
+ properties["registry_key"] = name == "registry_key"
+
+ properties["remote_directory_recursive_directories"] = name == "remote_directory"
+
+ properties["remote_file_prevent_re_downloads"] = name == "remote_file"
+
+ properties["remote_file_unc_path"] = name == "remote_file"
+
+ properties["resource_directory_recursive_directories"] = ["directory", "remote_directory"].include?(name)
+
+ properties["resource_package_options"] = name == "package"
+
+ properties["resources_common_atomic_update"] = ["cookbook_file", "file", "template", "remote_file"].include?(name)
+
+ properties["resources_common_guard_interpreter"] = name == "script"
+
+ properties["resources_common_guards"] = !["ruby_block", "chef_acl", "chef_environment", "chef_data_bag", "chef_mirror", "chef_container", "chef_client", "chef_organization", "remote_file", "chef_node", "chef_group", "breakpoint", "chef_role", "registry_key", "chef_data_bag_item", "chef_user", "package"].include?(name)
+
+ properties["resources_common_notification"] = !["ruby_block", "chef_acl", "python", "chef_environment", "chef_data_bag", "chef_mirror", "perl", "chef_container", "chef_client", "chef_organization", "remote_file", "chef_node", "chef_group", "breakpoint", "chef_role", "registry_key", "chef_data_bag_item", "chef_user", "ruby", "package"].include?(name)
+
+ properties["resources_common_properties"] = !["ruby_block", "chef_acl", "python", "chef_environment", "chef_data_bag", "chef_mirror", "perl", "chef_container", "chef_client", "chef_organization", "remote_file", "chef_node", "chef_group", "breakpoint", "chef_role", "registry_key", "chef_data_bag_item", "chef_user", "ruby", "package"].include?(name)
+
+ properties["ruby_style_basics_chef_log"] = name == "log"
+
+ properties["syntax_shortcode"] =
+ case name
+ when "breakpoint"
+ "resource_breakpoint_syntax.md"
+ when "log"
+ "resource_log_syntax.md"
+ else
+ nil
+ end
+
+ properties["template_requirements"] = name == "template"
+
+ properties["unit_file_verification"] = name == "systemd_unit"
+
+ properties
+ end
+
# the main method that builds what will become the yaml file
def build_resource_data(name, data)
properties = data["properties"].reject { |v| v["name"] == "name" }.sort_by! { |v| v["name"] }
r = {}
+
+ # These properties are always set to these values.
+ r['draft'] = false
+ r['resource_reference'] = true
+ r['robots'] = nil
+ r['syntax_code_block'] = nil
+
+ # These properties are set to special values for only a few resources.
+ r.merge!(special_properties(name, data))
+
r['title'] = "#{name} resource"
r['resource'] = name
- r['draft'] = false
r['aliases'] = ["/resource_#{name}.html"]
r['menu'] = build_menu_item(name)
- r['resource_reference'] = true
- r['robots'] = nil
r['resource_description_list'] = {}
r['resource_description_list']['markdown'] = data['description']
r['resource_new_in'] = data["introduced"]
- r['handler_types'] = name == "chef_handler"
r['syntax_full_code_block'] = generate_resource_block(name, properties, data["default_action"])
- r['syntax_code_block'] = nil
r['syntax_properties_list'] = nil
r['syntax_full_properties_list'] = friendly_full_property_list(name, properties)
r['properties_list'] = properties_list(properties)