You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::OpsWorks::Types::CreateLayerRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb

Overview

Note:

When making an API call, you may pass CreateLayerRequest data as a hash:

{
  stack_id: "String", # required
  type: "aws-flow-ruby", # required, accepts aws-flow-ruby, ecs-cluster, java-app, lb, web, php-app, rails-app, nodejs-app, memcached, db-master, monitoring-master, custom
  name: "String", # required
  shortname: "String", # required
  attributes: {
    "EcsClusterArn" => "String",
  },
  cloud_watch_logs_configuration: {
    enabled: false,
    log_streams: [
      {
        log_group_name: "String",
        datetime_format: "String",
        time_zone: "LOCAL", # accepts LOCAL, UTC
        file: "String",
        file_fingerprint_lines: "String",
        multi_line_start_pattern: "String",
        initial_position: "start_of_file", # accepts start_of_file, end_of_file
        encoding: "ascii", # accepts ascii, big5, big5hkscs, cp037, cp424, cp437, cp500, cp720, cp737, cp775, cp850, cp852, cp855, cp856, cp857, cp858, cp860, cp861, cp862, cp863, cp864, cp865, cp866, cp869, cp874, cp875, cp932, cp949, cp950, cp1006, cp1026, cp1140, cp1250, cp1251, cp1252, cp1253, cp1254, cp1255, cp1256, cp1257, cp1258, euc_jp, euc_jis_2004, euc_jisx0213, euc_kr, gb2312, gbk, gb18030, hz, iso2022_jp, iso2022_jp_1, iso2022_jp_2, iso2022_jp_2004, iso2022_jp_3, iso2022_jp_ext, iso2022_kr, latin_1, iso8859_2, iso8859_3, iso8859_4, iso8859_5, iso8859_6, iso8859_7, iso8859_8, iso8859_9, iso8859_10, iso8859_13, iso8859_14, iso8859_15, iso8859_16, johab, koi8_r, koi8_u, mac_cyrillic, mac_greek, mac_iceland, mac_latin2, mac_roman, mac_turkish, ptcp154, shift_jis, shift_jis_2004, shift_jisx0213, utf_32, utf_32_be, utf_32_le, utf_16, utf_16_be, utf_16_le, utf_7, utf_8, utf_8_sig
        buffer_duration: 1,
        batch_count: 1,
        batch_size: 1,
      },
    ],
  },
  custom_instance_profile_arn: "String",
  custom_json: "String",
  custom_security_group_ids: ["String"],
  packages: ["String"],
  volume_configurations: [
    {
      mount_point: "String", # required
      raid_level: 1,
      number_of_disks: 1, # required
      size: 1, # required
      volume_type: "String",
      iops: 1,
    },
  ],
  enable_auto_healing: false,
  auto_assign_elastic_ips: false,
  auto_assign_public_ips: false,
  custom_recipes: {
    setup: ["String"],
    configure: ["String"],
    deploy: ["String"],
    undeploy: ["String"],
    shutdown: ["String"],
  },
  install_updates_on_boot: false,
  use_ebs_optimized_instances: false,
  lifecycle_event_configuration: {
    shutdown: {
      execution_timeout: 1,
      delay_until_elb_connections_drained: false,
    },
  },
}

Instance Attribute Summary collapse

Instance Attribute Details

#attributesHash<String,String>

One or more user-defined key-value pairs to be added to the stack attributes.

To create a cluster layer, set the EcsClusterArn attribute to the cluster's ARN.

Returns:

  • (Hash<String,String>)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#auto_assign_elastic_ipsBoolean

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

Returns:

  • (Boolean)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#auto_assign_public_ipsBoolean

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.

Returns:

  • (Boolean)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#cloud_watch_logs_configurationTypes::CloudWatchLogsConfiguration

Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.



1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#custom_instance_profile_arnString

The ARN of an IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

Returns:

  • (String)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#custom_jsonString

A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see Using Custom JSON. This feature is supported as of version 1.7.42 of the AWS CLI.

Returns:

  • (String)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#custom_recipesTypes::Recipes

A LayerCustomRecipes object that specifies the layer custom recipes.

Returns:



1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#custom_security_group_idsArray<String>

An array containing the layer custom security group IDs.

Returns:

  • (Array<String>)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#enable_auto_healingBoolean

Whether to disable auto healing for the layer.

Returns:

  • (Boolean)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#install_updates_on_bootBoolean

Whether to install operating system and package updates when the instance boots. The default value is true. To control when updates are installed, set this value to false. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.

To ensure that your instances have the latest security updates, we strongly recommend using the default value of true.

Returns:

  • (Boolean)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#lifecycle_event_configurationTypes::LifecycleEventConfiguration

A LifeCycleEventConfiguration object that you can use to configure the Shutdown event to specify an execution timeout and enable or disable Elastic Load Balancer connection draining.



1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#nameString

The layer name, which is used by the console.

Returns:

  • (String)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#packagesArray<String>

An array of Package objects that describes the layer packages.

Returns:

  • (Array<String>)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#shortnameString

For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, '-', '_', and '.'.

The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference.

Returns:

  • (String)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#stack_idString

The layer stack ID.

Returns:

  • (String)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#typeString

The layer type. A stack cannot have more than one built-in layer of the same type. It can have any number of custom layers. Built-in layers are not available in Chef 12 stacks.

Returns:

  • (String)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#use_ebs_optimized_instancesBoolean

Whether to use Amazon EBS-optimized instances.

Returns:

  • (Boolean)


1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end

#volume_configurationsArray<Types::VolumeConfiguration>

A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

Returns:



1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'gems/aws-sdk-opsworks/lib/aws-sdk-opsworks/types.rb', line 1753

class CreateLayerRequest < Struct.new(
  :stack_id,
  :type,
  :name,
  :shortname,
  :attributes,
  :cloud_watch_logs_configuration,
  :custom_instance_profile_arn,
  :custom_json,
  :custom_security_group_ids,
  :packages,
  :volume_configurations,
  :enable_auto_healing,
  :auto_assign_elastic_ips,
  :auto_assign_public_ips,
  :custom_recipes,
  :install_updates_on_boot,
  :use_ebs_optimized_instances,
  :lifecycle_event_configuration)
  include Aws::Structure
end