Class: AWSCDK::DataZone::CfnDataSourceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
data_zone/cfn_data_source_props.rb

Overview

Properties for defining a CfnDataSource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(domain_identifier:, name:, project_identifier:, type:, asset_forms_input: nil, configuration: nil, connection_identifier: nil, description: nil, enable_setting: nil, environment_identifier: nil, publish_on_import: nil, recommendation: nil, schedule: nil) ⇒ CfnDataSourceProps

Returns a new instance of CfnDataSourceProps.

Parameters:

  • domain_identifier (String)

    The ID of the Amazon DataZone domain where the data source is created.

  • name (String)

    The name of the data source.

  • project_identifier (String)

    The identifier of the Amazon DataZone project in which you want to add this data source.

  • type (String)

    The type of the data source.

  • asset_forms_input (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::DataZone::CfnDataSource::FormInputProperty>, nil) (defaults to: nil)

    The metadata forms attached to the assets that the data source works with.

  • configuration (AWSCDK::IResolvable, AWSCDK::DataZone::CfnDataSource::DataSourceConfigurationInputProperty, nil) (defaults to: nil)

    The configuration of the data source.

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

    The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run.

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

    The description of the data source.

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

    Specifies whether the data source is enabled.

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

    The unique identifier of the Amazon DataZone environment to which the data source publishes assets.

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

    Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.

  • recommendation (AWSCDK::IResolvable, AWSCDK::DataZone::CfnDataSource::RecommendationConfigurationProperty, nil) (defaults to: nil)

    Specifies whether the business name generation is to be enabled for this data source.

  • schedule (AWSCDK::IResolvable, AWSCDK::DataZone::CfnDataSource::ScheduleConfigurationProperty, nil) (defaults to: nil)

    The schedule of the data source runs.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'data_zone/cfn_data_source_props.rb', line 22

def initialize(domain_identifier:, name:, project_identifier:, type:, asset_forms_input: nil, configuration: nil, connection_identifier: nil, description: nil, enable_setting: nil, environment_identifier: nil, publish_on_import: nil, recommendation: nil, schedule: nil)
  @domain_identifier = domain_identifier
  Jsii::Type.check_type(@domain_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainIdentifier")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @project_identifier = project_identifier
  Jsii::Type.check_type(@project_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "projectIdentifier")
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @asset_forms_input = asset_forms_input
  Jsii::Type.check_type(@asset_forms_input, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGF0YXpvbmUuQ2ZuRGF0YVNvdXJjZS5Gb3JtSW5wdXRQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "assetFormsInput") unless @asset_forms_input.nil?
  @configuration = configuration.is_a?(Hash) ? ::AWSCDK::DataZone::CfnDataSource::DataSourceConfigurationInputProperty.new(**configuration.transform_keys(&:to_sym)) : configuration
  Jsii::Type.check_type(@configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhem9uZS5DZm5EYXRhU291cmNlLkRhdGFTb3VyY2VDb25maWd1cmF0aW9uSW5wdXRQcm9wZXJ0eSJ9XX19")), "configuration") unless @configuration.nil?
  @connection_identifier = connection_identifier
  Jsii::Type.check_type(@connection_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "connectionIdentifier") unless @connection_identifier.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @enable_setting = enable_setting
  Jsii::Type.check_type(@enable_setting, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "enableSetting") unless @enable_setting.nil?
  @environment_identifier = environment_identifier
  Jsii::Type.check_type(@environment_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "environmentIdentifier") unless @environment_identifier.nil?
  @publish_on_import = publish_on_import
  Jsii::Type.check_type(@publish_on_import, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publishOnImport") unless @publish_on_import.nil?
  @recommendation = recommendation.is_a?(Hash) ? ::AWSCDK::DataZone::CfnDataSource::RecommendationConfigurationProperty.new(**recommendation.transform_keys(&:to_sym)) : recommendation
  Jsii::Type.check_type(@recommendation, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhem9uZS5DZm5EYXRhU291cmNlLlJlY29tbWVuZGF0aW9uQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "recommendation") unless @recommendation.nil?
  @schedule = schedule.is_a?(Hash) ? ::AWSCDK::DataZone::CfnDataSource::ScheduleConfigurationProperty.new(**schedule.transform_keys(&:to_sym)) : schedule
  Jsii::Type.check_type(@schedule, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhem9uZS5DZm5EYXRhU291cmNlLlNjaGVkdWxlQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "schedule") unless @schedule.nil?
end

Instance Attribute Details

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

The metadata forms attached to the assets that the data source works with.



77
78
79
# File 'data_zone/cfn_data_source_props.rb', line 77

def asset_forms_input
  @asset_forms_input
end

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

The configuration of the data source.



82
83
84
# File 'data_zone/cfn_data_source_props.rb', line 82

def configuration
  @configuration
end

#connection_identifierString? (readonly)

The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run.



87
88
89
# File 'data_zone/cfn_data_source_props.rb', line 87

def connection_identifier
  @connection_identifier
end

#descriptionString? (readonly)

The description of the data source.



92
93
94
# File 'data_zone/cfn_data_source_props.rb', line 92

def description
  @description
end

#domain_identifierString (readonly)

The ID of the Amazon DataZone domain where the data source is created.



55
56
57
# File 'data_zone/cfn_data_source_props.rb', line 55

def domain_identifier
  @domain_identifier
end

#enable_settingString? (readonly)

Specifies whether the data source is enabled.



97
98
99
# File 'data_zone/cfn_data_source_props.rb', line 97

def enable_setting
  @enable_setting
end

#environment_identifierString? (readonly)

The unique identifier of the Amazon DataZone environment to which the data source publishes assets.



102
103
104
# File 'data_zone/cfn_data_source_props.rb', line 102

def environment_identifier
  @environment_identifier
end

#nameString (readonly)

The name of the data source.



60
61
62
# File 'data_zone/cfn_data_source_props.rb', line 60

def name
  @name
end

#project_identifierString (readonly)

The identifier of the Amazon DataZone project in which you want to add this data source.



65
66
67
# File 'data_zone/cfn_data_source_props.rb', line 65

def project_identifier
  @project_identifier
end

#publish_on_importBoolean, ... (readonly)

Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.



107
108
109
# File 'data_zone/cfn_data_source_props.rb', line 107

def publish_on_import
  @publish_on_import
end

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

Specifies whether the business name generation is to be enabled for this data source.



112
113
114
# File 'data_zone/cfn_data_source_props.rb', line 112

def recommendation
  @recommendation
end

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

The schedule of the data source runs.



117
118
119
# File 'data_zone/cfn_data_source_props.rb', line 117

def schedule
  @schedule
end

#typeString (readonly)

The type of the data source.

In Amazon DataZone, you can use data sources to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. In the current release of Amazon DataZone, you can create and run data sources for AWS Glue and Amazon Redshift.



72
73
74
# File 'data_zone/cfn_data_source_props.rb', line 72

def type
  @type
end

Class Method Details

.jsii_propertiesObject



119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# File 'data_zone/cfn_data_source_props.rb', line 119

def self.jsii_properties
  {
    :domain_identifier => "domainIdentifier",
    :name => "name",
    :project_identifier => "projectIdentifier",
    :type => "type",
    :asset_forms_input => "assetFormsInput",
    :configuration => "configuration",
    :connection_identifier => "connectionIdentifier",
    :description => "description",
    :enable_setting => "enableSetting",
    :environment_identifier => "environmentIdentifier",
    :publish_on_import => "publishOnImport",
    :recommendation => "recommendation",
    :schedule => "schedule",
  }
end

Instance Method Details

#to_jsiiObject



137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'data_zone/cfn_data_source_props.rb', line 137

def to_jsii
  result = {}
  result.merge!({
    "domainIdentifier" => @domain_identifier,
    "name" => @name,
    "projectIdentifier" => @project_identifier,
    "type" => @type,
    "assetFormsInput" => @asset_forms_input,
    "configuration" => @configuration,
    "connectionIdentifier" => @connection_identifier,
    "description" => @description,
    "enableSetting" => @enable_setting,
    "environmentIdentifier" => @environment_identifier,
    "publishOnImport" => @publish_on_import,
    "recommendation" => @recommendation,
    "schedule" => @schedule,
  })
  result.compact
end