Class: AWSCDK::AppSync::SchemaFile

Inherits:
Jsii::Object
  • Object
show all
Includes:
ISchema
Defined in:
app_sync/schema_file.rb

Overview

The Schema for a GraphQL Api.

If no options are configured, schema will be generated code-first.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ SchemaFile

Returns a new instance of SchemaFile.

Parameters:



13
14
15
16
17
# File 'app_sync/schema_file.rb', line 13

def initialize(options)
  options = options.is_a?(Hash) ? ::AWSCDK::AppSync::SchemaProps.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwc3luYy5TY2hlbWFQcm9wcyJ9")), "options")
  Jsii::Object.instance_method(:initialize).bind(self).call(options)
end

Class Method Details

.from_asset(file_path) ⇒ AWSCDK::AppSync::SchemaFile

Generate a Schema from file.

Parameters:

  • file_path (String)

    the file path of the schema file.

Returns:

  • (AWSCDK::AppSync::SchemaFile)

    SchemaAsset with immutable schema definition



30
31
32
33
# File 'app_sync/schema_file.rb', line 30

def self.from_asset(file_path)
  Jsii::Type.check_type(file_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "filePath")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_appsync.SchemaFile", "fromAsset", [file_path])
end

.jsii_overridable_methodsObject



19
20
21
22
23
24
# File 'app_sync/schema_file.rb', line 19

def self.jsii_overridable_methods
  {
    :definition => { kind: :property, name: "definition", is_optional: false },
    :bind => { kind: :method, name: "bind", is_optional: false },
  }
end

Instance Method Details

#bind(api, _options = nil) ⇒ AWSCDK::AppSync::ISchemaConfig

Called when the GraphQL Api is initialized to allow this object to bind to the stack.

Parameters:

Returns:



52
53
54
55
56
57
# File 'app_sync/schema_file.rb', line 52

def bind(api, _options = nil)
  Jsii::Type.check_type(api, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19hcHBzeW5jLklHcmFwaFFMQXBpUmVmIn0=")), "api")
  _options = _options.is_a?(Hash) ? ::AWSCDK::AppSync::SchemaBindOptions.new(**_options.transform_keys(&:to_sym)) : _options
  Jsii::Type.check_type(_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwc3luYy5TY2hlbWFCaW5kT3B0aW9ucyJ9")), "_options") unless _options.nil?
  jsii_call_method("bind", [api, _options])
end

#definitionString

The definition for this schema.

Returns:

  • (String)


38
39
40
# File 'app_sync/schema_file.rb', line 38

def definition()
  jsii_get_property("definition")
end

#definition=(value) ⇒ Object



42
43
44
45
# File 'app_sync/schema_file.rb', line 42

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