aws-native logo
AWS Native v0.54.0, Mar 21 23

aws-native.athena.WorkGroup

Resource schema for AWS::Athena::WorkGroup

Example Usage

Example

using System.Collections.Generic;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var myAthenaWorkGroup = new AwsNative.Athena.WorkGroup("myAthenaWorkGroup", new()
    {
        Name = "MyCustomWorkGroup",
        Description = "My WorkGroup",
        State = AwsNative.Athena.WorkGroupState.Enabled,
        Tags = new[]
        {
            new AwsNative.Athena.Inputs.WorkGroupTagArgs
            {
                Key = "key1",
                Value = "value1",
            },
            new AwsNative.Athena.Inputs.WorkGroupTagArgs
            {
                Key = "key2",
                Value = "value2",
            },
        },
        WorkGroupConfiguration = new AwsNative.Athena.Inputs.WorkGroupConfigurationArgs
        {
            BytesScannedCutoffPerQuery = 200000000,
            EnforceWorkGroupConfiguration = false,
            PublishCloudWatchMetricsEnabled = false,
            RequesterPaysEnabled = true,
            ResultConfiguration = new AwsNative.Athena.Inputs.WorkGroupResultConfigurationArgs
            {
                OutputLocation = "s3://path/to/my/bucket/",
            },
        },
    });

});

Coming soon!

Coming soon!

import pulumi
import pulumi_aws_native as aws_native

my_athena_work_group = aws_native.athena.WorkGroup("myAthenaWorkGroup",
    name="MyCustomWorkGroup",
    description="My WorkGroup",
    state=aws_native.athena.WorkGroupState.ENABLED,
    tags=[
        aws_native.athena.WorkGroupTagArgs(
            key="key1",
            value="value1",
        ),
        aws_native.athena.WorkGroupTagArgs(
            key="key2",
            value="value2",
        ),
    ],
    work_group_configuration=aws_native.athena.WorkGroupConfigurationArgs(
        bytes_scanned_cutoff_per_query=200000000,
        enforce_work_group_configuration=False,
        publish_cloud_watch_metrics_enabled=False,
        requester_pays_enabled=True,
        result_configuration=aws_native.athena.WorkGroupResultConfigurationArgs(
            output_location="s3://path/to/my/bucket/",
        ),
    ))
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const myAthenaWorkGroup = new aws_native.athena.WorkGroup("myAthenaWorkGroup", {
    name: "MyCustomWorkGroup",
    description: "My WorkGroup",
    state: aws_native.athena.WorkGroupState.Enabled,
    tags: [
        {
            key: "key1",
            value: "value1",
        },
        {
            key: "key2",
            value: "value2",
        },
    ],
    workGroupConfiguration: {
        bytesScannedCutoffPerQuery: 200000000,
        enforceWorkGroupConfiguration: false,
        publishCloudWatchMetricsEnabled: false,
        requesterPaysEnabled: true,
        resultConfiguration: {
            outputLocation: "s3://path/to/my/bucket/",
        },
    },
});

Coming soon!

Example

using System.Collections.Generic;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var myAthenaWorkGroup = new AwsNative.Athena.WorkGroup("myAthenaWorkGroup", new()
    {
        Name = "MyCustomWorkGroup",
        Description = "My WorkGroup",
        State = AwsNative.Athena.WorkGroupState.Enabled,
        Tags = new[]
        {
            new AwsNative.Athena.Inputs.WorkGroupTagArgs
            {
                Key = "key1",
                Value = "value1",
            },
            new AwsNative.Athena.Inputs.WorkGroupTagArgs
            {
                Key = "key2",
                Value = "value2",
            },
        },
        WorkGroupConfiguration = new AwsNative.Athena.Inputs.WorkGroupConfigurationArgs
        {
            BytesScannedCutoffPerQuery = 200000000,
            EnforceWorkGroupConfiguration = false,
            PublishCloudWatchMetricsEnabled = false,
            RequesterPaysEnabled = true,
            ResultConfiguration = new AwsNative.Athena.Inputs.WorkGroupResultConfigurationArgs
            {
                OutputLocation = "s3://path/to/my/bucket/",
            },
        },
    });

});

Coming soon!

Coming soon!

