Class: AWSCDK::AppSync::ExtendedDataSourceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
app_sync/extended_data_source_props.rb

Overview

props used by implementations of BaseDataSource to provide configuration.

Should not be used directly.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, dynamo_db_config: nil, elasticsearch_config: nil, event_bridge_config: nil, http_config: nil, lambda_config: nil, open_search_service_config: nil, relational_database_config: nil) ⇒ ExtendedDataSourceProps

Returns a new instance of ExtendedDataSourceProps.

Parameters:



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app_sync/extended_data_source_props.rb', line 17

def initialize(type:, dynamo_db_config: nil, elasticsearch_config: nil, event_bridge_config: nil, http_config: nil, lambda_config: nil, open_search_service_config: nil, relational_database_config: nil)
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @dynamo_db_config = dynamo_db_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnDataSource::DynamoDBConfigProperty.new(**dynamo_db_config.transform_keys(&:to_sym)) : dynamo_db_config
  Jsii::Type.check_type(@dynamo_db_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkRhdGFTb3VyY2UuRHluYW1vREJDb25maWdQcm9wZXJ0eSJ9XX19")), "dynamoDbConfig") unless @dynamo_db_config.nil?
  @elasticsearch_config = elasticsearch_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnDataSource::ElasticsearchConfigProperty.new(**elasticsearch_config.transform_keys(&:to_sym)) : elasticsearch_config
  Jsii::Type.check_type(@elasticsearch_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkRhdGFTb3VyY2UuRWxhc3RpY3NlYXJjaENvbmZpZ1Byb3BlcnR5In1dfX0=")), "elasticsearchConfig") unless @elasticsearch_config.nil?
  @event_bridge_config = event_bridge_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnDataSource::EventBridgeConfigProperty.new(**event_bridge_config.transform_keys(&:to_sym)) : event_bridge_config
  Jsii::Type.check_type(@event_bridge_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkRhdGFTb3VyY2UuRXZlbnRCcmlkZ2VDb25maWdQcm9wZXJ0eSJ9XX19")), "eventBridgeConfig") unless @event_bridge_config.nil?
  @http_config = http_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnDataSource::HttpConfigProperty.new(**http_config.transform_keys(&:to_sym)) : http_config
  Jsii::Type.check_type(@http_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkRhdGFTb3VyY2UuSHR0cENvbmZpZ1Byb3BlcnR5In1dfX0=")), "httpConfig") unless @http_config.nil?
  @lambda_config = lambda_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnDataSource::LambdaConfigProperty.new(**lambda_config.transform_keys(&:to_sym)) : lambda_config
  Jsii::Type.check_type(@lambda_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkRhdGFTb3VyY2UuTGFtYmRhQ29uZmlnUHJvcGVydHkifV19fQ==")), "lambdaConfig") unless @lambda_config.nil?
  @open_search_service_config = open_search_service_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnDataSource::OpenSearchServiceConfigProperty.new(**open_search_service_config.transform_keys(&:to_sym)) : open_search_service_config
  Jsii::Type.check_type(@open_search_service_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkRhdGFTb3VyY2UuT3BlblNlYXJjaFNlcnZpY2VDb25maWdQcm9wZXJ0eSJ9XX19")), "openSearchServiceConfig") unless @open_search_service_config.nil?
  @relational_database_config = relational_database_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnDataSource::RelationalDatabaseConfigProperty.new(**relational_database_config.transform_keys(&:to_sym)) : relational_database_config
  Jsii::Type.check_type(@relational_database_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkRhdGFTb3VyY2UuUmVsYXRpb25hbERhdGFiYXNlQ29uZmlnUHJvcGVydHkifV19fQ==")), "relationalDatabaseConfig") unless @relational_database_config.nil?
end

Instance Attribute Details

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

Note:

Default: - No config

configuration for DynamoDB Datasource.



44
45
46
# File 'app_sync/extended_data_source_props.rb', line 44

def dynamo_db_config
  @dynamo_db_config
end

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

Deprecated.
  • use openSearchConfig
Note:

Default: - No config

configuration for Elasticsearch data source.



50
51
52
# File 'app_sync/extended_data_source_props.rb', line 50

def elasticsearch_config
  @elasticsearch_config
end

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

Note:

Default: - No config

configuration for EventBridge Datasource.



55
56
57
# File 'app_sync/extended_data_source_props.rb', line 55

def event_bridge_config
  @event_bridge_config
end

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

Note:

Default: - No config

configuration for HTTP Datasource.



60
61
62
# File 'app_sync/extended_data_source_props.rb', line 60

def http_config
  @http_config
end

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

Note:

Default: - No config

configuration for Lambda Datasource.



65
66
67
# File 'app_sync/extended_data_source_props.rb', line 65

def lambda_config
  @lambda_config
end

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

Note:

Default: - No config

configuration for OpenSearch data source.



70
71
72
# File 'app_sync/extended_data_source_props.rb', line 70

def open_search_service_config
  @open_search_service_config
end

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

Note:

Default: - No config

configuration for RDS Datasource.



75
76
77
# File 'app_sync/extended_data_source_props.rb', line 75

def relational_database_config
  @relational_database_config
end

#typeString (readonly)

the type of the AppSync datasource.

Returns:

  • (String)


39
40
41
# File 'app_sync/extended_data_source_props.rb', line 39

def type
  @type
end

Class Method Details

.jsii_propertiesObject



77
78
79
80
81
82
83
84
85
86
87
88
# File 'app_sync/extended_data_source_props.rb', line 77

def self.jsii_properties
  {
    :type => "type",
    :dynamo_db_config => "dynamoDbConfig",
    :elasticsearch_config => "elasticsearchConfig",
    :event_bridge_config => "eventBridgeConfig",
    :http_config => "httpConfig",
    :lambda_config => "lambdaConfig",
    :open_search_service_config => "openSearchServiceConfig",
    :relational_database_config => "relationalDatabaseConfig",
  }
end

Instance Method Details

#to_jsiiObject



90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'app_sync/extended_data_source_props.rb', line 90

def to_jsii
  result = {}
  result.merge!({
    "type" => @type,
    "dynamoDbConfig" => @dynamo_db_config,
    "elasticsearchConfig" => @elasticsearch_config,
    "eventBridgeConfig" => @event_bridge_config,
    "httpConfig" => @http_config,
    "lambdaConfig" => @lambda_config,
    "openSearchServiceConfig" => @open_search_service_config,
    "relationalDatabaseConfig" => @relational_database_config,
  })
  result.compact
end