Class: AWSCDK::Glue::CfnSchemaProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
glue/cfn_schema_props.rb

Overview

Properties for defining a CfnSchema.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(compatibility:, data_format:, name:, checkpoint_version: nil, description: nil, registry: nil, schema_definition: nil, tags: nil) ⇒ CfnSchemaProps

Returns a new instance of CfnSchemaProps.

Parameters:

  • compatibility (String)

    The compatibility mode of the schema.

  • data_format (String)

    The data format of the schema definition.

  • name (String)

    Name of the schema to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark.

  • checkpoint_version (AWSCDK::IResolvable, AWSCDK::Glue::CfnSchema::SchemaVersionProperty, nil) (defaults to: nil)

    Specify the VersionNumber or the IsLatest for setting the checkpoint for the schema.

  • description (String, nil) (defaults to: nil)

    A description of the schema if specified when created.

  • registry (AWSCDK::IResolvable, AWSCDK::Glue::CfnSchema::RegistryProperty, nil) (defaults to: nil)

    The registry where a schema is stored.

  • schema_definition (String, nil) (defaults to: nil)

    The schema definition using the DataFormat setting for SchemaName .

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    AWS tags that contain a key value pair and may be searched by console, command line, or API.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'glue/cfn_schema_props.rb', line 17

def initialize(compatibility:, data_format:, name:, checkpoint_version: nil, description: nil, registry: nil, schema_definition: nil, tags: nil)
  @compatibility = compatibility
  Jsii::Type.check_type(@compatibility, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "compatibility")
  @data_format = data_format
  Jsii::Type.check_type(@data_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataFormat")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @checkpoint_version = checkpoint_version.is_a?(Hash) ? ::AWSCDK::Glue::CfnSchema::SchemaVersionProperty.new(**checkpoint_version.transform_keys(&:to_sym)) : checkpoint_version
  Jsii::Type.check_type(@checkpoint_version, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmblNjaGVtYS5TY2hlbWFWZXJzaW9uUHJvcGVydHkifV19fQ==")), "checkpointVersion") unless @checkpoint_version.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @registry = registry.is_a?(Hash) ? ::AWSCDK::Glue::CfnSchema::RegistryProperty.new(**registry.transform_keys(&:to_sym)) : registry
  Jsii::Type.check_type(@registry, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmblNjaGVtYS5SZWdpc3RyeVByb3BlcnR5In1dfX0=")), "registry") unless @registry.nil?
  @schema_definition = schema_definition
  Jsii::Type.check_type(@schema_definition, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "schemaDefinition") unless @schema_definition.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

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

Specify the VersionNumber or the IsLatest for setting the checkpoint for the schema.

This is only required for updating a checkpoint.



61
62
63
# File 'glue/cfn_schema_props.rb', line 61

def checkpoint_version
  @checkpoint_version
end

#compatibilityString (readonly)

The compatibility mode of the schema.



40
41
42
# File 'glue/cfn_schema_props.rb', line 40

def compatibility
  @compatibility
end

#data_formatString (readonly)

The data format of the schema definition.

Currently only AVRO is supported.



47
48
49
# File 'glue/cfn_schema_props.rb', line 47

def data_format
  @data_format
end

#descriptionString? (readonly)

A description of the schema if specified when created.



66
67
68
# File 'glue/cfn_schema_props.rb', line 66

def description
  @description
end

#nameString (readonly)

Name of the schema to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark.

No whitespace.



54
55
56
# File 'glue/cfn_schema_props.rb', line 54

def name
  @name
end

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

The registry where a schema is stored.



71
72
73
# File 'glue/cfn_schema_props.rb', line 71

def registry
  @registry
end

#schema_definitionString? (readonly)

The schema definition using the DataFormat setting for SchemaName .



76
77
78
# File 'glue/cfn_schema_props.rb', line 76

def schema_definition
  @schema_definition
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

AWS tags that contain a key value pair and may be searched by console, command line, or API.



81
82
83
# File 'glue/cfn_schema_props.rb', line 81

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



83
84
85
86
87
88
89
90
91
92
93
94
# File 'glue/cfn_schema_props.rb', line 83

def self.jsii_properties
  {
    :compatibility => "compatibility",
    :data_format => "dataFormat",
    :name => "name",
    :checkpoint_version => "checkpointVersion",
    :description => "description",
    :registry => "registry",
    :schema_definition => "schemaDefinition",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'glue/cfn_schema_props.rb', line 96

def to_jsii
  result = {}
  result.merge!({
    "compatibility" => @compatibility,
    "dataFormat" => @data_format,
    "name" => @name,
    "checkpointVersion" => @checkpoint_version,
    "description" => @description,
    "registry" => @registry,
    "schemaDefinition" => @schema_definition,
    "tags" => @tags,
  })
  result.compact
end