import pulumi
import pulumi_aws_native as aws_native

my_athena_work_group = aws_native.athena.WorkGroup("myAthenaWorkGroup",
    name="MyCustomWorkGroup",
    description="My WorkGroup",
    state=aws_native.athena.WorkGroupState.ENABLED,
    tags=[
        aws_native.athena.WorkGroupTagArgs(
            key="key1",
            value="value1",
        ),
        aws_native.athena.WorkGroupTagArgs(
            key="key2",
            value="value2",
        ),
    ],
    work_group_configuration=aws_native.athena.WorkGroupConfigurationArgs(
        bytes_scanned_cutoff_per_query=200000000,
        enforce_work_group_configuration=False,
        publish_cloud_watch_metrics_enabled=False,
        requester_pays_enabled=True,
        result_configuration=aws_native.athena.WorkGroupResultConfigurationArgs(
            output_location="s3://path/to/my/bucket/",
        ),
    ))
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const myAthenaWorkGroup = new aws_native.athena.WorkGroup("myAthenaWorkGroup", {
    name: "MyCustomWorkGroup",
    description: "My WorkGroup",
    state: aws_native.athena.WorkGroupState.Enabled,
    tags: [
        {
            key: "key1",
            value: "value1",
        },
        {
            key: "key2",
            value: "value2",
        },
    ],
    workGroupConfiguration: {
        bytesScannedCutoffPerQuery: 200000000,
        enforceWorkGroupConfiguration: false,
        publishCloudWatchMetricsEnabled: false,
        requesterPaysEnabled: true,
        resultConfiguration: {
            outputLocation: "s3://path/to/my/bucket/",
        },
    },
});

Coming soon!

Example

using System.Collections.Generic;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var myAthenaWorkGroup = new AwsNative.Athena.WorkGroup("myAthenaWorkGroup", new()
    {
        Name = "MyCustomWorkGroup",
        Description = "My WorkGroup Updated",
        State = AwsNative.Athena.WorkGroupState.Disabled,
        Tags = new[]
        {
            new AwsNative.Athena.Inputs.WorkGroupTagArgs
            {
                Key = "key1",
                Value = "value1",
            },
            new AwsNative.Athena.Inputs.WorkGroupTagArgs
            {
                Key = "key2",
                Value = "value2",
            },
        },
        WorkGroupConfigurationUpdates = new AwsNative.Athena.Inputs.WorkGroupConfigurationUpdatesArgs
        {
            BytesScannedCutoffPerQuery = 10000000,
            EnforceWorkGroupConfiguration = true,
            PublishCloudWatchMetricsEnabled = true,
            RequesterPaysEnabled = false,
            ResultConfigurationUpdates = new AwsNative.Athena.Inputs.WorkGroupResultConfigurationUpdatesArgs
            {
                EncryptionConfiguration = new AwsNative.Athena.Inputs.WorkGroupEncryptionConfigurationArgs
                {
                    EncryptionOption = AwsNative.Athena.WorkGroupEncryptionOption.SseS3,
                },
                OutputLocation = "s3://path/to/my/bucket/updated/",
            },
        },
    });

});

Coming soon!

Coming soon!

import pulumi
import pulumi_aws_native as aws_native

