import { EncryptionConfigurationProps } from './EncryptionConfigurationProps';
import { Value } from '../../../cloudformation/Value';
import { AclConfigurationProps } from './AclConfigurationProps';
/**
  The location in Amazon S3 where query and calculation results are stored and the encryption option, if any, used for query and calculation results. These are known as “client-side settings”. If workgroup settings override client-side settings, then the query uses the workgroup settings.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html">the AWS Docs</a>
*/
export interface ResultConfigurationProps {
    /** <code>EncryptionConfiguration</code>  <a name="cfn-athena-workgroup-resultconfiguration-encryptionconfiguration"></a>
  If query results are encrypted in Amazon S3, indicates the encryption option used (for example, <code>SSE_KMS</code> or <code>CSE_KMS</code>) and key information. This is a client-side setting. If workgroup settings override client-side settings, then the query uses the encryption configuration that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-enforceworkgroupconfiguration">EnforceWorkGroupConfiguration</a> and <a href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup Settings Override Client-Side Settings</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    encryptionConfiguration?: EncryptionConfigurationProps;
    /** <code>OutputLocation</code>  <a name="cfn-athena-workgroup-resultconfiguration-outputlocation"></a>
  The location in Amazon S3 where your query results are stored, such as <code>s3://path/to/query/bucket/</code>. To run a query, you must specify the query results location using either a client-side setting for individual queries or a location specified by the workgroup. If workgroup settings override client-side settings, then the query uses the location specified for the workgroup. If no query location is set, Athena issues an error. For more information, see <a href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working with Query Results, Output Files, and Query History</a> and <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-enforceworkgroupconfiguration">EnforceWorkGroupConfiguration</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    outputLocation?: Value<string>;
    /** <code>AclConfiguration</code>  <a name="cfn-athena-workgroup-resultconfiguration-aclconfiguration"></a>
  Indicates that an Amazon S3 canned ACL should be set to control ownership of stored query results. Currently the only supported canned ACL is <code>BUCKET_OWNER_FULL_CONTROL</code>. This is a client-side setting. If workgroup settings override client-side settings, then the query uses the ACL configuration that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-enforceworkgroupconfiguration">EnforceWorkGroupConfiguration</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    aclConfiguration?: AclConfigurationProps;
    /** <code>ExpectedBucketOwner</code>  <a name="cfn-athena-workgroup-resultconfiguration-expectedbucketowner"></a>
  The account ID that you expect to be the owner of the Amazon S3 bucket specified by <code>ResultConfiguration:OutputLocation</code>. If set, Athena uses the value for <code>ExpectedBucketOwner</code> when it makes Amazon S3 calls to your specified output location. If the <code>ExpectedBucketOwner</code> account ID does not match the actual owner of the Amazon S3 bucket, the call fails with a permissions error.<br />
  This is a client-side setting. If workgroup settings override client-side settings, then the query uses the <code>ExpectedBucketOwner</code> setting that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-enforceworkgroupconfiguration">EnforceWorkGroupConfiguration</a>.<br />
  
  Required: No<br />
  
  Minimum: <code>12</code><br />
  
  Maximum: <code>12</code><br />
  
  Pattern: <code>^[0-9]+$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    expectedBucketOwner?: Value<string>;
}
