# LWRP - attributes required

**URL:** <https://discourse.chef.io/t/lwrp-attributes-required/6621>\
**Category:** Chef Infra (archive)\
**Created:** [May 28, 2015, 5:40pm UTC](https://discourse.chef.io/t/lwrp-attributes-required/6621 "2015-05-28T17:40:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Wade\_Peacock](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/wade_peacock/32/78_2.png) [@Wade\_Peacock](https://discourse.chef.io/u/Wade_Peacock)\
**Post date:** [May 28, 2015, 5:40pm UTC](https://discourse.chef.io/t/lwrp-attributes-required/6621/1 "2015-05-28T17:40:35Z")

</div>

Hey All,

Is it possible in the resource file of a LWRP to have attributes required for certain action type.

Exampe:

actions :foo, :bar

default\_action :foo

attribute :name, :kind\_of =\> String, :name\_attribute =\> true  
attribute :section, :kind\_of =\> String, :required =\> true (only for :bar action)  
attribute :item, :kind\_of =\> String, :required =\> true (only for :foo action )  
attribute :value, :kind\_of =\> [String,Integer], :required =\> true

Is the :respond\_to the right thing?

I tried with no success:

attribute :section, :kind\_of =\> String, :required =\> true, :respond\_to foo?

Wade Peacock  
Cloud System Eng - Senior System Engineer/Automation | Vision Critical  
direct +1.604.629.9358 mobile +1.604.363.8137  
web [visioncritical.com](http://visioncritical.com)[http://www.visioncritical.com/](http://www.visioncritical.com/) | @VisionCritical on Twitter[https://twitter.com/visioncritical](https://twitter.com/visioncritical) | Visit Vision Critical on LinkedIn[http://www.linkedin.com/company/vision-critical](http://www.linkedin.com/company/vision-critical)

New York | London | Hong Kong | Vancouver | Paris | San Francisco | Sydney | Tokyo | Toronto | Cologne | Minneapolis | Chicago | Ottawa | Detroit  
Click here to watch our clients share their Vision Critical successes: [www.visioncritical.com/client-stories](http://www.visioncritical.com/client-stories)[http://www.visioncritical.com/client-stories](http://www.visioncritical.com/client-stories)

---

<div class="post-metadata">

**Author:** ![Lamont\_Granquist](https://avatars.discourse-cdn.com/v4/letter/l/d26b3c/32.png) [@Lamont\_Granquist](https://discourse.chef.io/u/Lamont_Granquist)\
**Post date:** [May 28, 2015, 6:04pm UTC](https://discourse.chef.io/t/lwrp-attributes-required/6621/2 "2015-05-28T18:04:19Z")

</div>

No, you must do that kind of processing in the provider. The resource  
itself does not know what action you may or may not invoke on it  
eventually when it is being built.

On 05/28/2015 10:40 AM, Wade Peacock wrote:

> Hey All,
> 
> Is it possible in the resource file of a LWRP to have attributes  
> required for certain action type.
> 
> Exampe:
> 
> actions :foo, :bar
> 
> default\_action :foo
> 
> attribute :name, :kind\_of =\> String, :name\_attribute =\> true
> 
> attribute :section, :kind\_of =\> String, :required =\> true (only for  
> :bar action)
> 
> attribute :item, :kind\_of =\> String, :required =\> true (only for :foo  
> action )
> 
> attribute :value, :kind\_of =\> [String,Integer], :required =\> true
> 
> Is the :respond\_to the right thing?
> 
> I tried with no success:
> 
> attribute :section, :kind\_of =\> String, :required =\> true, :respond\_to  
> foo?
> 
> _Wade Peacock_
> 
> Cloud System Eng - Senior System Engineer/Automation | Vision Critical
> 
> direct+1.604.629.9358 mobile+1.604.363.8137
> 
> [webvisioncritical.com](http://webvisioncritical.com) [http://www.visioncritical.com/](http://www.visioncritical.com/)|  
> @VisionCritical on Twitter [https://twitter.com/visioncritical](https://twitter.com/visioncritical)| Visit  
> Vision Critical on LinkedIn  
> [http://www.linkedin.com/company/vision-critical](http://www.linkedin.com/company/vision-critical)
> 
> New York | London | Hong Kong |_Vancouver_ | Paris | San Francisco |  
> Sydney | Tokyo | Toronto | Cologne | Minneapolis | Chicago | Ottawa |  
> Detroit
> 
> //
> 
> /Click here to watch our clients share their Vision Critical  
> successes: [//www.visioncritical.com/client-stories/](https://www.visioncritical.com/client-stories/)  
> [http://www.visioncritical.com/client-stories](http://www.visioncritical.com/client-stories)//

---

<div class="post-metadata">

**Author:** ![Wade\_Peacock](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/wade_peacock/32/78_2.png) [@Wade\_Peacock](https://discourse.chef.io/u/Wade_Peacock)\
**Post date:** [May 28, 2015, 6:06pm UTC](https://discourse.chef.io/t/lwrp-attributes-required/6621/3 "2015-05-28T18:06:36Z")

</div>

That is what I figured.

I’ve got a solution that is working in there, but I was wondering if I could do it more elegantly.

Wade Peacock  
Cloud System Eng - Senior System Engineer/Automation | Vision Critical  
direct +1.604.629.9358 mobile +1.604.363.8137  
web [visioncritical.com](http://visioncritical.com)[http://www.visioncritical.com/](http://www.visioncritical.com/) | @VisionCritical on Twitter[https://twitter.com/visioncritical](https://twitter.com/visioncritical) | Visit Vision Critical on LinkedIn[http://www.linkedin.com/company/vision-critical](http://www.linkedin.com/company/vision-critical)

New York | London | Hong Kong | Vancouver | Paris | San Francisco | Sydney | Tokyo | Toronto | Cologne | Minneapolis | Chicago | Ottawa | Detroit  
Click here to watch our clients share their Vision Critical successes: [www.visioncritical.com/client-stories](http://www.visioncritical.com/client-stories)[http://www.visioncritical.com/client-stories](http://www.visioncritical.com/client-stories)

From: Lamont Granquist [[mailto:lamont@chef.io](mailto:lamont@chef.io)]  
Sent: Thursday, May 28, 2015 11:04 AM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Cc: Wade Peacock  
Subject: Re: [chef] LWRP - attributes required

No, you must do that kind of processing in the provider. The resource itself does not know what action you may or may not invoke on it eventually when it is being built.  
On 05/28/2015 10:40 AM, Wade Peacock wrote:  
Hey All,

Is it possible in the resource file of a LWRP to have attributes required for certain action type.

Exampe:

actions :foo, :bar

default\_action :foo

attribute :name, :kind\_of =\> String, :name\_attribute =\> true  
attribute :section, :kind\_of =\> String, :required =\> true (only for :bar action)  
attribute :item, :kind\_of =\> String, :required =\> true (only for :foo action )  
attribute :value, :kind\_of =\> [String,Integer], :required =\> true

Is the :respond\_to the right thing?

I tried with no success:

attribute :section, :kind\_of =\> String, :required =\> true, :respond\_to foo?

Wade Peacock  
Cloud System Eng - Senior System Engineer/Automation | Vision Critical  
direct +1.604.629.9358 mobile +1.604.363.8137  
web [visioncritical.com](http://visioncritical.com)[http://www.visioncritical.com/](http://www.visioncritical.com/) | @VisionCritical on Twitter[https://twitter.com/visioncritical](https://twitter.com/visioncritical) | Visit Vision Critical on LinkedIn[http://www.linkedin.com/company/vision-critical](http://www.linkedin.com/company/vision-critical)

New York | London | Hong Kong | Vancouver | Paris | San Francisco | Sydney | Tokyo | Toronto | Cologne | Minneapolis | Chicago | Ottawa | Detroit  
Click here to watch our clients share their Vision Critical successes: [www.visioncritical.com/client-stories](http://www.visioncritical.com/client-stories)[http://www.visioncritical.com/client-stories](http://www.visioncritical.com/client-stories)