my_athena_work_group = aws_native.athena.WorkGroup("myAthenaWorkGroup",
    name="MyCustomWorkGroup",
    description="My WorkGroup Updated",
    state=aws_native.athena.WorkGroupState.DISABLED,
    tags=[
        aws_native.athena.WorkGroupTagArgs(
            key="key1",
            value="value1",
        ),
        aws_native.athena.WorkGroupTagArgs(
            key="key2",
            value="value2",
        ),
    ],
    work_group_configuration_updates=aws_native.athena.WorkGroupConfigurationUpdatesArgs(
        bytes_scanned_cutoff_per_query=10000000,
        enforce_work_group_configuration=True,
        publish_cloud_watch_metrics_enabled=True,
        requester_pays_enabled=False,
        result_configuration_updates=aws_native.athena.WorkGroupResultConfigurationUpdatesArgs(
            encryption_configuration=aws_native.athena.WorkGroupEncryptionConfigurationArgs(
                encryption_option=aws_native.athena.WorkGroupEncryptionOption.SSE_S3,
            ),
            output_location="s3://path/to/my/bucket/updated/",
        ),
    ))
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const myAthenaWorkGroup = new aws_native.athena.WorkGroup("myAthenaWorkGroup", {
    name: "MyCustomWorkGroup",
    description: "My WorkGroup Updated",
    state: aws_native.athena.WorkGroupState.Disabled,
    tags: [
        {
            key: "key1",
            value: "value1",
        },
        {
            key: "key2",
            value: "value2",
        },
    ],
    workGroupConfigurationUpdates: {
        bytesScannedCutoffPerQuery: 10000000,
        enforceWorkGroupConfiguration: true,
        publishCloudWatchMetricsEnabled: true,
        requesterPaysEnabled: false,
        resultConfigurationUpdates: {
            encryptionConfiguration: {
                encryptionOption: aws_native.athena.WorkGroupEncryptionOption.SseS3,
            },
            outputLocation: "s3://path/to/my/bucket/updated/",
        },
    },
});

Coming soon!

Example

using System.Collections.Generic;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var myAthenaWorkGroup = new AwsNative.Athena.WorkGroup("myAthenaWorkGroup", new()
    {
        Name = "MyCustomWorkGroup",
        Description = "My WorkGroup Updated",
        State = AwsNative.Athena.WorkGroupState.Disabled,
        Tags = new[]
        {
            new AwsNative.Athena.Inputs.WorkGroupTagArgs
            {
                Key = "key1",
                Value = "value1",
            },
            new AwsNative.Athena.Inputs.WorkGroupTagArgs
            {
                Key = "key2",
                Value = "value2",
            },
        },
        WorkGroupConfigurationUpdates = new AwsNative.Athena.Inputs.WorkGroupConfigurationUpdatesArgs
        {
            BytesScannedCutoffPerQuery = 10000000,
            EnforceWorkGroupConfiguration = true,
            PublishCloudWatchMetricsEnabled = true,
            RequesterPaysEnabled = false,
            ResultConfigurationUpdates = new AwsNative.Athena.Inputs.WorkGroupResultConfigurationUpdatesArgs
            {
                EncryptionConfiguration = new AwsNative.Athena.Inputs.WorkGroupEncryptionConfigurationArgs
                {
                    EncryptionOption = AwsNative.Athena.WorkGroupEncryptionOption.SseS3,
                },
                OutputLocation = "s3://path/to/my/bucket/updated/",
            },
        },
    });

});

Coming soon!

Coming soon!

import pulumi
import pulumi_aws_native as aws_native

my_athena_work_group = aws_native.athena.WorkGroup("myAthenaWorkGroup",
    name="MyCustomWorkGroup",
    description="My WorkGroup Updated",
    state=aws_native.athena.WorkGroupState.DISABLED,
    tags=[
        aws_native.athena.WorkGroupTagArgs(
            key="key1",
            value="value1",
        ),
        aws_native.athena.WorkGroupTagArgs(
            key="key2",
            value="value2",
        ),
    ],
    work_group_configuration_updates=aws_native.athena.WorkGroupConfigurationUpdatesArgs(
        bytes_scanned_cutoff_per_query=10000000,
        enforce_work_group_configuration=True,
        publish_cloud_watch_metrics_enabled=True,
        requester_pays_enabled=False,
        result_configuration_updates=aws_native.athena.WorkGroupResultConfigurationUpdatesArgs(
            encryption_configuration=aws_native.athena.WorkGroupEncryptionConfigurationArgs(
                encryption_option=aws_native.athena.WorkGroupEncryptionOption.SSE_S3,
            ),
            output_location="s3://path/to/my/bucket/updated/",
        ),
    ))
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const myAthenaWorkGroup = new aws_native.athena.WorkGroup("myAthenaWorkGroup", {
    name: "MyCustomWorkGroup",
    description: "My WorkGroup Updated",
    state: aws_native.athena.WorkGroupState.Disabled,
    tags: [
        {
            key: "key1",
            value: "value1",
        },
        {
            key: "key2",
            value: "value2",
        },
    ],
    workGroupConfigurationUpdates: {
        bytesScannedCutoffPerQuery: 10000000,
        enforceWorkGroupConfiguration: true,
        publishCloudWatchMetricsEnabled: true,
        requesterPaysEnabled: false,
        resultConfigurationUpdates: {
            encryptionConfiguration: {
                encryptionOption: aws_native.athena.WorkGroupEncryptionOption.SseS3,
            },
            outputLocation: "s3://path/to/my/bucket/updated/",
        },
    },
});

