Class: AWSCDK::AppSync::CfnDataSourceProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::AppSync::CfnDataSourceProps
- Defined in:
- app_sync/cfn_data_source_props.rb
Overview
Properties for defining a CfnDataSource.
Instance Attribute Summary collapse
-
#api_id ⇒ String
readonly
Unique AWS AppSync GraphQL API identifier where this data source will be created.
-
#description ⇒ String?
readonly
The description of the data source.
-
#dynamo_db_config ⇒ AWSCDK::IResolvable, ...
readonly
AWS Region and TableName for an Amazon DynamoDB table in your account.
-
#elasticsearch_config ⇒ AWSCDK::IResolvable, ...
readonly
deprecated
Deprecated.
this property has been deprecated
-
#event_bridge_config ⇒ AWSCDK::IResolvable, ...
readonly
An EventBridge configuration that contains a valid ARN of an event bus.
-
#http_config ⇒ AWSCDK::IResolvable, ...
readonly
Endpoints for an HTTP data source.
-
#lambda_config ⇒ AWSCDK::IResolvable, ...
readonly
An ARN of a Lambda function in valid ARN format.
-
#metrics_config ⇒ String?
readonly
Enables or disables enhanced data source metrics for specified data sources.
-
#name ⇒ String
readonly
Friendly name for you to identify your AppSync data source after creation.
-
#open_search_service_config ⇒ AWSCDK::IResolvable, ...
readonly
AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.
-
#relational_database_config ⇒ AWSCDK::IResolvable, ...
readonly
Relational Database configuration of the relational database data source.
-
#service_role_arn ⇒ String, ...
readonly
The AWS Identity and Access Management service role ARN for the data source.
-
#type ⇒ String
readonly
The type of the data source.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(api_id:, name:, type:, description: nil, dynamo_db_config: nil, elasticsearch_config: nil, event_bridge_config: nil, http_config: nil, lambda_config: nil, metrics_config: nil, open_search_service_config: nil, relational_database_config: nil, service_role_arn: nil) ⇒ CfnDataSourceProps
constructor
A new instance of CfnDataSourceProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(api_id:, name:, type:, description: nil, dynamo_db_config: nil, elasticsearch_config: nil, event_bridge_config: nil, http_config: nil, lambda_config: nil, metrics_config: nil, open_search_service_config: nil, relational_database_config: nil, service_role_arn: nil) ⇒ CfnDataSourceProps
Returns a new instance of CfnDataSourceProps.
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 'app_sync/cfn_data_source_props.rb', line 22 def initialize(api_id:, name:, type:, description: nil, dynamo_db_config: nil, elasticsearch_config: nil, event_bridge_config: nil, http_config: nil, lambda_config: nil, metrics_config: nil, open_search_service_config: nil, relational_database_config: nil, service_role_arn: nil) @api_id = api_id Jsii::Type.check_type(@api_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "apiId") @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @type = type Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @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? @metrics_config = metrics_config Jsii::Type.check_type(@metrics_config, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "metricsConfig") unless @metrics_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? @service_role_arn = service_role_arn Jsii::Type.check_type(@service_role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "serviceRoleArn") unless @service_role_arn.nil? end |
Instance Attribute Details
#api_id ⇒ String (readonly)
Unique AWS AppSync GraphQL API identifier where this data source will be created.
55 56 57 |
# File 'app_sync/cfn_data_source_props.rb', line 55 def api_id @api_id end |
#description ⇒ String? (readonly)
The description of the data source.
80 81 82 |
# File 'app_sync/cfn_data_source_props.rb', line 80 def description @description end |
#dynamo_db_config ⇒ AWSCDK::IResolvable, ... (readonly)
AWS Region and TableName for an Amazon DynamoDB table in your account.
85 86 87 |
# File 'app_sync/cfn_data_source_props.rb', line 85 def dynamo_db_config @dynamo_db_config end |
#elasticsearch_config ⇒ AWSCDK::IResolvable, ... (readonly)
this property has been deprecated
89 90 91 |
# File 'app_sync/cfn_data_source_props.rb', line 89 def elasticsearch_config @elasticsearch_config end |
#event_bridge_config ⇒ AWSCDK::IResolvable, ... (readonly)
An EventBridge configuration that contains a valid ARN of an event bus.
94 95 96 |
# File 'app_sync/cfn_data_source_props.rb', line 94 def event_bridge_config @event_bridge_config end |
#http_config ⇒ AWSCDK::IResolvable, ... (readonly)
Endpoints for an HTTP data source.
99 100 101 |
# File 'app_sync/cfn_data_source_props.rb', line 99 def http_config @http_config end |
#lambda_config ⇒ AWSCDK::IResolvable, ... (readonly)
An ARN of a Lambda function in valid ARN format.
This can be the ARN of a Lambda function that exists in the current account or in another account.
106 107 108 |
# File 'app_sync/cfn_data_source_props.rb', line 106 def lambda_config @lambda_config end |
#metrics_config ⇒ String? (readonly)
Enables or disables enhanced data source metrics for specified data sources.
Note that MetricsConfig won't be used unless the data_source_level_metrics_behavior value is set to PER_DATA_SOURCE_METRICS . If the data_source_level_metrics_behavior is set to FULL_REQUEST_DATA_SOURCE_METRICS instead, MetricsConfig will be ignored. However, you can still set its value.
MetricsConfig can be ENABLED or DISABLED .
115 116 117 |
# File 'app_sync/cfn_data_source_props.rb', line 115 def metrics_config @metrics_config end |
#name ⇒ String (readonly)
Friendly name for you to identify your AppSync data source after creation.
60 61 62 |
# File 'app_sync/cfn_data_source_props.rb', line 60 def name @name end |
#open_search_service_config ⇒ AWSCDK::IResolvable, ... (readonly)
AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.
120 121 122 |
# File 'app_sync/cfn_data_source_props.rb', line 120 def open_search_service_config @open_search_service_config end |
#relational_database_config ⇒ AWSCDK::IResolvable, ... (readonly)
Relational Database configuration of the relational database data source.
125 126 127 |
# File 'app_sync/cfn_data_source_props.rb', line 125 def relational_database_config @relational_database_config end |
#service_role_arn ⇒ String, ... (readonly)
The AWS Identity and Access Management service role ARN for the data source.
The system assumes this role when accessing the data source.
Required if Type is specified as AWS_LAMBDA , AMAZON_DYNAMODB , AMAZON_ELASTICSEARCH , AMAZON_EVENTBRIDGE , AMAZON_OPENSEARCH_SERVICE , RELATIONAL_DATABASE , or AMAZON_BEDROCK_RUNTIME .
134 135 136 |
# File 'app_sync/cfn_data_source_props.rb', line 134 def service_role_arn @service_role_arn end |
#type ⇒ String (readonly)
The type of the data source.
- AWS_LAMBDA : The data source is an AWS Lambda function.
- AMAZON_DYNAMODB : The data source is an Amazon DynamoDB table.
- AMAZON_ELASTICSEARCH : The data source is an Amazon OpenSearch Service domain.
- AMAZON_EVENTBRIDGE : The data source is an Amazon EventBridge event bus.
- AMAZON_OPENSEARCH_SERVICE : The data source is an Amazon OpenSearch Service domain.
- AMAZON_BEDROCK_RUNTIME : The data source is the Amazon Bedrock runtime.
- NONE : There is no data source. This type is used when you wish to invoke a GraphQL operation without connecting to a data source, such as performing data transformation with resolvers or triggering a subscription to be invoked from a mutation.
- HTTP : The data source is an HTTP endpoint.
- RELATIONAL_DATABASE : The data source is a relational database.
75 76 77 |
# File 'app_sync/cfn_data_source_props.rb', line 75 def type @type end |
Class Method Details
.jsii_properties ⇒ Object
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
# File 'app_sync/cfn_data_source_props.rb', line 136 def self.jsii_properties { :api_id => "apiId", :name => "name", :type => "type", :description => "description", :dynamo_db_config => "dynamoDbConfig", :elasticsearch_config => "elasticsearchConfig", :event_bridge_config => "eventBridgeConfig", :http_config => "httpConfig", :lambda_config => "lambdaConfig", :metrics_config => "metricsConfig", :open_search_service_config => "openSearchServiceConfig", :relational_database_config => "relationalDatabaseConfig", :service_role_arn => "serviceRoleArn", } end |
Instance Method Details
#to_jsii ⇒ Object
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'app_sync/cfn_data_source_props.rb', line 154 def to_jsii result = {} result.merge!({ "apiId" => @api_id, "name" => @name, "type" => @type, "description" => @description, "dynamoDbConfig" => @dynamo_db_config, "elasticsearchConfig" => @elasticsearch_config, "eventBridgeConfig" => @event_bridge_config, "httpConfig" => @http_config, "lambdaConfig" => @lambda_config, "metricsConfig" => @metrics_config, "openSearchServiceConfig" => @open_search_service_config, "relationalDatabaseConfig" => @relational_database_config, "serviceRoleArn" => @service_role_arn, }) result.compact end |