Class: AWSCDK::AppSync::BaseDataSource

Inherits:
Constructs::Construct
  • Object
show all
Defined in:
app_sync/base_data_source.rb

Overview

Abstract AppSync datasource implementation.

Do not use directly but use subclasses for concrete datasources

Direct Known Subclasses

BackedDataSource, NoneDataSource

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, id, props, extended) ⇒ BaseDataSource

Returns a new instance of BaseDataSource.

Parameters:



14
15
16
17
18
19
20
21
22
# File 'app_sync/base_data_source.rb', line 14

def initialize(scope, id, props, extended)
  props = props.is_a?(Hash) ? ::AWSCDK::AppSync::BackedDataSourceProps.new(**props.transform_keys(&:to_sym)) : props
  extended = extended.is_a?(Hash) ? ::AWSCDK::AppSync::ExtendedDataSourceProps.new(**extended.transform_keys(&:to_sym)) : extended
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwc3luYy5CYWNrZWREYXRhU291cmNlUHJvcHMifQ==")), "props")
  Jsii::Type.check_type(extended, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwc3luYy5FeHRlbmRlZERhdGFTb3VyY2VQcm9wcyJ9")), "extended")
  Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props, extended)
end

Class Method Details

.jsii_overridable_methodsObject



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'app_sync/base_data_source.rb', line 24

def self.jsii_overridable_methods
  {
    :node => { kind: :property, name: "node", is_optional: false },
    :ds => { kind: :property, name: "ds", is_optional: false },
    :name => { kind: :property, name: "name", is_optional: false },
    :api => { kind: :property, name: "api", is_optional: false },
    :service_role => { kind: :property, name: "serviceRole", is_optional: true },
    :to_string => { kind: :method, name: "toString", is_optional: false },
    :with => { kind: :method, name: "with", is_optional: false },
    :create_function => { kind: :method, name: "createFunction", is_optional: false },
    :create_resolver => { kind: :method, name: "createResolver", is_optional: false },
  }
end

Instance Method Details

#apiAWSCDK::AppSync::IGraphqlAPI

The API this data source is attached to Set the API this data source is attached to.



62
63
64
# File 'app_sync/base_data_source.rb', line 62

def api()
  jsii_get_property("api")
end

#api=(value) ⇒ Object



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

def api=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwc3luYy5JR3JhcGhxbEFwaSJ9")), "api")
  jsii_set_property("api", value)
end

#create_function(id, props) ⇒ AWSCDK::AppSync::AppsyncFunction

creates a new appsync function for this datasource and API using the given properties.



109
110
111
112
113
114
# File 'app_sync/base_data_source.rb', line 109

def create_function(id, props)
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  props = props.is_a?(Hash) ? ::AWSCDK::AppSync::BaseAppsyncFunctionProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwc3luYy5CYXNlQXBwc3luY0Z1bmN0aW9uUHJvcHMifQ==")), "props")
  jsii_call_method("createFunction", [id, props])
end

#create_resolver(id, props) ⇒ AWSCDK::AppSync::Resolver

creates a new resolver for this datasource and API using the given properties.

Parameters:

Returns:



121
122
123
124
125
126
# File 'app_sync/base_data_source.rb', line 121

def create_resolver(id, props)
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  props = props.is_a?(Hash) ? ::AWSCDK::AppSync::BaseResolverProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwc3luYy5CYXNlUmVzb2x2ZXJQcm9wcyJ9")), "props")
  jsii_call_method("createResolver", [id, props])
end

#dsAWSCDK::AppSync::CfnDataSource

the underlying CFN data source resource.



48
49
50
# File 'app_sync/base_data_source.rb', line 48

def ds()
  jsii_get_property("ds")
end

#nameString

the name of the data source.

Returns:

  • (String)


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

def name()
  jsii_get_property("name")
end

#nodeConstructs::Node

The tree node.

Returns:

  • (Constructs::Node)


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

def node()
  jsii_get_property("node")
end

#service_roleAWSCDK::IAM::IRole?

Returns:



72
73
74
# File 'app_sync/base_data_source.rb', line 72

def service_role()
  jsii_get_property("serviceRole")
end

#service_role=(value) ⇒ Object



76
77
78
79
# File 'app_sync/base_data_source.rb', line 76

def service_role=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "serviceRole") unless value.nil?
  jsii_set_property("serviceRole", value)
end

#to_stringString

Returns a string representation of this construct.

Returns:

  • (String)


84
85
86
# File 'app_sync/base_data_source.rb', line 84

def to_string()
  jsii_call_method("toString", [])
end

#with(*mixins) ⇒ Constructs::IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

Parameters:

  • mixins (Array<Constructs::IMixin>)

    The mixins to apply.

Returns:

  • (Constructs::IConstruct)

    This construct for chaining



97
98
99
100
101
102
# File 'app_sync/base_data_source.rb', line 97

def with(*mixins)
  mixins.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]")
  end
  jsii_call_method("with", [*mixins])
end