right_link 5.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/actors/agent_manager.rb +88 -0
- data/actors/instance_scheduler.rb +321 -0
- data/actors/instance_services.rb +64 -0
- data/actors/instance_setup.rb +567 -0
- data/bin/cloud +25 -0
- data/bin/cook_runner +44 -0
- data/bin/deploy +120 -0
- data/bin/enroll +385 -0
- data/bin/rad +32 -0
- data/bin/rchk +29 -0
- data/bin/rnac +39 -0
- data/bin/rs_connect +33 -0
- data/bin/rs_log_level +31 -0
- data/bin/rs_ohai +28 -0
- data/bin/rs_reenroll +31 -0
- data/bin/rs_run_recipe +34 -0
- data/bin/rs_run_right_script +34 -0
- data/bin/rs_shutdown +33 -0
- data/bin/rs_tag +33 -0
- data/bin/rs_thunk +33 -0
- data/bin/rstat +31 -0
- data/bin/system +16 -0
- data/ext/Rakefile +18 -0
- data/init/config.yml +5 -0
- data/init/init.rb +79 -0
- data/lib/chef/ohai_setup.rb +51 -0
- data/lib/chef/plugins/cloud.rb +91 -0
- data/lib/chef/plugins/cloudstack.rb +23 -0
- data/lib/chef/plugins/ec2.rb +23 -0
- data/lib/chef/plugins/linux/block_device2.rb +24 -0
- data/lib/chef/plugins/rackspace.rb +23 -0
- data/lib/chef/plugins/rightscale.rb +125 -0
- data/lib/chef/plugins/windows/network.rb +114 -0
- data/lib/chef/plugins.rb +74 -0
- data/lib/chef/providers/dns_dnsmadeeasy_provider.rb +81 -0
- data/lib/chef/providers/dns_resource.rb +100 -0
- data/lib/chef/providers/executable_schedule_provider.rb +70 -0
- data/lib/chef/providers/executable_schedule_resource.rb +144 -0
- data/lib/chef/providers/remote_recipe_provider.rb +86 -0
- data/lib/chef/providers/remote_recipe_resource.rb +101 -0
- data/lib/chef/providers/right_link_tag_provider.rb +73 -0
- data/lib/chef/providers/right_link_tag_resource.rb +59 -0
- data/lib/chef/providers/right_script_provider.rb +190 -0
- data/lib/chef/providers/right_script_resource.rb +113 -0
- data/lib/chef/providers/rs_shutdown_provider.rb +75 -0
- data/lib/chef/providers/rs_shutdown_resource.rb +55 -0
- data/lib/chef/providers/server_collection_provider.rb +66 -0
- data/lib/chef/providers/server_collection_resource.rb +93 -0
- data/lib/chef/providers/windows/powershell_provider.rb +151 -0
- data/lib/chef/providers/windows/powershell_resource.rb +111 -0
- data/lib/chef/providers/windows/unsupported_provider.rb +51 -0
- data/lib/chef/right_providers.rb +55 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/ChefNodeCmdlet.csproj +104 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/ChefNodeCmdlet.dll-Help.xml +141 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/Exceptions.cs +182 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetChefNodeCommand.cs +58 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetChefNodeRequest.cs +46 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetChefNodeResponse.cs +45 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetCurrentResourceCommand.cs +58 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetCurrentResourceRequest.cs +46 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetCurrentResourceResponse.cs +45 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetNewResourceCommand.cs +58 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetNewResourceRequest.cs +46 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetNewResourceResponse.cs +45 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetNextActionCommand.cs +178 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetNextActionRequest.cs +67 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetNextActionResponse.cs +58 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetNodeValueCommandBase.cs +142 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetNodeValueRequestBase.cs +64 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/GetNodeValueResponseBase.cs +69 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/JsonTransport.cs +110 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/PipeClient.cs +158 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/PipeServer.cs +142 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/Properties/AssemblyInfo.cs +16 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/ProtocolConstants.cs +55 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/ProtocolUtilities.cs +77 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/ReadMe.txt +53 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetChefNodeCommand.cs +59 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetChefNodeRequest.cs +46 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetChefNodeResponse.cs +58 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetCurrentResourceCommand.cs +59 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetCurrentResourceRequest.cs +46 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetCurrentResourceResponse.cs +40 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetNewResourceCommand.cs +59 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetNewResourceRequest.cs +46 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetNewResourceResponse.cs +40 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetNodeValueCommandBase.cs +293 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetNodeValueRequestBase.cs +75 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/SetNodeValueResponseBase.cs +45 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet/Transport.cs +91 -0
- data/lib/chef/windows/ChefNodeCmdlet/ChefNodeCmdlet.sln +35 -0
- data/lib/chef/windows/ChefNodeCmdlet/TestChefNodeCmdlet/Program.cs +374 -0
- data/lib/chef/windows/ChefNodeCmdlet/TestChefNodeCmdlet/Properties/AssemblyInfo.cs +16 -0
- data/lib/chef/windows/ChefNodeCmdlet/TestChefNodeCmdlet/TestChefNodeCmdlet.csproj +65 -0
- data/lib/chef/windows/ChefNodeCmdlet/TestNextActionCmdlet/Program.cs +136 -0
- data/lib/chef/windows/ChefNodeCmdlet/TestNextActionCmdlet/Properties/AssemblyInfo.cs +36 -0
- data/lib/chef/windows/ChefNodeCmdlet/TestNextActionCmdlet/ReadMe.txt +46 -0
- data/lib/chef/windows/ChefNodeCmdlet/TestNextActionCmdlet/TestNextActionCmdlet.csproj +68 -0
- data/lib/chef/windows/bin/Newtonsoft.Json.dll +0 -0
- data/lib/chef/windows/chef_node_server.rb +463 -0
- data/lib/chef/windows/dynamic_powershell_provider.rb +296 -0
- data/lib/chef/windows/pipe_server.rb +283 -0
- data/lib/chef/windows/powershell_host.rb +285 -0
- data/lib/chef/windows/powershell_pipe_server.rb +136 -0
- data/lib/chef/windows/powershell_provider_base.rb +92 -0
- data/lib/chef/windows/scripts/run_loop.ps1 +105 -0
- data/lib/clouds/cloud.rb +557 -0
- data/lib/clouds/cloud_factory.rb +250 -0
- data/lib/clouds/cloud_utilities.rb +244 -0
- data/lib/clouds/clouds/azure.rb +106 -0
- data/lib/clouds/clouds/cloudstack.rb +114 -0
- data/lib/clouds/clouds/ec2.rb +113 -0
- data/lib/clouds/clouds/eucalyptus.rb +46 -0
- data/lib/clouds/clouds/google.rb +102 -0
- data/lib/clouds/clouds/none.rb +76 -0
- data/lib/clouds/clouds/openstack.rb +30 -0
- data/lib/clouds/clouds/rackspace-ng.rb +54 -0
- data/lib/clouds/clouds/rackspace.rb +78 -0
- data/lib/clouds/clouds/softlayer.rb +91 -0
- data/lib/clouds/metadata_formatter.rb +108 -0
- data/lib/clouds/metadata_provider.rb +128 -0
- data/lib/clouds/metadata_source.rb +87 -0
- data/lib/clouds/metadata_sources/certificate_metadata_source.rb +207 -0
- data/lib/clouds/metadata_sources/config_drive_metadata_source.rb +129 -0
- data/lib/clouds/metadata_sources/file_metadata_source.rb +74 -0
- data/lib/clouds/metadata_sources/http_metadata_source.rb +277 -0
- data/lib/clouds/metadata_sources/selective_metadata_source.rb +122 -0
- data/lib/clouds/metadata_tree_climber.rb +144 -0
- data/lib/clouds/metadata_writer.rb +155 -0
- data/lib/clouds/metadata_writers/dictionary_metadata_writer.rb +72 -0
- data/lib/clouds/metadata_writers/ruby_metadata_writer.rb +76 -0
- data/lib/clouds/metadata_writers/shell_metadata_writer.rb +121 -0
- data/lib/clouds/register_clouds.rb +34 -0
- data/lib/clouds.rb +32 -0
- data/lib/gem_dependencies.rb +83 -0
- data/lib/git_hooks/commit-msg.rb +7 -0
- data/lib/instance/agent_config.rb +168 -0
- data/lib/instance/agent_watcher.rb +233 -0
- data/lib/instance/audit_cook_stub.rb +104 -0
- data/lib/instance/audit_proxy.rb +247 -0
- data/lib/instance/bundle_queue.rb +104 -0
- data/lib/instance/cook/agent_connection.rb +109 -0
- data/lib/instance/cook/audit_logger.rb +165 -0
- data/lib/instance/cook/audit_stub.rb +142 -0
- data/lib/instance/cook/ca-bundle.crt +2794 -0
- data/lib/instance/cook/chef_state.rb +211 -0
- data/lib/instance/cook/cook.rb +306 -0
- data/lib/instance/cook/cook_state.rb +298 -0
- data/lib/instance/cook/cookbook_path_mapping.rb +66 -0
- data/lib/instance/cook/cookbook_repo_retriever.rb +190 -0
- data/lib/instance/cook/executable_sequence.rb +765 -0
- data/lib/instance/cook/external_parameter_gatherer.rb +190 -0
- data/lib/instance/cook/repose_downloader.rb +349 -0
- data/lib/instance/cook/shutdown_request_proxy.rb +121 -0
- data/lib/instance/cook.rb +41 -0
- data/lib/instance/downloader.rb +208 -0
- data/lib/instance/duplicable.rb +67 -0
- data/lib/instance/exceptions.rb +49 -0
- data/lib/instance/executable_sequence_proxy.rb +278 -0
- data/lib/instance/instance_commands.rb +577 -0
- data/lib/instance/instance_state.rb +633 -0
- data/lib/instance/json_utilities.rb +102 -0
- data/lib/instance/login_manager.rb +533 -0
- data/lib/instance/login_user_manager.rb +522 -0
- data/lib/instance/message_encoder.rb +118 -0
- data/lib/instance/multi_thread_bundle_queue.rb +232 -0
- data/lib/instance/operation_context.rb +60 -0
- data/lib/instance/options_bag.rb +65 -0
- data/lib/instance/payload_formatter.rb +46 -0
- data/lib/instance/policy.rb +53 -0
- data/lib/instance/policy_audit.rb +100 -0
- data/lib/instance/policy_manager.rb +146 -0
- data/lib/instance/reenroll_manager.rb +104 -0
- data/lib/instance/right_scripts_cookbook.rb +181 -0
- data/lib/instance/shutdown_request.rb +221 -0
- data/lib/instance/single_thread_bundle_queue.rb +189 -0
- data/lib/instance/volume_management.rb +450 -0
- data/lib/instance.rb +50 -0
- data/lib/repo_conf_generators/apt_conf_generators.rb +106 -0
- data/lib/repo_conf_generators/gem_conf_generators.rb +80 -0
- data/lib/repo_conf_generators/rightscale_conf_generators.rb +254 -0
- data/lib/repo_conf_generators/rightscale_key.pub +17 -0
- data/lib/repo_conf_generators/yum_conf_generators.rb +225 -0
- data/lib/repo_conf_generators.rb +30 -0
- data/lib/run_shell.rb +28 -0
- data/scripts/agent_checker.rb +571 -0
- data/scripts/agent_controller.rb +247 -0
- data/scripts/agent_deployer.rb +148 -0
- data/scripts/bundle_runner.rb +336 -0
- data/scripts/cloud_controller.rb +176 -0
- data/scripts/log_level_manager.rb +142 -0
- data/scripts/ohai_runner.rb +33 -0
- data/scripts/reenroller.rb +193 -0
- data/scripts/server_importer.rb +293 -0
- data/scripts/shutdown_client.rb +183 -0
- data/scripts/system_configurator.rb +367 -0
- data/scripts/tagger.rb +381 -0
- data/scripts/thunker.rb +356 -0
- metadata +418 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2010-2011 RightScale Inc
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
|
23
|
+
class Chef
|
24
|
+
class Provider
|
25
|
+
class WindowsUnsupported < Chef::Provider::Execute
|
26
|
+
|
27
|
+
class UnsupportedException < StandardError
|
28
|
+
def initialize(resource)
|
29
|
+
message = "The \"#{resource.resource_name}\" resource referenced in recipe \"#{resource.cookbook_name}::#{resource.recipe_name}\" is not supported on Windows."
|
30
|
+
super(message)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def action_run
|
35
|
+
raise(UnsupportedException, @new_resource)
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# self-register
|
43
|
+
Chef::Platform.platforms[:windows][:default].merge!(:link => Chef::Provider::WindowsUnsupported, # not yet implemented. NTFS supports hard & symbolic links.
|
44
|
+
:mount => Chef::Provider::WindowsUnsupported, # not yet implemented. NTFS supports mount points.
|
45
|
+
:service => Chef::Provider::WindowsUnsupported, # not yet implemented. 'net' commands are used to start/stop services.
|
46
|
+
:bash => Chef::Provider::WindowsUnsupported, # we don't intend to support Linux
|
47
|
+
:csh => Chef::Provider::WindowsUnsupported, # shells under Windows.
|
48
|
+
:user => Chef::Provider::WindowsUnsupported, # not yet implemented. need a custom provider.
|
49
|
+
:group => Chef::Provider::WindowsUnsupported, # not yet implemented. need a custom provider.
|
50
|
+
:route => Chef::Provider::WindowsUnsupported, # not yet implemented. WMI supports DNS configuration.
|
51
|
+
:ifconfig => Chef::Provider::WindowsUnsupported) # not yet implemented. WMI supports DNS configuration.
|
@@ -0,0 +1,55 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2009-2011 RightScale Inc
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
|
23
|
+
# The daemonize method of AR clashes with the daemonize Chef attribute, we don't need that method so undef it
|
24
|
+
undef :daemonize if methods.include?('daemonize')
|
25
|
+
|
26
|
+
require 'chef'
|
27
|
+
require 'chef/client'
|
28
|
+
|
29
|
+
BASE_RIGHT_CHEF_LIB_DIR_PATH = File.normalize_path(File.dirname(__FILE__))
|
30
|
+
BASE_RIGHT_CHEF_PROVIDER_DIR_PATH = File.join(BASE_RIGHT_CHEF_LIB_DIR_PATH, 'providers')
|
31
|
+
|
32
|
+
# load (and self-register) all common providers
|
33
|
+
pattern = File.join(BASE_RIGHT_CHEF_PROVIDER_DIR_PATH, '*.rb')
|
34
|
+
Dir[pattern].each do |rb_file|
|
35
|
+
require File.normalize_path(rb_file)
|
36
|
+
end
|
37
|
+
|
38
|
+
if RightScale::Platform.windows?
|
39
|
+
|
40
|
+
DYNAMIC_WINDOWS_CHEF_PROVIDERS_PATH = File.join(BASE_RIGHT_CHEF_LIB_DIR_PATH, 'windows')
|
41
|
+
STATIC_WINDOWS_CHEF_PROVIDERS_PATH = File.join(BASE_RIGHT_CHEF_PROVIDER_DIR_PATH, 'windows')
|
42
|
+
WINDOWS_CHEF_PROVIDERS_PATHS = [STATIC_WINDOWS_CHEF_PROVIDERS_PATH, DYNAMIC_WINDOWS_CHEF_PROVIDERS_PATH]
|
43
|
+
|
44
|
+
# create the Windows default platform hash before loading windows providers.
|
45
|
+
Chef::Platform.platforms[:windows] = { :default => { } } unless Chef::Platform.platforms[:windows]
|
46
|
+
|
47
|
+
# load (and self-register) all static/dynamic Windows providers.
|
48
|
+
WINDOWS_CHEF_PROVIDERS_PATHS.each do |base_path|
|
49
|
+
pattern = File.join(base_path, '*.rb')
|
50
|
+
Dir[pattern].each do |rb_file|
|
51
|
+
require File.normalize_path(rb_file)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
3
|
+
<PropertyGroup>
|
4
|
+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
5
|
+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
6
|
+
<ProductVersion>9.0.30729</ProductVersion>
|
7
|
+
<SchemaVersion>2.0</SchemaVersion>
|
8
|
+
<ProjectGuid>{F421745A-3ADE-473A-83DE-C7A3DF1B9557}</ProjectGuid>
|
9
|
+
<OutputType>Library</OutputType>
|
10
|
+
<AppDesignerFolder>Properties</AppDesignerFolder>
|
11
|
+
<RootNamespace>ChefNodeCmdlet</RootNamespace>
|
12
|
+
<AssemblyName>ChefNodeCmdlet</AssemblyName>
|
13
|
+
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
14
|
+
<FileAlignment>512</FileAlignment>
|
15
|
+
</PropertyGroup>
|
16
|
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
17
|
+
<DebugSymbols>true</DebugSymbols>
|
18
|
+
<DebugType>full</DebugType>
|
19
|
+
<Optimize>false</Optimize>
|
20
|
+
<OutputPath>$(SolutionDir)\$(Configuration)</OutputPath>
|
21
|
+
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
22
|
+
<ErrorReport>prompt</ErrorReport>
|
23
|
+
<WarningLevel>4</WarningLevel>
|
24
|
+
</PropertyGroup>
|
25
|
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
26
|
+
<DebugType>pdbonly</DebugType>
|
27
|
+
<Optimize>true</Optimize>
|
28
|
+
<OutputPath>$(SolutionDir)\$(Configuration)</OutputPath>
|
29
|
+
<DefineConstants>TRACE</DefineConstants>
|
30
|
+
<ErrorReport>prompt</ErrorReport>
|
31
|
+
<WarningLevel>4</WarningLevel>
|
32
|
+
</PropertyGroup>
|
33
|
+
<ItemGroup>
|
34
|
+
<Reference Include="Newtonsoft.Json, Version=3.5.0.0, Culture=neutral, processorArchitecture=MSIL">
|
35
|
+
<SpecificVersion>False</SpecificVersion>
|
36
|
+
<HintPath>..\..\bin\Newtonsoft.Json.dll</HintPath>
|
37
|
+
</Reference>
|
38
|
+
<Reference Include="System" />
|
39
|
+
<Reference Include="System.Core">
|
40
|
+
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
41
|
+
</Reference>
|
42
|
+
<Reference Include="System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
43
|
+
<SpecificVersion>False</SpecificVersion>
|
44
|
+
<HintPath>..\..\..\..\..\..\..\..\..\Windows\winsxs\msil_system.management.automation_31bf3856ad364e35_7.0.6002.18111_none_14b22ca46865e010\System.Management.Automation.dll</HintPath>
|
45
|
+
</Reference>
|
46
|
+
</ItemGroup>
|
47
|
+
<ItemGroup>
|
48
|
+
<Compile Include="Exceptions.cs" />
|
49
|
+
<Compile Include="GetChefNodeCommand.cs" />
|
50
|
+
<Compile Include="GetChefNodeRequest.cs" />
|
51
|
+
<Compile Include="GetChefNodeResponse.cs" />
|
52
|
+
<Compile Include="GetCurrentResourceCommand.cs" />
|
53
|
+
<Compile Include="GetCurrentResourceRequest.cs" />
|
54
|
+
<Compile Include="GetCurrentResourceResponse.cs" />
|
55
|
+
<Compile Include="GetNewResourceCommand.cs" />
|
56
|
+
<Compile Include="GetNewResourceRequest.cs" />
|
57
|
+
<Compile Include="GetNewResourceResponse.cs" />
|
58
|
+
<Compile Include="GetNextActionCommand.cs" />
|
59
|
+
<Compile Include="GetNextActionRequest.cs" />
|
60
|
+
<Compile Include="GetNextActionResponse.cs" />
|
61
|
+
<Compile Include="GetNodeValueCommandBase.cs" />
|
62
|
+
<Compile Include="GetNodeValueRequestBase.cs" />
|
63
|
+
<Compile Include="GetNodeValueResponseBase.cs" />
|
64
|
+
<Compile Include="JsonTransport.cs" />
|
65
|
+
<Compile Include="PipeClient.cs" />
|
66
|
+
<Compile Include="PipeServer.cs" />
|
67
|
+
<Compile Include="ProtocolConstants.cs" />
|
68
|
+
<Compile Include="ProtocolUtilities.cs" />
|
69
|
+
<Compile Include="SetChefNodeCommand.cs" />
|
70
|
+
<Compile Include="Properties\AssemblyInfo.cs" />
|
71
|
+
<Compile Include="SetChefNodeRequest.cs" />
|
72
|
+
<Compile Include="SetChefNodeResponse.cs" />
|
73
|
+
<Compile Include="SetCurrentResourceCommand.cs" />
|
74
|
+
<Compile Include="SetCurrentResourceRequest.cs" />
|
75
|
+
<Compile Include="SetCurrentResourceResponse.cs" />
|
76
|
+
<Compile Include="SetNewResourceCommand.cs" />
|
77
|
+
<Compile Include="SetNewResourceRequest.cs" />
|
78
|
+
<Compile Include="SetNewResourceResponse.cs" />
|
79
|
+
<Compile Include="SetNodeValueCommandBase.cs" />
|
80
|
+
<Compile Include="SetNodeValueRequestBase.cs" />
|
81
|
+
<Compile Include="SetNodeValueResponseBase.cs" />
|
82
|
+
<Compile Include="Transport.cs" />
|
83
|
+
</ItemGroup>
|
84
|
+
<ItemGroup>
|
85
|
+
<Content Include="ReadMe.txt" />
|
86
|
+
</ItemGroup>
|
87
|
+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
88
|
+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
89
|
+
Other similar extension points exist, see Microsoft.Common.targets.
|
90
|
+
<Target Name="BeforeBuild">
|
91
|
+
</Target>
|
92
|
+
<Target Name="AfterBuild">
|
93
|
+
</Target>
|
94
|
+
-->
|
95
|
+
<PropertyGroup>
|
96
|
+
<PostBuildEvent>if "$(ConfigurationName)" equ "Release" (
|
97
|
+
if not exist "$(ProjectDir)..\..\bin" md "$(ProjectDir)..\..\bin"
|
98
|
+
xcopy /F /R /Y "$(TargetPath)" "$(ProjectDir)..\..\bin\*"
|
99
|
+
xcopy /F /R /Y "$(ProjectDir)ChefNodeCmdlet.dll-Help.xml" "$(ProjectDir)..\..\bin\*"
|
100
|
+
)
|
101
|
+
|
102
|
+
</PostBuildEvent>
|
103
|
+
</PropertyGroup>
|
104
|
+
</Project>
|
@@ -0,0 +1,141 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
2
|
+
|
3
|
+
<helpItems xmlns="http://msh" schema="maml">
|
4
|
+
|
5
|
+
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
|
6
|
+
<command:details>
|
7
|
+
<command:name>
|
8
|
+
Get-ChefNode
|
9
|
+
</command:name>
|
10
|
+
<maml:description>
|
11
|
+
<maml:para>Queries the value of the Chef node at a given depth.</maml:para>
|
12
|
+
</maml:description>
|
13
|
+
<maml:copyright>
|
14
|
+
<maml:para></maml:para>
|
15
|
+
</maml:copyright>
|
16
|
+
<command:verb>Get</command:verb>
|
17
|
+
<command:noun>ChefNode</command:noun>
|
18
|
+
<dev:version></dev:version>
|
19
|
+
</command:details>
|
20
|
+
<maml:description>
|
21
|
+
<maml:para>verbose description...</maml:para>
|
22
|
+
</maml:description>
|
23
|
+
|
24
|
+
<!-- Cmdlet syntax section-->
|
25
|
+
<command:syntax>
|
26
|
+
<command:syntaxItem>
|
27
|
+
<maml:name>Get-ChefNode</maml:name>
|
28
|
+
<command:parameter required="true" pipelineInput="true (ByPosition)" position="1">
|
29
|
+
<maml:name>Path</maml:name>
|
30
|
+
<maml:description>
|
31
|
+
<maml:para>Specifies the path to the Chef node to query, given as an array of string elements corresponding to the hash indexes on the Chef node object.</maml:para>
|
32
|
+
</maml:description>
|
33
|
+
<command:parameterValue required="true">string[]</command:parameterValue>
|
34
|
+
</command:parameter>
|
35
|
+
</command:syntaxItem>
|
36
|
+
</command:syntax>
|
37
|
+
|
38
|
+
<!-- Cmdlet parameter section -->
|
39
|
+
<command:parameters>
|
40
|
+
<command:parameter required="true" pipelineInput="true (ByPosition)" position="1">
|
41
|
+
<maml:name>Path</maml:name>
|
42
|
+
<maml:description>
|
43
|
+
<maml:para>.</maml:para>
|
44
|
+
</maml:description>
|
45
|
+
<command:parameterValue required="true">string[]</command:parameterValue>
|
46
|
+
<dev:type>
|
47
|
+
<maml:name>string[]</maml:name>
|
48
|
+
<maml:uri/>
|
49
|
+
</dev:type>
|
50
|
+
<dev:defaultValue>N/A - The path must be specified</dev:defaultValue>
|
51
|
+
</command:parameter>
|
52
|
+
</command:parameters>
|
53
|
+
|
54
|
+
<!-- Input - Output section-->
|
55
|
+
<command:inputTypes>
|
56
|
+
<command:inputType>
|
57
|
+
<dev:type>
|
58
|
+
<maml:name>String</maml:name>
|
59
|
+
<maml:uri/>
|
60
|
+
<maml:description>
|
61
|
+
<maml:para>
|
62
|
+
<!-- description -->
|
63
|
+
You can enter parameters as strings at the command line or pipe objects to the cmdlet.
|
64
|
+
</maml:para>
|
65
|
+
</maml:description>
|
66
|
+
</dev:type>
|
67
|
+
<maml:description></maml:description>
|
68
|
+
</command:inputType>
|
69
|
+
</command:inputTypes>
|
70
|
+
|
71
|
+
<!-- Return Values section -->
|
72
|
+
<command:returnValues>
|
73
|
+
<command:returnValue>
|
74
|
+
<dev:type>
|
75
|
+
<maml:name>Objects of any primitive type, array or hash.</maml:name>
|
76
|
+
<maml:uri />
|
77
|
+
<maml:description>
|
78
|
+
<maml:para>
|
79
|
+
<!-- description -->
|
80
|
+
|
81
|
+
</maml:para>
|
82
|
+
</maml:description>
|
83
|
+
</dev:type>
|
84
|
+
<maml:description></maml:description>
|
85
|
+
</command:returnValue>
|
86
|
+
</command:returnValues>
|
87
|
+
<command:terminatingErrors />
|
88
|
+
<command:nonTerminatingErrors />
|
89
|
+
|
90
|
+
<!-- Notes section -->
|
91
|
+
<maml:alertSet>
|
92
|
+
<maml:title></maml:title>
|
93
|
+
<maml:alert>
|
94
|
+
<maml:para>
|
95
|
+
Notes.
|
96
|
+
</maml:para>
|
97
|
+
</maml:alert>
|
98
|
+
<maml:alert>
|
99
|
+
<maml:para></maml:para>
|
100
|
+
</maml:alert>
|
101
|
+
</maml:alertSet>
|
102
|
+
|
103
|
+
<!-- Example section -->
|
104
|
+
<command:examples>
|
105
|
+
<command:example>
|
106
|
+
<maml:title>
|
107
|
+
-------------------------- EXAMPLE 1 --------------------------
|
108
|
+
</maml:title>
|
109
|
+
<maml:introduction>
|
110
|
+
<maml:para>C:\PS></maml:para>
|
111
|
+
</maml:introduction>
|
112
|
+
<dev:code>get-chefnode ""</dev:code>
|
113
|
+
<dev:remarks>
|
114
|
+
<maml:para>This command queries the names of the keys at the root of the Chef node and returns them as an array.</maml:para>
|
115
|
+
</dev:remarks>
|
116
|
+
<command:commandLines>
|
117
|
+
<command:commandLine>
|
118
|
+
<command:commandText></command:commandText>
|
119
|
+
</command:commandLine>
|
120
|
+
</command:commandLines>
|
121
|
+
</command:example>
|
122
|
+
</command:examples>
|
123
|
+
|
124
|
+
<!-- Link section -->
|
125
|
+
<maml:relatedLinks>
|
126
|
+
<maml:navigationLink>
|
127
|
+
<maml:linkText>Get-ChefNode</maml:linkText>
|
128
|
+
<maml:uri/>
|
129
|
+
</maml:navigationLink>
|
130
|
+
<maml:navigationLink>
|
131
|
+
<maml:linkText>Set-ChefNode</maml:linkText>
|
132
|
+
<maml:uri/>
|
133
|
+
</maml:navigationLink>
|
134
|
+
<maml:navigationLink>
|
135
|
+
<maml:linkText>Get-NextAction</maml:linkText>
|
136
|
+
<maml:uri/>
|
137
|
+
</maml:navigationLink>
|
138
|
+
</maml:relatedLinks>
|
139
|
+
</command:command>
|
140
|
+
|
141
|
+
</helpItems>
|
@@ -0,0 +1,182 @@
|
|
1
|
+
/////////////////////////////////////////////////////////////////////////
|
2
|
+
// Copyright (c) 2010-2011 RightScale Inc
|
3
|
+
//
|
4
|
+
// Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
// a copy of this software and associated documentation files (the
|
6
|
+
// "Software"), to deal in the Software without restriction, including
|
7
|
+
// without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
// distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
// permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
// the following conditions:
|
11
|
+
//
|
12
|
+
// The above copyright notice and this permission notice shall be
|
13
|
+
// included in all copies or substantial portions of the Software.
|
14
|
+
//
|
15
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
/////////////////////////////////////////////////////////////////////////
|
23
|
+
using System;
|
24
|
+
using System.Collections;
|
25
|
+
|
26
|
+
namespace RightScale
|
27
|
+
{
|
28
|
+
namespace Powershell
|
29
|
+
{
|
30
|
+
namespace Exceptions
|
31
|
+
{
|
32
|
+
// Summary:
|
33
|
+
// base exception class for exceptions thrown by common code.
|
34
|
+
public class ChefNodeCmdletExceptionBase : Exception
|
35
|
+
{
|
36
|
+
public static string ERROR_KEY = "Error";
|
37
|
+
public static string DETAIL_KEY = "Detail";
|
38
|
+
|
39
|
+
public ChefNodeCmdletExceptionBase()
|
40
|
+
: base()
|
41
|
+
{
|
42
|
+
}
|
43
|
+
|
44
|
+
public ChefNodeCmdletExceptionBase(Exception e)
|
45
|
+
: base(e.Message, e)
|
46
|
+
{
|
47
|
+
}
|
48
|
+
|
49
|
+
public ChefNodeCmdletExceptionBase(string message)
|
50
|
+
: base(message)
|
51
|
+
{
|
52
|
+
}
|
53
|
+
|
54
|
+
public ChefNodeCmdletExceptionBase(string message, Exception innerException)
|
55
|
+
: base(message, innerException)
|
56
|
+
{
|
57
|
+
}
|
58
|
+
|
59
|
+
public ChefNodeCmdletExceptionBase(IDictionary response)
|
60
|
+
: base(CreateMessage(response))
|
61
|
+
{
|
62
|
+
}
|
63
|
+
|
64
|
+
public static bool HasError(IDictionary response)
|
65
|
+
{
|
66
|
+
return response.Contains(ERROR_KEY);
|
67
|
+
}
|
68
|
+
|
69
|
+
private static string CreateMessage(IDictionary response)
|
70
|
+
{
|
71
|
+
string message = response[ERROR_KEY].ToString();
|
72
|
+
|
73
|
+
if (response.Contains(DETAIL_KEY))
|
74
|
+
{
|
75
|
+
message = String.Format("{0}\n{1}", message, response[DETAIL_KEY]);
|
76
|
+
}
|
77
|
+
|
78
|
+
return message;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
// exceptions for get-ChefNode cmdlet
|
83
|
+
class GetChefNodeException : ChefNodeCmdletExceptionBase
|
84
|
+
{
|
85
|
+
public GetChefNodeException(string message)
|
86
|
+
: base(message)
|
87
|
+
{
|
88
|
+
}
|
89
|
+
|
90
|
+
public GetChefNodeException(IDictionary response)
|
91
|
+
: base(response)
|
92
|
+
{
|
93
|
+
}
|
94
|
+
|
95
|
+
}
|
96
|
+
|
97
|
+
// exceptions for set-ChefNode cmdlet
|
98
|
+
class SetChefNodeException : ChefNodeCmdletExceptionBase
|
99
|
+
{
|
100
|
+
public SetChefNodeException(string message)
|
101
|
+
: base(message)
|
102
|
+
{
|
103
|
+
}
|
104
|
+
|
105
|
+
public SetChefNodeException(IDictionary response)
|
106
|
+
: base(response)
|
107
|
+
{
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
// exceptions for set-ChefNode cmdlet
|
112
|
+
class GetNextActionException : ChefNodeCmdletExceptionBase
|
113
|
+
{
|
114
|
+
public GetNextActionException(string message)
|
115
|
+
: base(message)
|
116
|
+
{
|
117
|
+
}
|
118
|
+
|
119
|
+
public GetNextActionException(IDictionary response)
|
120
|
+
: base(response)
|
121
|
+
{
|
122
|
+
}
|
123
|
+
}
|
124
|
+
|
125
|
+
// exceptions for Get-CurrentResource cmdlet
|
126
|
+
class GetCurrentResourceException : ChefNodeCmdletExceptionBase
|
127
|
+
{
|
128
|
+
public GetCurrentResourceException(string message)
|
129
|
+
: base(message)
|
130
|
+
{
|
131
|
+
}
|
132
|
+
|
133
|
+
public GetCurrentResourceException(IDictionary response)
|
134
|
+
: base(response)
|
135
|
+
{
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
139
|
+
// exceptions for Set-CurrentResource cmdlet
|
140
|
+
class SetCurrentResourceException : ChefNodeCmdletExceptionBase
|
141
|
+
{
|
142
|
+
public SetCurrentResourceException(string message)
|
143
|
+
: base(message)
|
144
|
+
{
|
145
|
+
}
|
146
|
+
|
147
|
+
public SetCurrentResourceException(IDictionary response)
|
148
|
+
: base(response)
|
149
|
+
{
|
150
|
+
}
|
151
|
+
}
|
152
|
+
|
153
|
+
// exceptions for Get-NewResource cmdlet
|
154
|
+
class GetNewResourceException : ChefNodeCmdletExceptionBase
|
155
|
+
{
|
156
|
+
public GetNewResourceException(string message)
|
157
|
+
: base(message)
|
158
|
+
{
|
159
|
+
}
|
160
|
+
|
161
|
+
public GetNewResourceException(IDictionary response)
|
162
|
+
: base(response)
|
163
|
+
{
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
167
|
+
// exceptions for Get-NewResource cmdlet
|
168
|
+
class SetNewResourceException : ChefNodeCmdletExceptionBase
|
169
|
+
{
|
170
|
+
public SetNewResourceException(string message)
|
171
|
+
: base(message)
|
172
|
+
{
|
173
|
+
}
|
174
|
+
|
175
|
+
public SetNewResourceException(IDictionary response)
|
176
|
+
: base(response)
|
177
|
+
{
|
178
|
+
}
|
179
|
+
}
|
180
|
+
}
|
181
|
+
}
|
182
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
/////////////////////////////////////////////////////////////////////////
|
2
|
+
// Copyright (c) 2010-2011 RightScale Inc
|
3
|
+
//
|
4
|
+
// Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
// a copy of this software and associated documentation files (the
|
6
|
+
// "Software"), to deal in the Software without restriction, including
|
7
|
+
// without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
// distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
// permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
// the following conditions:
|
11
|
+
//
|
12
|
+
// The above copyright notice and this permission notice shall be
|
13
|
+
// included in all copies or substantial portions of the Software.
|
14
|
+
//
|
15
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
/////////////////////////////////////////////////////////////////////////
|
23
|
+
using System;
|
24
|
+
using System.Collections;
|
25
|
+
using System.Management.Automation;
|
26
|
+
using System.Threading;
|
27
|
+
using RightScale.Common.Protocol;
|
28
|
+
using RightScale.Chef.Protocol;
|
29
|
+
using RightScale.Powershell.Exceptions;
|
30
|
+
|
31
|
+
namespace RightScale
|
32
|
+
{
|
33
|
+
namespace Powershell
|
34
|
+
{
|
35
|
+
namespace Commands
|
36
|
+
{
|
37
|
+
// Provides the Set-ChefNode cmdlet.
|
38
|
+
[Cmdlet(VerbsCommon.Get, "ChefNode")]
|
39
|
+
public class GetChefNodeCommand : GetNodeValueCommandBase
|
40
|
+
{
|
41
|
+
protected override GetNodeValueRequestBase CreateRequest()
|
42
|
+
{
|
43
|
+
return new GetChefNodeRequest(Path);
|
44
|
+
}
|
45
|
+
|
46
|
+
protected override ChefNodeCmdletExceptionBase CreateException(string message)
|
47
|
+
{
|
48
|
+
return new GetChefNodeException(message);
|
49
|
+
}
|
50
|
+
|
51
|
+
protected override ChefNodeCmdletExceptionBase CreateException(IDictionary responseHash)
|
52
|
+
{
|
53
|
+
return new GetChefNodeException(responseHash);
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/////////////////////////////////////////////////////////////////////////
|
2
|
+
// Copyright (c) 2010-2011 RightScale Inc
|
3
|
+
//
|
4
|
+
// Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
// a copy of this software and associated documentation files (the
|
6
|
+
// "Software"), to deal in the Software without restriction, including
|
7
|
+
// without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
// distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
// permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
// the following conditions:
|
11
|
+
//
|
12
|
+
// The above copyright notice and this permission notice shall be
|
13
|
+
// included in all copies or substantial portions of the Software.
|
14
|
+
//
|
15
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
/////////////////////////////////////////////////////////////////////////
|
23
|
+
using System;
|
24
|
+
using System.Collections;
|
25
|
+
|
26
|
+
namespace RightScale
|
27
|
+
{
|
28
|
+
namespace Chef
|
29
|
+
{
|
30
|
+
namespace Protocol
|
31
|
+
{
|
32
|
+
// data for a get-ChefNode request
|
33
|
+
public class GetChefNodeRequest : GetNodeValueRequestBase
|
34
|
+
{
|
35
|
+
public GetChefNodeRequest()
|
36
|
+
{
|
37
|
+
}
|
38
|
+
|
39
|
+
public GetChefNodeRequest(ICollection path)
|
40
|
+
: base(path)
|
41
|
+
{
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|