com.hashicorp.cdktf.providers.snowflake.grant_privileges_to_database_role.GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture Maven / Gradle / Ivy
Show all versions of cdktf-provider-snowflake Show documentation
package com.hashicorp.cdktf.providers.snowflake.grant_privileges_to_database_role;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-08-03T03:24:50.444Z")
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.providers.snowflake.$Module.class, fqn = "@cdktf/provider-snowflake.grantPrivilegesToDatabaseRole.GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture")
@software.amazon.jsii.Jsii.Proxy(GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture extends software.amazon.jsii.JsiiSerializable {
/**
* The plural object type of the schema object on which privileges will be granted.
*
* Valid values are: ALERTS | AUTHENTICATION POLICIES | DATA METRIC FUNCTIONS | DYNAMIC TABLES | EVENT TABLES | EXTERNAL TABLES | FILE FORMATS | FUNCTIONS | GIT REPOSITORIES | HYBRID TABLES | ICEBERG TABLES | MATERIALIZED VIEWS | MODELS | NETWORK RULES | NOTEBOOKS | PASSWORD POLICIES | PIPES | PROCEDURES | SECRETS | SERVICES | SEQUENCES | SNAPSHOTS | STAGES | STREAMS | TABLES | TASKS | VIEWS.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/grant_privileges_to_database_role#object_type_plural GrantPrivilegesToDatabaseRole#object_type_plural}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getObjectTypePlural();
/**
* The fully qualified name of the database.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/grant_privileges_to_database_role#in_database GrantPrivilegesToDatabaseRole#in_database}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getInDatabase() {
return null;
}
/**
* The fully qualified name of the schema.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/grant_privileges_to_database_role#in_schema GrantPrivilegesToDatabaseRole#in_schema}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getInSchema() {
return null;
}
/**
* @return a {@link Builder} of {@link GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.String objectTypePlural;
java.lang.String inDatabase;
java.lang.String inSchema;
/**
* Sets the value of {@link GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture#getObjectTypePlural}
* @param objectTypePlural The plural object type of the schema object on which privileges will be granted. This parameter is required.
* Valid values are: ALERTS | AUTHENTICATION POLICIES | DATA METRIC FUNCTIONS | DYNAMIC TABLES | EVENT TABLES | EXTERNAL TABLES | FILE FORMATS | FUNCTIONS | GIT REPOSITORIES | HYBRID TABLES | ICEBERG TABLES | MATERIALIZED VIEWS | MODELS | NETWORK RULES | NOTEBOOKS | PASSWORD POLICIES | PIPES | PROCEDURES | SECRETS | SERVICES | SEQUENCES | SNAPSHOTS | STAGES | STREAMS | TABLES | TASKS | VIEWS.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/grant_privileges_to_database_role#object_type_plural GrantPrivilegesToDatabaseRole#object_type_plural}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder objectTypePlural(java.lang.String objectTypePlural) {
this.objectTypePlural = objectTypePlural;
return this;
}
/**
* Sets the value of {@link GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture#getInDatabase}
* @param inDatabase The fully qualified name of the database.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/grant_privileges_to_database_role#in_database GrantPrivilegesToDatabaseRole#in_database}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder inDatabase(java.lang.String inDatabase) {
this.inDatabase = inDatabase;
return this;
}
/**
* Sets the value of {@link GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture#getInSchema}
* @param inSchema The fully qualified name of the schema.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/grant_privileges_to_database_role#in_schema GrantPrivilegesToDatabaseRole#in_schema}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder inSchema(java.lang.String inSchema) {
this.inSchema = inSchema;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture {
private final java.lang.String objectTypePlural;
private final java.lang.String inDatabase;
private final java.lang.String inSchema;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.objectTypePlural = software.amazon.jsii.Kernel.get(this, "objectTypePlural", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.inDatabase = software.amazon.jsii.Kernel.get(this, "inDatabase", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.inSchema = software.amazon.jsii.Kernel.get(this, "inSchema", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.objectTypePlural = java.util.Objects.requireNonNull(builder.objectTypePlural, "objectTypePlural is required");
this.inDatabase = builder.inDatabase;
this.inSchema = builder.inSchema;
}
@Override
public final java.lang.String getObjectTypePlural() {
return this.objectTypePlural;
}
@Override
public final java.lang.String getInDatabase() {
return this.inDatabase;
}
@Override
public final java.lang.String getInSchema() {
return this.inSchema;
}
@Override
@software.amazon.jsii.Internal
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
data.set("objectTypePlural", om.valueToTree(this.getObjectTypePlural()));
if (this.getInDatabase() != null) {
data.set("inDatabase", om.valueToTree(this.getInDatabase()));
}
if (this.getInSchema() != null) {
data.set("inSchema", om.valueToTree(this.getInSchema()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@cdktf/provider-snowflake.grantPrivilegesToDatabaseRole.GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture.Jsii$Proxy that = (GrantPrivilegesToDatabaseRoleOnSchemaObjectFuture.Jsii$Proxy) o;
if (!objectTypePlural.equals(that.objectTypePlural)) return false;
if (this.inDatabase != null ? !this.inDatabase.equals(that.inDatabase) : that.inDatabase != null) return false;
return this.inSchema != null ? this.inSchema.equals(that.inSchema) : that.inSchema == null;
}
@Override
public final int hashCode() {
int result = this.objectTypePlural.hashCode();
result = 31 * result + (this.inDatabase != null ? this.inDatabase.hashCode() : 0);
result = 31 * result + (this.inSchema != null ? this.inSchema.hashCode() : 0);
return result;
}
}
}