Skip to content

Updates a specified application

Description

Updates a specified application. An application has to be in a stopped or created state in order to be updated.

Usage

emrserverless_update_application(applicationId, clientToken,
  initialCapacity, maximumCapacity, autoStartConfiguration,
  autoStopConfiguration, networkConfiguration, architecture,
  imageConfiguration, workerTypeSpecifications, interactiveConfiguration,
  releaseLabel, runtimeConfiguration, monitoringConfiguration,
  diskEncryptionConfiguration, schedulerConfiguration,
  identityCenterConfiguration, jobLevelCostAllocationConfiguration)

Arguments

  • applicationId

    [required] The ID of the application to update.

  • clientToken

    [required] The client idempotency token of the application to update. Its value must be unique for each request.

  • initialCapacity

    The capacity to initialize when the application is updated.

  • maximumCapacity

    The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any given point in time during the lifespan of the application. No new resources will be created once any one of the defined limits is hit.

  • autoStartConfiguration

    The configuration for an application to automatically start on job submission.

  • autoStopConfiguration

    The configuration for an application to automatically stop after a certain amount of time being idle.

  • networkConfiguration

    The network configuration for customer VPC connectivity.

  • architecture

    The CPU architecture of an application.

  • imageConfiguration

    The image configuration to be used for all worker types. You can either set this parameter or imageConfiguration for each worker type in WorkerTypeSpecificationInput.

  • workerTypeSpecifications

    The key-value pairs that specify worker type to WorkerTypeSpecificationInput. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include Driver and Executor for Spark applications and HiveDriver and TezTask for Hive applications. You can either set image details in this parameter for each worker type, or in imageConfiguration for all worker types.

  • interactiveConfiguration

    The interactive configuration object that contains new interactive use cases when the application is updated.

  • releaseLabel

    The Amazon EMR release label for the application. You can change the release label to use a different release of Amazon EMR.

  • runtimeConfiguration

    The Configuration specifications to use when updating an application. Each configuration consists of a classification and properties. This configuration is applied across all the job runs submitted under the application.

  • monitoringConfiguration

    The configuration setting for monitoring.

  • diskEncryptionConfiguration

    The configuration object that allows encrypting local disks.

  • schedulerConfiguration

    The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

  • identityCenterConfiguration

    Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

  • jobLevelCostAllocationConfiguration

    The configuration object that enables job level cost allocation.

Value

A list with the following syntax:

list(
  application = list(
    applicationId = "string",
    name = "string",
    arn = "string",
    releaseLabel = "string",
    type = "string",
    state = "CREATING"|"CREATED"|"STARTING"|"STARTED"|"STOPPING"|"STOPPED"|"TERMINATED",
    stateDetails = "string",
    initialCapacity = list(
      list(
        workerCount = 123,
        workerConfiguration = list(
          cpu = "string",
          memory = "string",
          disk = "string",
          diskType = "string"
        )
      )
    ),
    maximumCapacity = list(
      cpu = "string",
      memory = "string",
      disk = "string"
    ),
    createdAt = as.POSIXct(
      "2015-01-01"
    ),
    updatedAt = as.POSIXct(
      "2015-01-01"
    ),
    tags = list(
      "string"
    ),
    autoStartConfiguration = list(
      enabled = TRUE|FALSE
    ),
    autoStopConfiguration = list(
      enabled = TRUE|FALSE,
      idleTimeoutMinutes = 123
    ),
    networkConfiguration = list(
      subnetIds = list(
        "string"
      ),
      securityGroupIds = list(
        "string"
      )
    ),
    architecture = "ARM64"|"X86_64",
    imageConfiguration = list(
      imageUri = "string",
      resolvedImageDigest = "string",
      applicationLevelDigestResolution = TRUE|FALSE
    ),
    workerTypeSpecifications = list(
      list(
        imageConfiguration = list(
          imageUri = "string",
          resolvedImageDigest = "string",
          applicationLevelDigestResolution = TRUE|FALSE
        )
      )
    ),
    runtimeConfiguration = list(
      list(
        classification = "string",
        properties = list(
          "string"
        ),
        configurations = list()
      )
    ),
    monitoringConfiguration = list(
      s3MonitoringConfiguration = list(
        logUri = "string",
        encryptionKeyArn = "string"
      ),
      managedPersistenceMonitoringConfiguration = list(
        enabled = TRUE|FALSE,
        encryptionKeyArn = "string"
      ),
      cloudWatchLoggingConfiguration = list(
        enabled = TRUE|FALSE,
        logGroupName = "string",
        logStreamNamePrefix = "string",
        encryptionKeyArn = "string",
        logTypes = list(
          list(
            "string"
          )
        )
      ),
      prometheusMonitoringConfiguration = list(
        remoteWriteUrl = "string"
      )
    ),
    diskEncryptionConfiguration = list(
      encryptionContext = list(
        "string"
      ),
      encryptionKeyArn = "string"
    ),
    interactiveConfiguration = list(
      studioEnabled = TRUE|FALSE,
      livyEndpointEnabled = TRUE|FALSE,
      sessionEnabled = TRUE|FALSE
    ),
    schedulerConfiguration = list(
      queueTimeoutMinutes = 123,
      maxConcurrentRuns = 123
    ),
    identityCenterConfiguration = list(
      identityCenterInstanceArn = "string",
      identityCenterApplicationArn = "string",
      userBackgroundSessionsEnabled = TRUE|FALSE
    ),
    jobLevelCostAllocationConfiguration = list(
      enabled = TRUE|FALSE
    )
  )
)

