Class: AWSCDK::Athena::CfnWorkGroup::ResultConfigurationUpdatesProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
athena/cfn_work_group.rb

Overview

The information about the updates in the query results, such as output location and encryption configuration for the query results.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(acl_configuration: nil, encryption_configuration: nil, expected_bucket_owner: nil, output_location: nil, remove_acl_configuration: nil, remove_encryption_configuration: nil, remove_expected_bucket_owner: nil, remove_output_location: nil) ⇒ ResultConfigurationUpdatesProperty

Returns a new instance of ResultConfigurationUpdatesProperty.

Parameters:

  • acl_configuration (AWSCDK::IResolvable, AWSCDK::Athena::CfnWorkGroup::AclConfigurationProperty, nil) (defaults to: nil)

    The ACL configuration for the query results.

  • encryption_configuration (AWSCDK::IResolvable, AWSCDK::Athena::CfnWorkGroup::EncryptionConfigurationProperty, nil) (defaults to: nil)

    The encryption configuration for the query results.

  • expected_bucket_owner (String, nil) (defaults to: nil)

    The AWS account ID that you expect to be the owner of the Amazon S3 bucket specified by . If set, Athena uses the value for ExpectedBucketOwner when it makes Amazon S3 calls to your specified output location. If the ExpectedBucketOwner AWS account ID does not match the actual owner of the Amazon S3 bucket, the call fails with a permissions error.

  • output_location (String, nil) (defaults to: nil)

    The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/ .

  • remove_acl_configuration (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If set to true , indicates that the previously-specified ACL configuration for queries in this workgroup should be ignored and set to null.

  • remove_encryption_configuration (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If set to "true", indicates that the previously-specified encryption configuration (also known as the client-side setting) for queries in this workgroup should be ignored and set to null.

  • remove_expected_bucket_owner (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If set to "true", removes the AWS account ID previously specified for . If set to "false" or not set, and a value is present in the ExpectedBucketOwner in ResultConfigurationUpdates (the client-side setting), the ExpectedBucketOwner in the workgroup's ResultConfiguration is updated with the new value. For more information, see Workgroup Settings Override Client-Side Settings .

  • remove_output_location (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If set to "true", indicates that the previously-specified query results location (also known as a client-side setting) for queries in this workgroup should be ignored and set to null.



1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
# File 'athena/cfn_work_group.rb', line 1258

def initialize(acl_configuration: nil, encryption_configuration: nil, expected_bucket_owner: nil, output_location: nil, remove_acl_configuration: nil, remove_encryption_configuration: nil, remove_expected_bucket_owner: nil, remove_output_location: nil)
  @acl_configuration = acl_configuration.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::AclConfigurationProperty.new(**acl_configuration.transform_keys(&:to_sym)) : acl_configuration
  Jsii::Type.check_type(@acl_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLkFjbENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "aclConfiguration") unless @acl_configuration.nil?
  @encryption_configuration = encryption_configuration.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::EncryptionConfigurationProperty.new(**encryption_configuration.transform_keys(&:to_sym)) : encryption_configuration
  Jsii::Type.check_type(@encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLkVuY3J5cHRpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "encryptionConfiguration") unless @encryption_configuration.nil?
  @expected_bucket_owner = expected_bucket_owner
  Jsii::Type.check_type(@expected_bucket_owner, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "expectedBucketOwner") unless @expected_bucket_owner.nil?
  @output_location = output_location
  Jsii::Type.check_type(@output_location, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "outputLocation") unless @output_location.nil?
  @remove_acl_configuration = remove_acl_configuration
  Jsii::Type.check_type(@remove_acl_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "removeAclConfiguration") unless @remove_acl_configuration.nil?
  @remove_encryption_configuration = remove_encryption_configuration
  Jsii::Type.check_type(@remove_encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "removeEncryptionConfiguration") unless @remove_encryption_configuration.nil?
  @remove_expected_bucket_owner = remove_expected_bucket_owner
  Jsii::Type.check_type(@remove_expected_bucket_owner, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "removeExpectedBucketOwner") unless @remove_expected_bucket_owner.nil?
  @remove_output_location = remove_output_location
  Jsii::Type.check_type(@remove_output_location, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "removeOutputLocation") unless @remove_output_location.nil?
end

Instance Attribute Details

#acl_configurationAWSCDK::IResolvable, ... (readonly)

The ACL configuration for the query results.



1281
1282
1283
# File 'athena/cfn_work_group.rb', line 1281

def acl_configuration
  @acl_configuration
end

#encryption_configurationAWSCDK::IResolvable, ... (readonly)

The encryption configuration for the query results.



1286
1287
1288
# File 'athena/cfn_work_group.rb', line 1286

def encryption_configuration
  @encryption_configuration
end

#expected_bucket_ownerString? (readonly)

The AWS account ID that you expect to be the owner of the Amazon S3 bucket specified by . If set, Athena uses the value for ExpectedBucketOwner when it makes Amazon S3 calls to your specified output location. If the ExpectedBucketOwner AWS account ID does not match the actual owner of the Amazon S3 bucket, the call fails with a permissions error.

If workgroup settings override client-side settings, then the query uses the ExpectedBucketOwner setting that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See and Workgroup Settings Override Client-Side Settings .



1293
1294
1295
# File 'athena/cfn_work_group.rb', line 1293

def expected_bucket_owner
  @expected_bucket_owner
end

#output_locationString? (readonly)

The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/ .

For more information, see Query Results If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup. The "workgroup settings override" is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See EnforceWorkGroupConfiguration .



1300
1301
1302
# File 'athena/cfn_work_group.rb', line 1300

def output_location
  @output_location
end

#remove_acl_configurationBoolean, ... (readonly)

If set to true , indicates that the previously-specified ACL configuration for queries in this workgroup should be ignored and set to null.

If set to false or not set, and a value is present in the AclConfiguration of ResultConfigurationUpdates , the AclConfiguration in the workgroup's ResultConfiguration is updated with the new value. For more information, see Workgroup Settings Override Client-Side Settings .



1307
1308
1309
# File 'athena/cfn_work_group.rb', line 1307

def remove_acl_configuration
  @remove_acl_configuration
end

#remove_encryption_configurationBoolean, ... (readonly)

If set to "true", indicates that the previously-specified encryption configuration (also known as the client-side setting) for queries in this workgroup should be ignored and set to null.

If set to "false" or not set, and a value is present in the EncryptionConfiguration in ResultConfigurationUpdates (the client-side setting), the EncryptionConfiguration in the workgroup's ResultConfiguration will be updated with the new value. For more information, see Override Client-Side Settings .



1314
1315
1316
# File 'athena/cfn_work_group.rb', line 1314

def remove_encryption_configuration
  @remove_encryption_configuration
end

#remove_expected_bucket_ownerBoolean, ... (readonly)

If set to "true", removes the AWS account ID previously specified for . If set to "false" or not set, and a value is present in the ExpectedBucketOwner in ResultConfigurationUpdates (the client-side setting), the ExpectedBucketOwner in the workgroup's ResultConfiguration is updated with the new value. For more information, see Workgroup Settings Override Client-Side Settings .



1319
1320
1321
# File 'athena/cfn_work_group.rb', line 1319

def remove_expected_bucket_owner
  @remove_expected_bucket_owner
end

#remove_output_locationBoolean, ... (readonly)

If set to "true", indicates that the previously-specified query results location (also known as a client-side setting) for queries in this workgroup should be ignored and set to null.

If set to "false" or not set, and a value is present in the OutputLocation in ResultConfigurationUpdates (the client-side setting), the OutputLocation in the workgroup's ResultConfiguration will be updated with the new value. For more information, see Override Client-Side Settings .



1326
1327
1328
# File 'athena/cfn_work_group.rb', line 1326

def remove_output_location
  @remove_output_location
end

Class Method Details

.jsii_propertiesObject



1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'athena/cfn_work_group.rb', line 1328

def self.jsii_properties
  {
    :acl_configuration => "aclConfiguration",
    :encryption_configuration => "encryptionConfiguration",
    :expected_bucket_owner => "expectedBucketOwner",
    :output_location => "outputLocation",
    :remove_acl_configuration => "removeAclConfiguration",
    :remove_encryption_configuration => "removeEncryptionConfiguration",
    :remove_expected_bucket_owner => "removeExpectedBucketOwner",
    :remove_output_location => "removeOutputLocation",
  }
end

Instance Method Details

#to_jsiiObject



1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
# File 'athena/cfn_work_group.rb', line 1341

def to_jsii
  result = {}
  result.merge!({
    "aclConfiguration" => @acl_configuration,
    "encryptionConfiguration" => @encryption_configuration,
    "expectedBucketOwner" => @expected_bucket_owner,
    "outputLocation" => @output_location,
    "removeAclConfiguration" => @remove_acl_configuration,
    "removeEncryptionConfiguration" => @remove_encryption_configuration,
    "removeExpectedBucketOwner" => @remove_expected_bucket_owner,
    "removeOutputLocation" => @remove_output_location,
  })
  result.compact
end