Class: Aws::OpsWorks::Layer
- Inherits:
-
Object
- Object
- Aws::OpsWorks::Layer
- Extended by:
- Deprecations
- Defined in:
- lib/aws-sdk-opsworks/layer.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
-
#arn ⇒ String
The Amazon Resource Number (ARN) of a layer.
-
#attributes ⇒ Hash<String,String>
The layer attributes.
-
#auto_assign_elastic_ips ⇒ Boolean
Whether to automatically assign an [Elastic IP address] to the layer’s instances.
-
#auto_assign_public_ips ⇒ Boolean
For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer’s instances.
-
#cloud_watch_logs_configuration ⇒ Types::CloudWatchLogsConfiguration
The Amazon CloudWatch Logs configuration settings for the layer.
-
#created_at ⇒ String
Date when the layer was created.
-
#custom_instance_profile_arn ⇒ String
The ARN of the default IAM profile to be used for the layer’s EC2 instances.
-
#custom_json ⇒ String
A JSON formatted string containing the layer’s custom stack configuration and deployment attributes.
-
#custom_recipes ⇒ Types::Recipes
A ‘LayerCustomRecipes` object that specifies the layer’s custom recipes.
-
#custom_security_group_ids ⇒ Array<String>
An array containing the layer’s custom security group IDs.
-
#default_recipes ⇒ Types::Recipes
OpsWorks Stacks supports five lifecycle events: setup, configuration, deploy, undeploy, and shutdown.
-
#default_security_group_names ⇒ Array<String>
An array containing the layer’s security group names.
-
#enable_auto_healing ⇒ Boolean
Whether auto healing is disabled for the layer.
- #id ⇒ String
-
#install_updates_on_boot ⇒ Boolean
Whether to install operating system and package updates when the instance boots.
-
#layer_id ⇒ String
The layer ID.
-
#lifecycle_event_configuration ⇒ Types::LifecycleEventConfiguration
A ‘LifeCycleEventConfiguration` object that specifies the Shutdown event configuration.
-
#name ⇒ String
The layer name.
-
#packages ⇒ Array<String>
An array of ‘Package` objects that describe the layer’s packages.
-
#shortname ⇒ String
The layer short name.
-
#stack_id ⇒ String
The layer stack ID.
-
#type ⇒ String
The layer type.
-
#use_ebs_optimized_instances ⇒ Boolean
Whether the layer uses Amazon EBS-optimized instances.
-
#volume_configurations ⇒ Array<Types::VolumeConfiguration>
A ‘VolumeConfigurations` object that describes the layer’s Amazon EBS volumes.
Actions collapse
Associations collapse
- #identifiers ⇒ Object deprecated private Deprecated.
- #stack ⇒ Stack?
Instance Method Summary collapse
- #client ⇒ Client
-
#data ⇒ Types::Layer
Returns the data for this Layer.
-
#data_loaded? ⇒ Boolean
Returns ‘true` if this resource is loaded.
-
#initialize(*args) ⇒ Layer
constructor
A new instance of Layer.
- #load ⇒ self (also: #reload)
-
#wait_until(options = {}) {|resource| ... } ⇒ Resource
deprecated
Deprecated.
Use [Aws::OpsWorks::Client] #wait_until instead
Constructor Details
#initialize(id, options = {}) ⇒ Layer #initialize(options = {}) ⇒ Layer
Returns a new instance of Layer.
22 23 24 25 26 27 28 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 22 def initialize(*args) = Hash === args.last ? args.pop.dup : {} @id = extract_id(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() @waiter_block_warned = false end |
Instance Method Details
#arn ⇒ String
The Amazon Resource Number (ARN) of a layer.
39 40 41 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 39 def arn data[:arn] end |
#attributes ⇒ Hash<String,String>
The layer attributes.
For the ‘HaproxyStatsPassword`, `MysqlRootPassword`, and `GangliaPassword` attributes, OpsWorks Stacks returns `*****FILTERED*****` instead of the actual value
For an ECS Cluster layer, OpsWorks Stacks the ‘EcsClusterArn` attribute is set to the cluster’s ARN.
82 83 84 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 82 def attributes data[:attributes] end |
#auto_assign_elastic_ips ⇒ Boolean
Whether to automatically assign an [Elastic IP address] to the layer’s instances. For more information, see [How to Edit a Layer].
[1]: docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html [2]: docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html
151 152 153 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 151 def auto_assign_elastic_ips data[:auto_assign_elastic_ips] end |
#auto_assign_public_ips ⇒ Boolean
For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer’s instances. For more information, see [How to Edit a Layer].
[1]: docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html
163 164 165 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 163 def auto_assign_public_ips data[:auto_assign_public_ips] end |
#client ⇒ Client
230 231 232 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 230 def client @client end |
#cloud_watch_logs_configuration ⇒ Types::CloudWatchLogsConfiguration
The Amazon CloudWatch Logs configuration settings for the layer.
88 89 90 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 88 def cloud_watch_logs_configuration data[:cloud_watch_logs_configuration] end |
#created_at ⇒ String
Date when the layer was created.
194 195 196 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 194 def created_at data[:created_at] end |
#custom_instance_profile_arn ⇒ String
The ARN of the default IAM profile to be used for the layer’s EC2 instances. For more information about IAM ARNs, see [Using Identifiers].
[1]: docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
100 101 102 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 100 def custom_instance_profile_arn data[:custom_instance_profile_arn] end |
#custom_json ⇒ String
A JSON formatted string containing the layer’s custom stack configuration and deployment attributes.
107 108 109 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 107 def custom_json data[:custom_json] end |
#custom_recipes ⇒ Types::Recipes
A ‘LayerCustomRecipes` object that specifies the layer’s custom recipes.
188 189 190 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 188 def custom_recipes data[:custom_recipes] end |
#custom_security_group_ids ⇒ Array<String>
An array containing the layer’s custom security group IDs.
113 114 115 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 113 def custom_security_group_ids data[:custom_security_group_ids] end |
#data ⇒ Types::Layer
Returns the data for this Aws::OpsWorks::Layer. Calls Client#describe_layers if #data_loaded? is ‘false`.
252 253 254 255 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 252 def data load unless @data @data end |
#data_loaded? ⇒ Boolean
260 261 262 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 260 def data_loaded? !!@data end |
#default_recipes ⇒ Types::Recipes
OpsWorks Stacks supports five lifecycle events: setup, configuration, deploy, undeploy, and shutdown. For each layer, OpsWorks Stacks runs a set of standard recipes for each event. You can also provide custom recipes for any or all layers and events. OpsWorks Stacks runs custom event recipes after the standard recipes. ‘LayerCustomRecipes` specifies the custom recipes for a particular layer to be run in response to each of the five events.
To specify a recipe, use the cookbook’s directory name in the repository followed by two colons and the recipe name, which is the recipe’s file name without the ‘.rb` extension. For example: `phpapp2::dbsetup` specifies the `dbsetup.rb` recipe in the repository’s ‘phpapp2` folder.
181 182 183 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 181 def default_recipes data[:default_recipes] end |
#default_security_group_names ⇒ Array<String>
An array containing the layer’s security group names.
119 120 121 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 119 def default_security_group_names data[:default_security_group_names] end |
#delete(options = {}) ⇒ EmptyStructure
370 371 372 373 374 375 376 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 370 def delete( = {}) = .merge(layer_id: @id) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.delete_layer() end resp.data end |
#enable_auto_healing ⇒ Boolean
Whether auto healing is disabled for the layer.
138 139 140 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 138 def enable_auto_healing data[:enable_auto_healing] end |
#id ⇒ String
33 34 35 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 33 def id @id end |
#identifiers ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
394 395 396 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 394 def identifiers { id: @id } end |
#install_updates_on_boot ⇒ Boolean
Whether to install operating system and package updates when the instance boots. The default value is ‘true`. If this value is set to `false`, you must then update your instances manually by using CreateDeployment to run the `update_dependencies` stack command or manually running `yum` (Amazon Linux) or `apt-get` (Ubuntu) on the instances.
<note markdown=“1”> We strongly recommend using the default value of ‘true`, to ensure that your instances have the latest security updates.
</note>
210 211 212 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 210 def install_updates_on_boot data[:install_updates_on_boot] end |
#layer_id ⇒ String
The layer ID.
51 52 53 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 51 def layer_id data[:layer_id] end |
#lifecycle_event_configuration ⇒ Types::LifecycleEventConfiguration
A ‘LifeCycleEventConfiguration` object that specifies the Shutdown event configuration.
223 224 225 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 223 def lifecycle_event_configuration data[:lifecycle_event_configuration] end |
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::OpsWorks::Layer. Returns ‘self` making it possible to chain methods.
layer.reload.data
240 241 242 243 244 245 246 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 240 def load resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.describe_layers(layer_ids: [@id]) end @data = resp.layers[0] self end |
#name ⇒ String
The layer name. Layer names can be a maximum of 32 characters.
63 64 65 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 63 def name data[:name] end |
#packages ⇒ Array<String>
An array of ‘Package` objects that describe the layer’s packages.
125 126 127 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 125 def packages data[:packages] end |
#shortname ⇒ String
The layer short name.
69 70 71 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 69 def shortname data[:shortname] end |
#stack ⇒ Stack?
381 382 383 384 385 386 387 388 389 390 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 381 def stack if data[:stack_id] Stack.new( id: data[:stack_id], client: @client ) else nil end end |
#stack_id ⇒ String
The layer stack ID.
45 46 47 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 45 def stack_id data[:stack_id] end |
#type ⇒ String
The layer type.
57 58 59 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 57 def type data[:type] end |
#use_ebs_optimized_instances ⇒ Boolean
Whether the layer uses Amazon EBS-optimized instances.
216 217 218 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 216 def use_ebs_optimized_instances data[:use_ebs_optimized_instances] end |
#volume_configurations ⇒ Array<Types::VolumeConfiguration>
A ‘VolumeConfigurations` object that describes the layer’s Amazon EBS volumes.
132 133 134 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 132 def volume_configurations data[:volume_configurations] end |
#wait_until(options = {}) {|resource| ... } ⇒ Resource
Use [Aws::OpsWorks::Client] #wait_until instead
The waiting operation is performed on a copy. The original resource remains unchanged.
Waiter polls an API operation until a resource enters a desired state.
## Basic Usage
Waiter will polls until it is successful, it fails by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop until condition is true
resource.wait_until() {|resource| condition}
## Example
instance.wait_until(max_attempts:10, delay:5) do |instance|
instance.state.name == 'running'
end
## Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. The waiting condition is set by passing a block to #wait_until:
# poll for ~25 seconds
resource.wait_until(max_attempts:5,delay:5) {|resource|...}
## Callbacks
You can be notified before each polling attempt and before each delay. If you throw ‘:success` or `:failure` from these callbacks, it will terminate the waiter.
started_at = Time.now
# poll for 1 hour, instead of a number of attempts
proc = Proc.new do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
# disable max attempts
instance.wait_until(before_wait:proc, max_attempts:nil) {...}
## Handling Errors
When a waiter is successful, it returns the Resource. When a waiter fails, it raises an error.
begin
resource.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
attempts attempt in seconds invoked before each attempt invoked before each wait
344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 |
# File 'lib/aws-sdk-opsworks/layer.rb', line 344 def wait_until( = {}, &block) self_copy = self.dup attempts = 0 [:max_attempts] = 10 unless .key?(:max_attempts) [:delay] ||= 10 [:poller] = Proc.new do attempts += 1 if block.call(self_copy) [:success, self_copy] else self_copy.reload unless attempts == [:max_attempts] :retry end end Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do Aws::Waiters::Waiter.new().wait({}) end end |