Class: AWSCDK::Glue::CfnSchemaProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Glue::CfnSchemaProps
- Defined in:
- glue/cfn_schema_props.rb
Overview
Properties for defining a CfnSchema.
Instance Attribute Summary collapse
-
#checkpoint_version ⇒ AWSCDK::IResolvable, ...
readonly
Specify the
VersionNumberor theIsLatestfor setting the checkpoint for the schema. -
#compatibility ⇒ String
readonly
The compatibility mode of the schema.
-
#data_format ⇒ String
readonly
The data format of the schema definition.
-
#description ⇒ String?
readonly
A description of the schema if specified when created.
-
#name ⇒ String
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.
-
#registry ⇒ AWSCDK::IResolvable, ...
readonly
The registry where a schema is stored.
-
#schema_definition ⇒ String?
readonly
The schema definition using the
DataFormatsetting forSchemaName. -
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
AWS tags that contain a key value pair and may be searched by console, command line, or API.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(compatibility:, data_format:, name:, checkpoint_version: nil, description: nil, registry: nil, schema_definition: nil, tags: nil) ⇒ CfnSchemaProps
constructor
A new instance of CfnSchemaProps.
- #to_jsii ⇒ Object
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.
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 = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#checkpoint_version ⇒ AWSCDK::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 |
#compatibility ⇒ String (readonly)
The compatibility mode of the schema.
40 41 42 |
# File 'glue/cfn_schema_props.rb', line 40 def compatibility @compatibility end |
#data_format ⇒ String (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 |
#description ⇒ String? (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 |
#name ⇒ String (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 |
#registry ⇒ AWSCDK::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_definition ⇒ String? (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 |
#tags ⇒ Array<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 end |
Class Method Details
.jsii_properties ⇒ Object
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_jsii ⇒ Object
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 |