applications
Creates, updates, deletes or gets an application resource or lists applications in a region
Overview
| Name | applications |
| Type | Resource |
| Description | Resource schema for AWS::EMRServerless::Application Type |
| Id | awscc.emrserverless.applications |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
architecture | string | The cpu architecture of an application. |
name | string | User friendly Application name. |
release_label | string | EMR release label. |
type | string | The type of the application |
initial_capacity | array | Initial capacity initialized when an Application is started. |
maximum_capacity | object | Maximum allowed cumulative resources for an Application. No new resources will be created once the limit is hit. |
tags | array | Tag map with key and value |
auto_start_configuration | object | Configuration for Auto Start of Application. |
auto_stop_configuration | object | Configuration for Auto Stop of Application. |
image_configuration | object | The image configuration. |
monitoring_configuration | object | Monitoring configuration for batch and interactive JobRun. |
runtime_configuration | array | Runtime configuration for batch and interactive JobRun. |
interactive_configuration | object | |
network_configuration | object | Network Configuration for customer VPC connectivity. |
arn | string | The Amazon Resource Name (ARN) of the EMR Serverless Application. |
application_id | string | The ID of the EMR Serverless Application. |
worker_type_specifications | object | 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. |
scheduler_configuration | object | The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above. |
identity_center_configuration | object | The IAM IdentityCenter configuration for trusted-identity-propagation on this application. Supported with release labels emr-7.8.0 and above. |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
application_id | string | The ID of the EMR Serverless Application. |
region | string | AWS region. |
For more information, see AWS::EMRServerless::Application.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | applications | INSERT | ReleaseLabel, Type, region |
delete_resource | applications | DELETE | Identifier, region |
update_resource | applications | UPDATE | Identifier, PatchDocument, region |
list_resources | applications_list_only | SELECT | region |
get_resource | applications | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual application.
SELECT
region,
architecture,
name,
release_label,
type,
initial_capacity,
maximum_capacity,
tags,
auto_start_configuration,
auto_stop_configuration,
image_configuration,
monitoring_configuration,
runtime_configuration,
interactive_configuration,
network_configuration,
arn,
application_id,
worker_type_specifications,
scheduler_configuration,
identity_center_configuration
FROM awscc.emrserverless.applications
WHERE
region = 'us-east-1' AND
Identifier = '{{ application_id }}';
Lists all applications in a region.
SELECT
region,
application_id
FROM awscc.emrserverless.applications_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new application resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.emrserverless.applications (
ReleaseLabel,
Type,
region
)
SELECT
'{{ release_label }}',
'{{ type }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.emrserverless.applications (
Architecture,
Name,
ReleaseLabel,
Type,
InitialCapacity,
MaximumCapacity,
Tags,
AutoStartConfiguration,
AutoStopConfiguration,
ImageConfiguration,
MonitoringConfiguration,
RuntimeConfiguration,
InteractiveConfiguration,
NetworkConfiguration,
WorkerTypeSpecifications,
SchedulerConfiguration,
IdentityCenterConfiguration,
region
)
SELECT
'{{ architecture }}',
'{{ name }}',
'{{ release_label }}',
'{{ type }}',
'{{ initial_capacity }}',
'{{ maximum_capacity }}',
'{{ tags }}',
'{{ auto_start_configuration }}',
'{{ auto_stop_configuration }}',
'{{ image_configuration }}',
'{{ monitoring_configuration }}',
'{{ runtime_configuration }}',
'{{ interactive_configuration }}',
'{{ network_configuration }}',
'{{ worker_type_specifications }}',
'{{ scheduler_configuration }}',
'{{ identity_center_configuration }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: application
props:
- name: architecture
value: '{{ architecture }}'
- name: name
value: '{{ name }}'
- name: release_label
value: '{{ release_label }}'
- name: type
value: '{{ type }}'
- name: initial_capacity
value:
- key: '{{ key }}'
value:
worker_count: '{{ worker_count }}'
worker_configuration:
cpu: '{{ cpu }}'
memory: '{{ memory }}'
disk: '{{ disk }}'
disk_type: '{{ disk_type }}'
- name: maximum_capacity
value:
cpu: null
memory: null
disk: null
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
- name: auto_start_configuration
value:
enabled: '{{ enabled }}'
- name: auto_stop_configuration
value:
enabled: '{{ enabled }}'
idle_timeout_minutes: '{{ idle_timeout_minutes }}'
- name: image_configuration
value:
image_uri: '{{ image_uri }}'
- name: monitoring_configuration
value:
s3_monitoring_configuration: null
managed_persistence_monitoring_configuration: null
cloud_watch_logging_configuration: null
prometheus_monitoring_configuration: null
- name: runtime_configuration
value:
- classification: '{{ classification }}'
properties: {}
configurations:
- null
- name: interactive_configuration
value:
livy_endpoint_enabled: '{{ livy_endpoint_enabled }}'
studio_enabled: '{{ studio_enabled }}'
- name: network_configuration
value:
subnet_ids:
- '{{ subnet_ids[0] }}'
security_group_ids:
- '{{ security_group_ids[0] }}'
- name: worker_type_specifications
value: {}
- name: scheduler_configuration
value:
queue_timeout_minutes: '{{ queue_timeout_minutes }}'
max_concurrent_runs: '{{ max_concurrent_runs }}'
- name: identity_center_configuration
value:
identity_center_instance_arn: '{{ identity_center_instance_arn }}'
UPDATE example
Use the following StackQL query and manifest file to update a application resource, using stack-deploy.
/*+ update */
UPDATE awscc.emrserverless.applications
SET PatchDocument = string('{{ {
"Architecture": architecture,
"ReleaseLabel": release_label,
"InitialCapacity": initial_capacity,
"MaximumCapacity": maximum_capacity,
"Tags": tags,
"AutoStartConfiguration": auto_start_configuration,
"AutoStopConfiguration": auto_stop_configuration,
"ImageConfiguration": image_configuration,
"MonitoringConfiguration": monitoring_configuration,
"RuntimeConfiguration": runtime_configuration,
"InteractiveConfiguration": interactive_configuration,
"NetworkConfiguration": network_configuration,
"WorkerTypeSpecifications": worker_type_specifications,
"SchedulerConfiguration": scheduler_configuration,
"IdentityCenterConfiguration": identity_center_configuration
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ application_id }}';
DELETE example
/*+ delete */
DELETE FROM awscc.emrserverless.applications
WHERE
Identifier = '{{ application_id }}' AND
region = 'us-east-1';
Permissions
To operate on the applications resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
kms:CreateKey,
kms:CreateAlias,
kms:DescribeKey,
kms:EnableKey,
kms:ListGrants,
kms:ListAliases,
kms:ListKeyPolicies,
kms:ListKeys,
kms:PutKeyPolicy,
kms:UpdateKeyDescription,
kms:UpdateAlias,
kms:UpdatePrimaryRegion,
kms:RevokeGrant,
kms:DisableKey,
kms:DisableKeyRotation,
kms:GetKeyPolicy,
kms:GetKeyRotationStatus,
kms:DeleteAlias,
kms:ScheduleKeyDeletion,
kms:CancelKeyDeletion,
kms:GenerateDataKey,
kms:TagResource,
kms:UntagResource,
kms:Decrypt,
emr-serverless:CreateApplication,
emr-serverless:TagResource,
emr-serverless:GetApplication,
iam:CreateServiceLinkedRole,
ec2:CreateNetworkInterface,
ecr:BatchGetImage,
ecr:DescribeImages,
ecr:GetDownloadUrlForLayer,
sso:DescribeInstance,
sso:CreateApplication,
sso:DeleteApplication,
sso:PutApplicationAuthenticationMethod,
sso:PutApplicationAssignmentConfiguration,
sso:PutApplicationGrant,
sso:PutApplicationAccessScope
emr-serverless:GetApplication
emr-serverless:UpdateApplication,
emr-serverless:TagResource,
emr-serverless:UntagResource,
emr-serverless:GetApplication,
ec2:CreateNetworkInterface,
ecr:BatchGetImage,
ecr:DescribeImages,
ecr:GetDownloadUrlForLayer,
kms:CreateKey,
kms:CreateAlias,
kms:DescribeKey,
kms:EnableKey,
kms:ListGrants,
kms:ListAliases,
kms:ListKeyPolicies,
kms:ListKeys,
kms:PutKeyPolicy,
kms:UpdateKeyDescription,
kms:UpdateAlias,
kms:UpdatePrimaryRegion,
kms:RevokeGrant,
kms:DisableKey,
kms:DisableKeyRotation,
kms:GetKeyPolicy,
kms:GetKeyRotationStatus,
kms:DeleteAlias,
kms:ScheduleKeyDeletion,
kms:CancelKeyDeletion,
kms:GenerateDataKey,
kms:TagResource,
kms:UntagResource,
kms:Decrypt
emr-serverless:DeleteApplication,
emr-serverless:GetApplication,
sso:DeleteApplication
emr-serverless:ListApplications