Request syntax

svc$update_application(
  applicationId = "string",
  clientToken = "string",
  initialCapacity = list(
    list(
      workerCount = 123,
      workerConfiguration = list(
        cpu = "string",
        memory = "string",
        disk = "string",
        diskType = "string"
      )
    )
  ),
  maximumCapacity = list(
    cpu = "string",
    memory = "string",
    disk = "string"
  ),
  autoStartConfiguration = list(
    enabled = TRUE|FALSE
  ),
  autoStopConfiguration = list(
    enabled = TRUE|FALSE,
    idleTimeoutMinutes = 123
  ),
  networkConfiguration = list(
    subnetIds = list(
      "string"
    ),
    securityGroupIds = list(
      "string"
    )
  ),
  architecture = "ARM64"|"X86_64",
  imageConfiguration = list(
    imageUri = "string",
    applicationLevelDigestResolution = TRUE|FALSE
  ),
  workerTypeSpecifications = list(
    list(
      imageConfiguration = list(
        imageUri = "string",
        applicationLevelDigestResolution = TRUE|FALSE
      )
    )
  ),
  interactiveConfiguration = list(
    studioEnabled = TRUE|FALSE,
    livyEndpointEnabled = TRUE|FALSE,
    sessionEnabled = TRUE|FALSE
  ),
  releaseLabel = "string",
  runtimeConfiguration = list(
    list(
      classification = "string",
      properties = list(
        "string"
      ),
      configurations = list()
    )
  ),
  monitoringConfiguration = list(
    s3MonitoringConfiguration = list(
      logUri = "string",
      encryptionKeyArn = "string"
    ),
    managedPersistenceMonitoringConfiguration = list(
      enabled = TRUE|FALSE,
      encryptionKeyArn = "string"
    ),
    cloudWatchLoggingConfiguration = list(
      enabled = TRUE|FALSE,
      logGroupName = "string",
      logStreamNamePrefix = "string",
      encryptionKeyArn = "string",
      logTypes = list(
        list(
          "string"
        )
      )
    ),
    prometheusMonitoringConfiguration = list(
      remoteWriteUrl = "string"
    )
  ),
  diskEncryptionConfiguration = list(
    encryptionContext = list(
      "string"
    ),
    encryptionKeyArn = "string"
  ),
  schedulerConfiguration = list(
    queueTimeoutMinutes = 123,
    maxConcurrentRuns = 123
  ),
  identityCenterConfiguration = list(
    identityCenterInstanceArn = "string",
    userBackgroundSessionsEnabled = TRUE|FALSE
  ),
  jobLevelCostAllocationConfiguration = list(
    enabled = TRUE|FALSE
  )
)