class Aws::Glue::Types::CreateSchemaInput

@note When making an API call, you may pass CreateSchemaInput

data as a hash:

    {
      registry_id: {
        registry_name: "SchemaRegistryNameString",
        registry_arn: "GlueResourceArn",
      },
      schema_name: "SchemaRegistryNameString", # required
      data_format: "AVRO", # required, accepts AVRO, JSON
      compatibility: "NONE", # accepts NONE, DISABLED, BACKWARD, BACKWARD_ALL, FORWARD, FORWARD_ALL, FULL, FULL_ALL
      description: "DescriptionString",
      tags: {
        "TagKey" => "TagValue",
      },
      schema_definition: "SchemaDefinitionString",
    }

@!attribute [rw] registry_id

This is a wrapper shape to contain the registry identity fields. If
this is not provided, the default registry will be used. The ARN
format for the same will be: `arn:aws:glue:us-east-2:<customer
id>:registry/default-registry:random-5-letter-id`.
@return [Types::RegistryId]

@!attribute [rw] schema_name

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.
@return [String]

@!attribute [rw] data_format

The data format of the schema definition. Currently `AVRO` and
`JSON` are supported.
@return [String]

@!attribute [rw] compatibility

The compatibility mode of the schema. The possible values are:

* *NONE*\: No compatibility mode applies. You can use this choice in
  development scenarios or if you do not know the compatibility mode
  that you want to apply to schemas. Any new version added will be
  accepted without undergoing a compatibility check.

* *DISABLED*\: This compatibility choice prevents versioning for a
  particular schema. You can use this choice to prevent future
  versioning of a schema.

* *BACKWARD*\: This compatibility choice is recommended as it allows
  data receivers to read both the current and one previous schema
  version. This means that for instance, a new schema version cannot
  drop data fields or change the type of these fields, so they
  can't be read by readers using the previous version.

* *BACKWARD\_ALL*\: This compatibility choice allows data receivers
  to read both the current and all previous schema versions. You can
  use this choice when you need to delete fields or add optional
  fields, and check compatibility against all previous schema
  versions.

* *FORWARD*\: This compatibility choice allows data receivers to
  read both the current and one next schema version, but not
  necessarily later versions. You can use this choice when you need
  to add fields or delete optional fields, but only check
  compatibility against the last schema version.

* *FORWARD\_ALL*\: This compatibility choice allows data receivers
  to read written by producers of any new registered schema. You can
  use this choice when you need to add fields or delete optional
  fields, and check compatibility against all previous schema
  versions.

* *FULL*\: This compatibility choice allows data receivers to read
  data written by producers using the previous or next version of
  the schema, but not necessarily earlier or later versions. You can
  use this choice when you need to add or remove optional fields,
  but only check compatibility against the last schema version.

* *FULL\_ALL*\: This compatibility choice allows data receivers to
  read data written by producers using all previous schema versions.
  You can use this choice when you need to add or remove optional
  fields, and check compatibility against all previous schema
  versions.
@return [String]

@!attribute [rw] description

An optional description of the schema. If description is not
provided, there will not be any automatic default value for this.
@return [String]

@!attribute [rw] tags

Amazon Web Services tags that contain a key value pair and may be
searched by console, command line, or API. If specified, follows the
Amazon Web Services tags-on-create pattern.
@return [Hash<String,String>]

@!attribute [rw] schema_definition

The schema definition using the `DataFormat` setting for
`SchemaName`.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateSchemaInput AWS API Documentation

Constants

SENSITIVE