import { Value } from '../../../cloudformation/Value';
import { JoinKeyPropertiesProps } from './JoinKeyPropertiesProps';
/**
  The instructions associated with a join.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-joininstruction.html">the AWS Docs</a>
*/
export interface JoinInstructionProps {
    /** <code>OnClause</code>  <a name="cfn-quicksight-dataset-joininstruction-onclause"></a>
  The join instructions provided in the <code>ON</code> clause of a join.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</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> */
    onClause: Value<string>;
    /** <code>Type</code>  <a name="cfn-quicksight-dataset-joininstruction-type"></a>
  The type of join that it is.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>INNER | LEFT | OUTER | RIGHT</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> */
    type: Value<'INNER' | 'LEFT' | 'OUTER' | 'RIGHT'>;
    /** <code>LeftJoinKeyProperties</code>  <a name="cfn-quicksight-dataset-joininstruction-leftjoinkeyproperties"></a>
  Join key properties of the left operand.<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> */
    leftJoinKeyProperties?: JoinKeyPropertiesProps;
    /** <code>LeftOperand</code>  <a name="cfn-quicksight-dataset-joininstruction-leftoperand"></a>
  The operand on the left side of a join.<br />
  
  Required: Yes<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> */
    leftOperand: Value<string>;
    /** <code>RightOperand</code>  <a name="cfn-quicksight-dataset-joininstruction-rightoperand"></a>
  The operand on the right side of a join.<br />
  
  Required: Yes<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> */
    rightOperand: Value<string>;
    /** <code>RightJoinKeyProperties</code>  <a name="cfn-quicksight-dataset-joininstruction-rightjoinkeyproperties"></a>
  Join key properties of the right operand.<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> */
    rightJoinKeyProperties?: JoinKeyPropertiesProps;
}
