The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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',      # OPTIONAL
                Trigger => {
                  CloudWatchAlarmDefinition => {
                    ComparisonOperator => 'GREATER_THAN_OR_EQUAL'
                    , # values: GREATER_THAN_OR_EQUAL, GREATER_THAN, LESS_THAN, LESS_THAN_OR_EQUAL
                    MetricName => 'MyString',    # OPTIONAL
                    Period     => 1,
                    Threshold  => 1,
                    Dimensions => [
                      {
                        Key   => 'MyString',     # OPTIONAL
                        Value => 'MyString',     # OPTIONAL
                      },
                      ...
                    ],                           # OPTIONAL
                    EvaluationPeriods => 1,
                    Namespace         => 'MyString',      # OPTIONAL
                    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
              },
              ...
            ],

          },    # OPTIONAL
          BidPrice       => 'MyXmlStringMaxLen256',    # max: 256; OPTIONAL
          Configurations => [
            {
              Classification => 'MyString',            # OPTIONAL
              Configurations => <ConfigurationList>,
              Properties     => {
                'MyString' => 'MyString',    # key: OPTIONAL, value: OPTIONAL
              },    # OPTIONAL
            },
            ...
          ],        # OPTIONAL
          EbsConfiguration => {
            EbsBlockDeviceConfigs => [
              {
                VolumeSpecification => {
                  SizeInGB   => 1,
                  VolumeType => 'MyString',    # OPTIONAL
                  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