/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.glue.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateSchemaRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* 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. *

*/ private RegistryId registryId; /** *

* 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. *

*/ private String schemaName; /** *

* The data format of the schema definition. Currently AVRO, JSON and * PROTOBUF are supported. *

*/ private String dataFormat; /** *

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

* */ private String compatibility; /** *

* An optional description of the schema. If description is not provided, there will not be any automatic default * value for this. *

*/ private String description; /** *

* 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. *

*/ private java.util.Map tags; /** *

* The schema definition using the DataFormat setting for SchemaName. *

*/ private String schemaDefinition; /** *

* 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. *

* * @param registryId * 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. */ public void setRegistryId(RegistryId registryId) { this.registryId = registryId; } /** *

* 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 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. */ public RegistryId getRegistryId() { return this.registryId; } /** *

* 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. *

* * @param registryId * 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 Returns a reference to this object so that method calls can be chained together. */ public CreateSchemaRequest withRegistryId(RegistryId registryId) { setRegistryId(registryId); return this; } /** *

* 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. *

* * @param schemaName * 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. */ public void setSchemaName(String schemaName) { this.schemaName = schemaName; } /** *

* 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 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. */ public String getSchemaName() { return this.schemaName; } /** *

* 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. *

* * @param schemaName * 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 Returns a reference to this object so that method calls can be chained together. */ public CreateSchemaRequest withSchemaName(String schemaName) { setSchemaName(schemaName); return this; } /** *

* The data format of the schema definition. Currently AVRO, JSON and * PROTOBUF are supported. *

* * @param dataFormat * The data format of the schema definition. Currently AVRO, JSON and * PROTOBUF are supported. * @see DataFormat */ public void setDataFormat(String dataFormat) { this.dataFormat = dataFormat; } /** *

* The data format of the schema definition. Currently AVRO, JSON and * PROTOBUF are supported. *

* * @return The data format of the schema definition. Currently AVRO, JSON and * PROTOBUF are supported. * @see DataFormat */ public String getDataFormat() { return this.dataFormat; } /** *

* The data format of the schema definition. Currently AVRO, JSON and * PROTOBUF are supported. *

* * @param dataFormat * The data format of the schema definition. Currently AVRO, JSON and * PROTOBUF are supported. * @return Returns a reference to this object so that method calls can be chained together. * @see DataFormat */ public CreateSchemaRequest withDataFormat(String dataFormat) { setDataFormat(dataFormat); return this; } /** *

* The data format of the schema definition. Currently AVRO, JSON and * PROTOBUF are supported. *

* * @param dataFormat * The data format of the schema definition. Currently AVRO, JSON and * PROTOBUF are supported. * @return Returns a reference to this object so that method calls can be chained together. * @see DataFormat */ public CreateSchemaRequest withDataFormat(DataFormat dataFormat) { this.dataFormat = dataFormat.toString(); return this; } /** *

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

* * * @param compatibility * The compatibility mode of the schema. The possible values are:

*