Class: AWSCDK::AppSync::AppSyncExtendedDataSourceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
app_sync/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, event_bridge_config: nil, http_config: nil, lambda_config: nil, open_search_service_config: nil, relational_database_config: nil) ⇒ AppSyncExtendedDataSourceProps

Returns a new instance of AppSyncExtendedDataSourceProps.

Parameters:



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

def initialize(type:, dynamo_db_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("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwc3luYy5BcHBTeW5jRGF0YVNvdXJjZVR5cGUifQ==")), "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?
  @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.



41
42
43
# File 'app_sync/app_sync_extended_data_source_props.rb', line 41

def dynamo_db_config
  @dynamo_db_config
end

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

Note:

Default: - No config

Configuration for EventBridge Datasource.



46
47
48
# File 'app_sync/app_sync_extended_data_source_props.rb', line 46

def event_bridge_config
  @event_bridge_config
end

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

Note:

Default: - No config

Configuration for HTTP Datasource.



51
52
53
# File 'app_sync/app_sync_extended_data_source_props.rb', line 51

def http_config
  @http_config
end

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

Note:

Default: - No config

Configuration for Lambda Datasource.



56
57
58
# File 'app_sync/app_sync_extended_data_source_props.rb', line 56

def lambda_config
  @lambda_config
end

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

Note:

Default: - No config

Configuration for OpenSearch data source.



61
62
63
# File 'app_sync/app_sync_extended_data_source_props.rb', line 61

def open_search_service_config
  @open_search_service_config
end

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

Note:

Default: - No config

Configuration for RDS Datasource.



66
67
68
# File 'app_sync/app_sync_extended_data_source_props.rb', line 66

def relational_database_config
  @relational_database_config
end

#typeAWSCDK::AppSync::AppSyncDataSourceType (readonly)

The type of the AppSync datasource.



36
37
38
# File 'app_sync/app_sync_extended_data_source_props.rb', line 36

def type
  @type
end

Class Method Details

.jsii_propertiesObject



68
69
70
71
72
73
74
75
76
77
78
# File 'app_sync/app_sync_extended_data_source_props.rb', line 68

def self.jsii_properties
  {
    :type => "type",
    :dynamo_db_config => "dynamoDbConfig",
    :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



80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'app_sync/app_sync_extended_data_source_props.rb', line 80

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