Coming soon!

Create WorkGroup Resource

new WorkGroup(name: string, args?: WorkGroupArgs, opts?: CustomResourceOptions);
@overload
def WorkGroup(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              description: Optional[str] = None,
              name: Optional[str] = None,
              recursive_delete_option: Optional[bool] = None,
              state: Optional[WorkGroupState] = None,
              tags: Optional[Sequence[WorkGroupTagArgs]] = None,
              work_group_configuration: Optional[WorkGroupConfigurationArgs] = None,
              work_group_configuration_updates: Optional[WorkGroupConfigurationUpdatesArgs] = None)
@overload
def WorkGroup(resource_name: str,
              args: Optional[WorkGroupArgs] = None,
              opts: Optional[ResourceOptions] = None)
func NewWorkGroup(ctx *Context, name string, args *WorkGroupArgs, opts ...ResourceOption) (*WorkGroup, error)
public WorkGroup(string name, WorkGroupArgs? args = null, CustomResourceOptions? opts = null)
public WorkGroup(String name, WorkGroupArgs args)
public WorkGroup(String name, WorkGroupArgs args, CustomResourceOptions options)
type: aws-native:athena:WorkGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args WorkGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args WorkGroupArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args WorkGroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args WorkGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args WorkGroupArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

WorkGroup Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The WorkGroup resource accepts the following input properties:

Description string

The workgroup description.

Name string

The workGroup name.

RecursiveDeleteOption bool

The option to delete the workgroup and its contents even if the workgroup contains any named queries.

State Pulumi.AwsNative.Athena.WorkGroupState

The state of the workgroup: ENABLED or DISABLED.

Tags List<Pulumi.AwsNative.Athena.Inputs.WorkGroupTagArgs>

One or more tags, separated by commas, that you want to attach to the workgroup as you create it

WorkGroupConfiguration Pulumi.AwsNative.Athena.Inputs.WorkGroupConfigurationArgs

The workgroup configuration

WorkGroupConfigurationUpdates Pulumi.AwsNative.Athena.Inputs.WorkGroupConfigurationUpdatesArgs

The workgroup configuration update object

Description string

The workgroup description.

Name string

The workGroup name.

RecursiveDeleteOption bool

The option to delete the workgroup and its contents even if the workgroup contains any named queries.

State WorkGroupStateEnum

The state of the workgroup: ENABLED or DISABLED.

Tags []WorkGroupTagArgs

One or more tags, separated by commas, that you want to attach to the workgroup as you create it

WorkGroupConfiguration WorkGroupConfigurationArgs

The workgroup configuration

WorkGroupConfigurationUpdates WorkGroupConfigurationUpdatesArgs

The workgroup configuration update object

description String

The workgroup description.

name String

The workGroup name.

recursiveDeleteOption Boolean

The option to delete the workgroup and its contents even if the workgroup contains any named queries.

state WorkGroupState

The state of the workgroup: ENABLED or DISABLED.

tags List<WorkGroupTagArgs>

One or more tags, separated by commas, that you want to attach to the workgroup as you create it

workGroupConfiguration WorkGroupConfigurationArgs

The workgroup configuration

workGroupConfigurationUpdates WorkGroupConfigurationUpdatesArgs

The workgroup configuration update object

description string

The workgroup description.

name string

The workGroup name.

recursiveDeleteOption boolean

The option to delete the workgroup and its contents even if the workgroup contains any named queries.

state WorkGroupState

The state of the workgroup: ENABLED or DISABLED.

tags WorkGroupTagArgs[]

One or more tags, separated by commas, that you want to attach to the workgroup as you create it

workGroupConfiguration WorkGroupConfigurationArgs

The workgroup configuration

workGroupConfigurationUpdates WorkGroupConfigurationUpdatesArgs

The workgroup configuration update object

description str

The workgroup description.

name str

The workGroup name.

recursive_delete_option bool

The option to delete the workgroup and its contents even if the workgroup contains any named queries.

state WorkGroupState

The state of the workgroup: ENABLED or DISABLED.

tags Sequence[WorkGroupTagArgs]

One or more tags, separated by commas, that you want to attach to the workgroup as you create it

work_group_configuration WorkGroupConfigurationArgs

The workgroup configuration

work_group_configuration_updates WorkGroupConfigurationUpdatesArgs

The workgroup configuration update object

description String

The workgroup description.

name String

The workGroup name.

recursiveDeleteOption Boolean

The option to delete the workgroup and its contents even if the workgroup contains any named queries.

state "ENABLED" | "DISABLED"

The state of the workgroup: ENABLED or DISABLED.

tags List<Property Map>

One or more tags, separated by commas, that you want to attach to the workgroup as you create it

workGroupConfiguration Property Map

The workgroup configuration

workGroupConfigurationUpdates Property Map

The workgroup configuration update object

Outputs

All input properties are implicitly available as output properties. Additionally, the WorkGroup resource produces the following output properties:

CreationTime string

The date and time the workgroup was created.

Id string

The provider-assigned unique ID for this managed resource.

CreationTime string

The date and time the workgroup was created.

Id string

The provider-assigned unique ID for this managed resource.

creationTime String

The date and time the workgroup was created.

id String

The provider-assigned unique ID for this managed resource.

creationTime string

The date and time the workgroup was created.

id string

The provider-assigned unique ID for this managed resource.

creation_time str

The date and time the workgroup was created.

id str

The provider-assigned unique ID for this managed resource.

creationTime String

The date and time the workgroup was created.

id String

The provider-assigned unique ID for this managed resource.

Supporting Types

WorkGroupAclConfiguration

WorkGroupConfiguration

WorkGroupConfigurationUpdates

WorkGroupCustomerContentEncryptionConfiguration

KmsKey string
KmsKey string
kmsKey String
kmsKey string
kmsKey String

WorkGroupEncryptionConfiguration

WorkGroupEncryptionOption

SseS3
SSE_S3
SseKms
SSE_KMS
CseKms
CSE_KMS
WorkGroupEncryptionOptionSseS3
SSE_S3
WorkGroupEncryptionOptionSseKms
SSE_KMS
WorkGroupEncryptionOptionCseKms
CSE_KMS
SseS3
SSE_S3
SseKms
SSE_KMS
CseKms
CSE_KMS
SseS3
SSE_S3
SseKms
SSE_KMS
CseKms
CSE_KMS
SSE_S3
SSE_S3
SSE_KMS
SSE_KMS
CSE_KMS
CSE_KMS
"SSE_S3"
SSE_S3
"SSE_KMS"
SSE_KMS
"CSE_KMS"
CSE_KMS

WorkGroupEngineVersion

WorkGroupResultConfiguration

WorkGroupResultConfigurationUpdates

WorkGroupS3AclOption

BucketOwnerFullControl
BUCKET_OWNER_FULL_CONTROL
WorkGroupS3AclOptionBucketOwnerFullControl
BUCKET_OWNER_FULL_CONTROL
BucketOwnerFullControl
BUCKET_OWNER_FULL_CONTROL
BucketOwnerFullControl
BUCKET_OWNER_FULL_CONTROL
BUCKET_OWNER_FULL_CONTROL
BUCKET_OWNER_FULL_CONTROL
"BUCKET_OWNER_FULL_CONTROL"
BUCKET_OWNER_FULL_CONTROL

WorkGroupState

Enabled
ENABLED
Disabled
DISABLED
WorkGroupStateEnabled
ENABLED
WorkGroupStateDisabled
DISABLED
Enabled
ENABLED
Disabled
DISABLED
Enabled
ENABLED
Disabled
DISABLED
ENABLED
ENABLED
DISABLED
DISABLED
"ENABLED"
ENABLED
"DISABLED"
DISABLED

WorkGroupTag

Key string
Value string
Key string
Value string
key String
value String
key string
value string
key str
value str
key String
value String

Package Details

Repository
AWS Native pulumi/pulumi-aws-native
License
Apache-2.0