Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::SchemaConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kinesis_firehose/cfn_delivery_stream.rb

Overview

Specifies the schema to which you want Firehose to configure your data before it writes it to Amazon S3.

This parameter is required if Enabled is set to true.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(catalog_id: nil, database_name: nil, region: nil, role_arn: nil, table_name: nil, version_id: nil) ⇒ SchemaConfigurationProperty

Returns a new instance of SchemaConfigurationProperty.

Parameters:

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

    The ID of the AWS Glue Data Catalog.

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

    Specifies the name of the AWS Glue database that contains the schema for the output data.

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

    If you don't specify an AWS Region, the default is the current Region.

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

    The role that Firehose can use to access AWS Glue.

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

    Specifies the AWS Glue table that contains the column information that constitutes your data schema.

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

    Specifies the table version for the output data schema.



4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4268

def initialize(catalog_id: nil, database_name: nil, region: nil, role_arn: nil, table_name: nil, version_id: nil)
  @catalog_id = catalog_id
  Jsii::Type.check_type(@catalog_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "catalogId") unless @catalog_id.nil?
  @database_name = database_name
  Jsii::Type.check_type(@database_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "databaseName") unless @database_name.nil?
  @region = region
  Jsii::Type.check_type(@region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "region") unless @region.nil?
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") unless @role_arn.nil?
  @table_name = table_name
  Jsii::Type.check_type(@table_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tableName") unless @table_name.nil?
  @version_id = version_id
  Jsii::Type.check_type(@version_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "versionId") unless @version_id.nil?
end

Instance Attribute Details

#catalog_idString? (readonly)

The ID of the AWS Glue Data Catalog.

If you don't supply this, the AWS account ID is used by default.



4289
4290
4291
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4289

def catalog_id
  @catalog_id
end

#database_nameString? (readonly)

Specifies the name of the AWS Glue database that contains the schema for the output data.

If the SchemaConfiguration request parameter is used as part of invoking the CreateDeliveryStream API, then the DatabaseName property is required and its value must be specified.



4296
4297
4298
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4296

def database_name
  @database_name
end

#regionString? (readonly)

If you don't specify an AWS Region, the default is the current Region.



4301
4302
4303
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4301

def region
  @region
end

#role_arnString? (readonly)

The role that Firehose can use to access AWS Glue.

This role must be in the same account you use for Firehose. Cross-account roles aren't allowed.

If the SchemaConfiguration request parameter is used as part of invoking the CreateDeliveryStream API, then the RoleARN property is required and its value must be specified.



4310
4311
4312
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4310

def role_arn
  @role_arn
end

#table_nameString? (readonly)

Specifies the AWS Glue table that contains the column information that constitutes your data schema.

If the SchemaConfiguration request parameter is used as part of invoking the CreateDeliveryStream API, then the TableName property is required and its value must be specified.



4317
4318
4319
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4317

def table_name
  @table_name
end

#version_idString? (readonly)

Specifies the table version for the output data schema.

If you don't specify this version ID, or if you set it to LATEST , Firehose uses the most recent version. This means that any updates to the table are automatically picked up.



4324
4325
4326
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4324

def version_id
  @version_id
end

Class Method Details

.jsii_propertiesObject



4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4326

def self.jsii_properties
  {
    :catalog_id => "catalogId",
    :database_name => "databaseName",
    :region => "region",
    :role_arn => "roleArn",
    :table_name => "tableName",
    :version_id => "versionId",
  }
end

Instance Method Details

#to_jsiiObject



4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4337

def to_jsii
  result = {}
  result.merge!({
    "catalogId" => @catalog_id,
    "databaseName" => @database_name,
    "region" => @region,
    "roleArn" => @role_arn,
    "tableName" => @table_name,
    "versionId" => @version_id,
  })
  result.compact
end