Class: AWSCDK::APIGateway::APIDefinitionConfig

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
api_gateway/api_definition_config.rb

Overview

Post-Binding Configuration for a CDK construct.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(inline_definition: nil, s3_location: nil) ⇒ APIDefinitionConfig

Returns a new instance of APIDefinitionConfig.

Parameters:

  • inline_definition (Object, nil) (defaults to: nil)

    Inline specification (mutually exclusive with s3Location).

  • s3_location (AWSCDK::APIGateway::APIDefinitionS3Location, nil) (defaults to: nil)

    The location of the specification in S3 (mutually exclusive with inlineDefinition).



9
10
11
12
13
14
# File 'api_gateway/api_definition_config.rb', line 9

def initialize(inline_definition: nil, s3_location: nil)
  @inline_definition = inline_definition
  Jsii::Type.check_type(@inline_definition, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "inlineDefinition") unless @inline_definition.nil?
  @s3_location = s3_location.is_a?(Hash) ? ::AWSCDK::APIGateway::APIDefinitionS3Location.new(**s3_location.transform_keys(&:to_sym)) : s3_location
  Jsii::Type.check_type(@s3_location, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheS5BcGlEZWZpbml0aW9uUzNMb2NhdGlvbiJ9")), "s3Location") unless @s3_location.nil?
end

Instance Attribute Details

#inline_definitionObject? (readonly)

Note:

Default: - API definition is not defined inline

Inline specification (mutually exclusive with s3Location).

Returns:

  • (Object, nil)


20
21
22
# File 'api_gateway/api_definition_config.rb', line 20

def inline_definition
  @inline_definition
end

#s3_locationAWSCDK::APIGateway::APIDefinitionS3Location? (readonly)

Note:

Default: - API definition is not an S3 location

The location of the specification in S3 (mutually exclusive with inlineDefinition).



25
26
27
# File 'api_gateway/api_definition_config.rb', line 25

def s3_location
  @s3_location
end

Class Method Details

.jsii_propertiesObject



27
28
29
30
31
32
# File 'api_gateway/api_definition_config.rb', line 27

def self.jsii_properties
  {
    :inline_definition => "inlineDefinition",
    :s3_location => "s3Location",
  }
end

Instance Method Details

#to_jsiiObject



34
35
36
37
38
39
40
41
# File 'api_gateway/api_definition_config.rb', line 34

def to_jsii
  result = {}
  result.merge!({
    "inlineDefinition" => @inline_definition,
    "s3Location" => @s3_location,
  })
  result.compact
end