package awsdatabrew


// Represents options that specify how and where in the AWS Glue Data Catalog DataBrew writes the output generated by recipe jobs.
//
// Example:
//   // The code below shows an example of how to instantiate this type.
//   // The values are placeholders you should change.
//   import "github.com/aws/aws-cdk-go/awscdk"
//
//   dataCatalogOutputProperty := &DataCatalogOutputProperty{
//   	DatabaseName: jsii.String("databaseName"),
//   	TableName: jsii.String("tableName"),
//
//   	// the properties below are optional
//   	CatalogId: jsii.String("catalogId"),
//   	DatabaseOptions: &DatabaseTableOutputOptionsProperty{
//   		TableName: jsii.String("tableName"),
//
//   		// the properties below are optional
//   		TempDirectory: &S3LocationProperty{
//   			Bucket: jsii.String("bucket"),
//
//   			// the properties below are optional
//   			BucketOwner: jsii.String("bucketOwner"),
//   			Key: jsii.String("key"),
//   		},
//   	},
//   	Overwrite: jsii.Boolean(false),
//   	S3Options: &S3TableOutputOptionsProperty{
//   		Location: &S3LocationProperty{
//   			Bucket: jsii.String("bucket"),
//
//   			// the properties below are optional
//   			BucketOwner: jsii.String("bucketOwner"),
//   			Key: jsii.String("key"),
//   		},
//   	},
//   }
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-datacatalogoutput.html
//
type CfnJob_DataCatalogOutputProperty struct {
	// The name of a database in the Data Catalog.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-datacatalogoutput.html#cfn-databrew-job-datacatalogoutput-databasename
	//
	DatabaseName *string `field:"required" json:"databaseName" yaml:"databaseName"`
	// The name of a table in the Data Catalog.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-datacatalogoutput.html#cfn-databrew-job-datacatalogoutput-tablename
	//
	TableName *string `field:"required" json:"tableName" yaml:"tableName"`
	// The unique identifier of the AWS account that holds the Data Catalog that stores the data.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-datacatalogoutput.html#cfn-databrew-job-datacatalogoutput-catalogid
	//
	CatalogId *string `field:"optional" json:"catalogId" yaml:"catalogId"`
	// Represents options that specify how and where DataBrew writes the database output generated by recipe jobs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-datacatalogoutput.html#cfn-databrew-job-datacatalogoutput-databaseoptions
	//
	DatabaseOptions interface{} `field:"optional" json:"databaseOptions" yaml:"databaseOptions"`
	// A value that, if true, means that any data in the location specified for output is overwritten with new output.
	//
	// Not supported with DatabaseOptions.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-datacatalogoutput.html#cfn-databrew-job-datacatalogoutput-overwrite
	//
	Overwrite interface{} `field:"optional" json:"overwrite" yaml:"overwrite"`
	// Represents options that specify how and where DataBrew writes the Amazon S3 output generated by recipe jobs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-datacatalogoutput.html#cfn-databrew-job-datacatalogoutput-s3options
	//
	S3Options interface{} `field:"optional" json:"s3Options" yaml:"s3Options"`
}

