The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Paws::EMR::AddInstanceGroups - Arguments for method AddInstanceGroups on Paws::EMR

DESCRIPTION

This class represents the parameters used for calling the method AddInstanceGroups on the Amazon Elastic MapReduce service. Use the attributes of this class as arguments to method AddInstanceGroups.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to AddInstanceGroups.

SYNOPSIS

my $elasticmapreduce = Paws->service('EMR');
my $AddInstanceGroupsOutput = $elasticmapreduce->AddInstanceGroups(
  InstanceGroups => [
    {
      InstanceCount     => 1,
      InstanceRole      => 'MASTER',            # values: MASTER, CORE, TASK
      InstanceType      => 'MyInstanceType',    # min: 1, max: 256
      AutoScalingPolicy => {
        Constraints => {
          MaxCapacity => 1,
          MinCapacity => 1,

        },
        Rules => [
          {
            Action => {
              SimpleScalingPolicyConfiguration => {
                ScalingAdjustment => 1,
                AdjustmentType    => 'CHANGE_IN_CAPACITY'
                , # values: CHANGE_IN_CAPACITY, PERCENT_CHANGE_IN_CAPACITY, EXACT_CAPACITY; OPTIONAL
                CoolDown => 1,
              },
              Market => 'ON_DEMAND',    # values: ON_DEMAND, SPOT; OPTIONAL
            },
            Name    => 'MyString',
            Trigger => {
              CloudWatchAlarmDefinition => {
                ComparisonOperator => 'GREATER_THAN_OR_EQUAL'
                , # values: GREATER_THAN_OR_EQUAL, GREATER_THAN, LESS_THAN, LESS_THAN_OR_EQUAL
                MetricName => 'MyString',
                Period     => 1,
                Threshold  => 1,
                Dimensions => [
                  {
                    Key   => 'MyString',
                    Value => 'MyString',
                  },
                  ...
                ],    # OPTIONAL
                EvaluationPeriods => 1,
                Namespace         => 'MyString',
                Statistic         => 'SAMPLE_COUNT'
                , # values: SAMPLE_COUNT, AVERAGE, SUM, MINIMUM, MAXIMUM; OPTIONAL
                Unit => 'NONE'
                , # values: NONE, SECONDS, MICRO_SECONDS, MILLI_SECONDS, BYTES, KILO_BYTES, MEGA_BYTES, GIGA_BYTES, TERA_BYTES, BITS, KILO_BITS, MEGA_BITS, GIGA_BITS, TERA_BITS, PERCENT, COUNT, BYTES_PER_SECOND, KILO_BYTES_PER_SECOND, MEGA_BYTES_PER_SECOND, GIGA_BYTES_PER_SECOND, TERA_BYTES_PER_SECOND, BITS_PER_SECOND, KILO_BITS_PER_SECOND, MEGA_BITS_PER_SECOND, GIGA_BITS_PER_SECOND, TERA_BITS_PER_SECOND, COUNT_PER_SECOND; OPTIONAL
              },

            },
            Description => 'MyString',
          },
          ...
        ],

      },    # OPTIONAL
      BidPrice       => 'MyXmlStringMaxLen256',    # max: 256; OPTIONAL
      Configurations => [
        {
          Classification => 'MyString',
          Configurations => <ConfigurationList>,
          Properties     => { 'MyString' => 'MyString', },    # OPTIONAL
        },
        ...
      ],    # OPTIONAL
      EbsConfiguration => {
        EbsBlockDeviceConfigs => [
          {
            VolumeSpecification => {
              SizeInGB   => 1,
              VolumeType => 'MyString',
              Iops       => 1,
            },
            VolumesPerInstance => 1,
          },
          ...
        ],    # OPTIONAL
        EbsOptimized => 1,    # OPTIONAL
      },    # OPTIONAL
      Market => 'ON_DEMAND',             # values: ON_DEMAND, SPOT; OPTIONAL
      Name   => 'MyXmlStringMaxLen256',  # max: 256; OPTIONAL
    },
    ...
  ],
  JobFlowId => 'MyXmlStringMaxLen256',

);

# Results:
my $ClusterArn       = $AddInstanceGroupsOutput->ClusterArn;
my $InstanceGroupIds = $AddInstanceGroupsOutput->InstanceGroupIds;
my $JobFlowId        = $AddInstanceGroupsOutput->JobFlowId;

# Returns a L<Paws::EMR::AddInstanceGroupsOutput> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce/AddInstanceGroups

ATTRIBUTES

REQUIRED InstanceGroups => ArrayRef[Paws::EMR::InstanceGroupConfig]

Instance groups to add.

REQUIRED JobFlowId => Str

Job flow in which to add the instance groups.

SEE ALSO

This class forms part of Paws, documenting arguments for method AddInstanceGroups in Paws::EMR

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues