NAME

Paws::KinesisAnalyticsV2::UpdateApplication - Arguments for method UpdateApplication on Paws::KinesisAnalyticsV2

DESCRIPTION

This class represents the parameters used for calling the method UpdateApplication on the Amazon Kinesis Analytics service. Use the attributes of this class as arguments to method UpdateApplication.

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

SYNOPSIS

my $kinesisanalytics = Paws->service('KinesisAnalyticsV2');
my $UpdateApplicationResponse = $kinesisanalytics->UpdateApplication(
  ApplicationName                => 'MyApplicationName',
  ApplicationConfigurationUpdate => {
    ApplicationCodeConfigurationUpdate => {
      CodeContentTypeUpdate =>
        'PLAINTEXT',    # values: PLAINTEXT, ZIPFILE; OPTIONAL
      CodeContentUpdate => {
        S3ContentLocationUpdate => {
          BucketARNUpdate => 'MyBucketARN',    # min: 1, max: 2048; OPTIONAL
          FileKeyUpdate   => 'MyFileKey',      # min: 1, max: 1024; OPTIONAL
          ObjectVersionUpdate => 'MyObjectVersion',    # max: 1024; OPTIONAL
        },    # OPTIONAL
        TextContentUpdate    => 'MyTextContent',    # max: 102400; OPTIONAL
        ZipFileContentUpdate =>
          'BlobZipFileContent',    # max: 52428800; OPTIONAL
      },    # OPTIONAL
    },    # OPTIONAL
    ApplicationSnapshotConfigurationUpdate => {
      SnapshotsEnabledUpdate => 1,

    },    # OPTIONAL
    EnvironmentPropertyUpdates => {
      PropertyGroups => [
        {
          PropertyGroupId => 'MyId',    # min: 1, max: 50
          PropertyMap     => {
            'MyPropertyKey' => 'MyPropertyValue'
            ,    # key: min: 1, max: 2048, value: min: 1, max: 2048
          },    # min: 1, max: 50

        },
        ...
      ],    # max: 50

    },    # OPTIONAL
    FlinkApplicationConfigurationUpdate => {
      CheckpointConfigurationUpdate => {
        CheckpointIntervalUpdate   => 1,    # min: 1; OPTIONAL
        CheckpointingEnabledUpdate => 1,
        ConfigurationTypeUpdate    =>
          'DEFAULT',    # values: DEFAULT, CUSTOM; OPTIONAL
        MinPauseBetweenCheckpointsUpdate => 1,    # OPTIONAL
      },    # OPTIONAL
      MonitoringConfigurationUpdate => {
        ConfigurationTypeUpdate =>
          'DEFAULT',    # values: DEFAULT, CUSTOM; OPTIONAL
        LogLevelUpdate =>
          'INFO',       # values: INFO, WARN, ERROR, DEBUG; OPTIONAL
        MetricsLevelUpdate => 'APPLICATION'
        ,    # values: APPLICATION, TASK, OPERATOR, PARALLELISM; OPTIONAL
      },    # OPTIONAL
      ParallelismConfigurationUpdate => {
        AutoScalingEnabledUpdate => 1,
        ConfigurationTypeUpdate  =>
          'DEFAULT',    # values: DEFAULT, CUSTOM; OPTIONAL
        ParallelismPerKPUUpdate => 1,    # min: 1; OPTIONAL
        ParallelismUpdate       => 1,    # min: 1; OPTIONAL
      },    # OPTIONAL
    },    # OPTIONAL
    SqlApplicationConfigurationUpdate => {
      InputUpdates => [
        {
          InputId                => 'MyId',    # min: 1, max: 50
          InputParallelismUpdate => {
            CountUpdate => 1,                  # min: 1, max: 64

          },    # OPTIONAL
          InputProcessingConfigurationUpdate => {
            InputLambdaProcessorUpdate => {
              ResourceARNUpdate => 'MyResourceARN',    # min: 1, max: 2048

            },

          },    # OPTIONAL
          InputSchemaUpdate => {
            RecordColumnUpdates => [
              {
                Name    => 'MyRecordColumnName',      # min: 1, max: 256
                SqlType => 'MyRecordColumnSqlType',   # min: 1, max: 100
                Mapping => 'MyRecordColumnMapping',   # max: 65535; OPTIONAL
              },
              ...
            ],    # min: 1, max: 1000; OPTIONAL
            RecordEncodingUpdate =>
              'MyRecordEncoding',    # min: 5, max: 5; OPTIONAL
            RecordFormatUpdate => {
              RecordFormatType  => 'JSON',    # values: JSON, CSV
              MappingParameters => {
                CSVMappingParameters => {
                  RecordColumnDelimiter =>
                    'MyRecordColumnDelimiter',    # min: 1, max: 1024
                  RecordRowDelimiter =>
                    'MyRecordRowDelimiter',       # min: 1, max: 1024

                },    # OPTIONAL
                JSONMappingParameters => {
                  RecordRowPath => 'MyRecordRowPath',   # min: 1, max: 65535

                },    # OPTIONAL
              },    # OPTIONAL
            },    # OPTIONAL
          },    # OPTIONAL
          KinesisFirehoseInputUpdate => {
            ResourceARNUpdate => 'MyResourceARN',    # min: 1, max: 2048

          },    # OPTIONAL
          KinesisStreamsInputUpdate => {
            ResourceARNUpdate => 'MyResourceARN',    # min: 1, max: 2048

          },    # OPTIONAL
          NamePrefixUpdate =>
            'MyInAppStreamName',    # min: 1, max: 32; OPTIONAL
        },
        ...
      ],    # OPTIONAL
      OutputUpdates => [
        {
          OutputId                => 'MyId',    # min: 1, max: 50
          DestinationSchemaUpdate => {
            RecordFormatType => 'JSON',         # values: JSON, CSV

          },    # OPTIONAL
          KinesisFirehoseOutputUpdate => {
            ResourceARNUpdate => 'MyResourceARN',    # min: 1, max: 2048

          },    # OPTIONAL
          KinesisStreamsOutputUpdate => {
            ResourceARNUpdate => 'MyResourceARN',    # min: 1, max: 2048

          },    # OPTIONAL
          LambdaOutputUpdate => {
            ResourceARNUpdate => 'MyResourceARN',    # min: 1, max: 2048

          },    # OPTIONAL
          NameUpdate => 'MyInAppStreamName',    # min: 1, max: 32; OPTIONAL
        },
        ...
      ],    # OPTIONAL
      ReferenceDataSourceUpdates => [
        {
          ReferenceId           => 'MyId',    # min: 1, max: 50
          ReferenceSchemaUpdate => {
            RecordColumns => [
              {
                Name    => 'MyRecordColumnName',      # min: 1, max: 256
                SqlType => 'MyRecordColumnSqlType',   # min: 1, max: 100
                Mapping => 'MyRecordColumnMapping',   # max: 65535; OPTIONAL
              },
              ...
            ],    # min: 1, max: 1000; OPTIONAL
            RecordFormat => {
              RecordFormatType  => 'JSON',    # values: JSON, CSV
              MappingParameters => {
                CSVMappingParameters => {
                  RecordColumnDelimiter =>
                    'MyRecordColumnDelimiter',    # min: 1, max: 1024
                  RecordRowDelimiter =>
                    'MyRecordRowDelimiter',       # min: 1, max: 1024

                },    # OPTIONAL
                JSONMappingParameters => {
                  RecordRowPath => 'MyRecordRowPath',   # min: 1, max: 65535

                },    # OPTIONAL
              },    # OPTIONAL
            },    # OPTIONAL
            RecordEncoding => 'MyRecordEncoding', # min: 5, max: 5; OPTIONAL
          },    # OPTIONAL
          S3ReferenceDataSourceUpdate => {
            BucketARNUpdate => 'MyBucketARN',  # min: 1, max: 2048; OPTIONAL
            FileKeyUpdate   => 'MyFileKey',    # min: 1, max: 1024; OPTIONAL
          },    # OPTIONAL
          TableNameUpdate => 'MyInAppTableName', # min: 1, max: 32; OPTIONAL
        },
        ...
      ],    # OPTIONAL
    },    # OPTIONAL
    VpcConfigurationUpdates => [
      {
        VpcConfigurationId     => 'MyId',    # min: 1, max: 50
        SecurityGroupIdUpdates => [ 'MySecurityGroupId', ... ]
        ,                                    # min: 1, max: 5; OPTIONAL
        SubnetIdUpdates => [ 'MySubnetId', ... ]
        ,                                    # min: 1, max: 16; OPTIONAL
      },
      ...
    ],    # OPTIONAL
    ZeppelinApplicationConfigurationUpdate => {
      CatalogConfigurationUpdate => {
        GlueDataCatalogConfigurationUpdate => {
          DatabaseARNUpdate =>
            'MyDatabaseARN',    # min: 1, max: 2048; OPTIONAL
        },

      },    # OPTIONAL
      CustomArtifactsConfigurationUpdate => [
        {
          ArtifactType   => 'UDF',    # values: UDF, DEPENDENCY_JAR
          MavenReference => {
            ArtifactId => 'MyMavenArtifactId',    # min: 1, max: 256
            GroupId    => 'MyMavenGroupId',       # min: 1, max: 256
            Version    => 'MyMavenVersion',       # min: 1, max: 256

          },    # OPTIONAL
          S3ContentLocation => {
            BucketARN     => 'MyBucketARN',    # min: 1, max: 2048; OPTIONAL
            FileKey       => 'MyFileKey',      # min: 1, max: 1024; OPTIONAL
            ObjectVersion => 'MyObjectVersion',    # max: 1024; OPTIONAL
          },    # OPTIONAL
        },
        ...
      ],    # max: 50; OPTIONAL
      DeployAsApplicationConfigurationUpdate => {
        S3ContentLocationUpdate => {
          BucketARNUpdate => 'MyBucketARN',    # min: 1, max: 2048; OPTIONAL
          BasePathUpdate  => 'MyBasePath',     # min: 1, max: 1024; OPTIONAL
        },

      },    # OPTIONAL
      MonitoringConfigurationUpdate => {
        LogLevelUpdate =>
          'INFO',    # values: INFO, WARN, ERROR, DEBUG; OPTIONAL

      },    # OPTIONAL
    },    # OPTIONAL
  },    # OPTIONAL
  CloudWatchLoggingOptionUpdates => [
    {
      CloudWatchLoggingOptionId => 'MyId',     # min: 1, max: 50
      LogStreamARNUpdate => 'MyLogStreamARN',  # min: 1, max: 2048; OPTIONAL
    },
    ...
  ],    # OPTIONAL
  ConditionalToken            => 'MyConditionalToken',    # OPTIONAL
  CurrentApplicationVersionId => 1,                       # OPTIONAL
  RunConfigurationUpdate      => {
    ApplicationRestoreConfiguration => {
      ApplicationRestoreType => 'SKIP_RESTORE_FROM_SNAPSHOT'
      , # values: SKIP_RESTORE_FROM_SNAPSHOT, RESTORE_FROM_LATEST_SNAPSHOT, RESTORE_FROM_CUSTOM_SNAPSHOT
      SnapshotName => 'MySnapshotName',    # min: 1, max: 256; OPTIONAL
    },    # OPTIONAL
    FlinkRunConfiguration => { AllowNonRestoredState => 1, },    # OPTIONAL
  },    # OPTIONAL
  ServiceExecutionRoleUpdate => 'MyRoleARN',    # OPTIONAL
);

# Results:
my $ApplicationDetail = $UpdateApplicationResponse->ApplicationDetail;

# Returns a L<Paws::KinesisAnalyticsV2::UpdateApplicationResponse> 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/kinesisanalytics/UpdateApplication

ATTRIBUTES

ApplicationConfigurationUpdate => Paws::KinesisAnalyticsV2::ApplicationConfigurationUpdate

Describes application configuration updates.

REQUIRED ApplicationName => Str

The name of the application to update.

CloudWatchLoggingOptionUpdates => ArrayRef[Paws::KinesisAnalyticsV2::CloudWatchLoggingOptionUpdate]

Describes application Amazon CloudWatch logging option updates. You can only update existing CloudWatch logging options with this action. To add a new CloudWatch logging option, use AddApplicationCloudWatchLoggingOption.

ConditionalToken => Str

A value you use to implement strong concurrency for application updates. You must provide the CurrentApplicationVersionId or the ConditionalToken. You get the application's current ConditionalToken using DescribeApplication. For better concurrency support, use the ConditionalToken parameter instead of CurrentApplicationVersionId.

CurrentApplicationVersionId => Int

The current application version ID. You must provide the CurrentApplicationVersionId or the ConditionalToken.You can retrieve the application version ID using DescribeApplication. For better concurrency support, use the ConditionalToken parameter instead of CurrentApplicationVersionId.

RunConfigurationUpdate => Paws::KinesisAnalyticsV2::RunConfigurationUpdate

Describes updates to the application's starting parameters.

ServiceExecutionRoleUpdate => Str

Describes updates to the service execution role.

SEE ALSO

This class forms part of Paws, documenting arguments for method UpdateApplication in Paws::KinesisAnalyticsV2

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