Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.glue.SchemaArgs Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.glue;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class SchemaArgs extends com.pulumi.resources.ResourceArgs {
public static final SchemaArgs Empty = new SchemaArgs();
/**
* The compatibility mode of the schema. Values values are: `NONE`, `DISABLED`, `BACKWARD`, `BACKWARD_ALL`, `FORWARD`, `FORWARD_ALL`, `FULL`, and `FULL_ALL`.
*
*/
@Import(name="compatibility", required=true)
private Output compatibility;
/**
* @return The compatibility mode of the schema. Values values are: `NONE`, `DISABLED`, `BACKWARD`, `BACKWARD_ALL`, `FORWARD`, `FORWARD_ALL`, `FULL`, and `FULL_ALL`.
*
*/
public Output compatibility() {
return this.compatibility;
}
/**
* The data format of the schema definition. Valid values are `AVRO`, `JSON` and `PROTOBUF`.
*
*/
@Import(name="dataFormat", required=true)
private Output dataFormat;
/**
* @return The data format of the schema definition. Valid values are `AVRO`, `JSON` and `PROTOBUF`.
*
*/
public Output dataFormat() {
return this.dataFormat;
}
/**
* A description of the schema.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return A description of the schema.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* The ARN of the Glue Registry to create the schema in.
*
*/
@Import(name="registryArn")
private @Nullable Output registryArn;
/**
* @return The ARN of the Glue Registry to create the schema in.
*
*/
public Optional> registryArn() {
return Optional.ofNullable(this.registryArn);
}
/**
* The schema definition using the `data_format` setting for `schema_name`.
*
*/
@Import(name="schemaDefinition", required=true)
private Output schemaDefinition;
/**
* @return The schema definition using the `data_format` setting for `schema_name`.
*
*/
public Output schemaDefinition() {
return this.schemaDefinition;
}
/**
* The Name of the schema.
*
*/
@Import(name="schemaName", required=true)
private Output schemaName;
/**
* @return The Name of the schema.
*
*/
public Output schemaName() {
return this.schemaName;
}
/**
* Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
private SchemaArgs() {}
private SchemaArgs(SchemaArgs $) {
this.compatibility = $.compatibility;
this.dataFormat = $.dataFormat;
this.description = $.description;
this.registryArn = $.registryArn;
this.schemaDefinition = $.schemaDefinition;
this.schemaName = $.schemaName;
this.tags = $.tags;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(SchemaArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private SchemaArgs $;
public Builder() {
$ = new SchemaArgs();
}
public Builder(SchemaArgs defaults) {
$ = new SchemaArgs(Objects.requireNonNull(defaults));
}
/**
* @param compatibility The compatibility mode of the schema. Values values are: `NONE`, `DISABLED`, `BACKWARD`, `BACKWARD_ALL`, `FORWARD`, `FORWARD_ALL`, `FULL`, and `FULL_ALL`.
*
* @return builder
*
*/
public Builder compatibility(Output compatibility) {
$.compatibility = compatibility;
return this;
}
/**
* @param compatibility The compatibility mode of the schema. Values values are: `NONE`, `DISABLED`, `BACKWARD`, `BACKWARD_ALL`, `FORWARD`, `FORWARD_ALL`, `FULL`, and `FULL_ALL`.
*
* @return builder
*
*/
public Builder compatibility(String compatibility) {
return compatibility(Output.of(compatibility));
}
/**
* @param dataFormat The data format of the schema definition. Valid values are `AVRO`, `JSON` and `PROTOBUF`.
*
* @return builder
*
*/
public Builder dataFormat(Output dataFormat) {
$.dataFormat = dataFormat;
return this;
}
/**
* @param dataFormat The data format of the schema definition. Valid values are `AVRO`, `JSON` and `PROTOBUF`.
*
* @return builder
*
*/
public Builder dataFormat(String dataFormat) {
return dataFormat(Output.of(dataFormat));
}
/**
* @param description A description of the schema.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description A description of the schema.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param registryArn The ARN of the Glue Registry to create the schema in.
*
* @return builder
*
*/
public Builder registryArn(@Nullable Output registryArn) {
$.registryArn = registryArn;
return this;
}
/**
* @param registryArn The ARN of the Glue Registry to create the schema in.
*
* @return builder
*
*/
public Builder registryArn(String registryArn) {
return registryArn(Output.of(registryArn));
}
/**
* @param schemaDefinition The schema definition using the `data_format` setting for `schema_name`.
*
* @return builder
*
*/
public Builder schemaDefinition(Output schemaDefinition) {
$.schemaDefinition = schemaDefinition;
return this;
}
/**
* @param schemaDefinition The schema definition using the `data_format` setting for `schema_name`.
*
* @return builder
*
*/
public Builder schemaDefinition(String schemaDefinition) {
return schemaDefinition(Output.of(schemaDefinition));
}
/**
* @param schemaName The Name of the schema.
*
* @return builder
*
*/
public Builder schemaName(Output schemaName) {
$.schemaName = schemaName;
return this;
}
/**
* @param schemaName The Name of the schema.
*
* @return builder
*
*/
public Builder schemaName(String schemaName) {
return schemaName(Output.of(schemaName));
}
/**
* @param tags Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public SchemaArgs build() {
if ($.compatibility == null) {
throw new MissingRequiredPropertyException("SchemaArgs", "compatibility");
}
if ($.dataFormat == null) {
throw new MissingRequiredPropertyException("SchemaArgs", "dataFormat");
}
if ($.schemaDefinition == null) {
throw new MissingRequiredPropertyException("SchemaArgs", "schemaDefinition");
}
if ($.schemaName == null) {
throw new MissingRequiredPropertyException("SchemaArgs", "schemaName");
}
return $;
}
}
}