com.hashicorp.cdktf.providers.snowflake.data_snowflake_grants.DataSnowflakeGrantsGrantsTo Maven / Gradle / Ivy
Show all versions of cdktf-provider-snowflake Show documentation
package com.hashicorp.cdktf.providers.snowflake.data_snowflake_grants;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-08-03T03:24:50.158Z")
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.providers.snowflake.$Module.class, fqn = "@cdktf/provider-snowflake.dataSnowflakeGrants.DataSnowflakeGrantsGrantsTo")
@software.amazon.jsii.Jsii.Proxy(DataSnowflakeGrantsGrantsTo.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface DataSnowflakeGrantsGrantsTo extends software.amazon.jsii.JsiiSerializable {
/**
* Lists all privileges and roles granted to the role.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#account_role DataSnowflakeGrants#account_role}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getAccountRole() {
return null;
}
/**
* Lists all the privileges and roles granted to the application.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#application DataSnowflakeGrants#application}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getApplication() {
return null;
}
/**
* Lists all the privileges and roles granted to the application role. Must be a fully qualified name ("<app_name>"."<app_role_name>").
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#application_role DataSnowflakeGrants#application_role}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getApplicationRole() {
return null;
}
/**
* Lists all privileges and roles granted to the database role. Must be a fully qualified name ("<db_name>"."<database_role_name>").
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#database_role DataSnowflakeGrants#database_role}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getDatabaseRole() {
return null;
}
/**
* share block.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#share DataSnowflakeGrants#share}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable com.hashicorp.cdktf.providers.snowflake.data_snowflake_grants.DataSnowflakeGrantsGrantsToShare getShare() {
return null;
}
/**
* Lists all the roles granted to the user.
*
* Note that the PUBLIC role, which is automatically available to every user, is not listed.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#user DataSnowflakeGrants#user}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getUser() {
return null;
}
/**
* @return a {@link Builder} of {@link DataSnowflakeGrantsGrantsTo}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link DataSnowflakeGrantsGrantsTo}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.String accountRole;
java.lang.String application;
java.lang.String applicationRole;
java.lang.String databaseRole;
com.hashicorp.cdktf.providers.snowflake.data_snowflake_grants.DataSnowflakeGrantsGrantsToShare share;
java.lang.String user;
/**
* Sets the value of {@link DataSnowflakeGrantsGrantsTo#getAccountRole}
* @param accountRole Lists all privileges and roles granted to the role.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#account_role DataSnowflakeGrants#account_role}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder accountRole(java.lang.String accountRole) {
this.accountRole = accountRole;
return this;
}
/**
* Sets the value of {@link DataSnowflakeGrantsGrantsTo#getApplication}
* @param application Lists all the privileges and roles granted to the application.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#application DataSnowflakeGrants#application}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder application(java.lang.String application) {
this.application = application;
return this;
}
/**
* Sets the value of {@link DataSnowflakeGrantsGrantsTo#getApplicationRole}
* @param applicationRole Lists all the privileges and roles granted to the application role. Must be a fully qualified name ("<app_name>"."<app_role_name>").
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#application_role DataSnowflakeGrants#application_role}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder applicationRole(java.lang.String applicationRole) {
this.applicationRole = applicationRole;
return this;
}
/**
* Sets the value of {@link DataSnowflakeGrantsGrantsTo#getDatabaseRole}
* @param databaseRole Lists all privileges and roles granted to the database role. Must be a fully qualified name ("<db_name>"."<database_role_name>").
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#database_role DataSnowflakeGrants#database_role}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder databaseRole(java.lang.String databaseRole) {
this.databaseRole = databaseRole;
return this;
}
/**
* Sets the value of {@link DataSnowflakeGrantsGrantsTo#getShare}
* @param share share block.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#share DataSnowflakeGrants#share}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder share(com.hashicorp.cdktf.providers.snowflake.data_snowflake_grants.DataSnowflakeGrantsGrantsToShare share) {
this.share = share;
return this;
}
/**
* Sets the value of {@link DataSnowflakeGrantsGrantsTo#getUser}
* @param user Lists all the roles granted to the user.
* Note that the PUBLIC role, which is automatically available to every user, is not listed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/data-sources/grants#user DataSnowflakeGrants#user}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder user(java.lang.String user) {
this.user = user;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link DataSnowflakeGrantsGrantsTo}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public DataSnowflakeGrantsGrantsTo build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link DataSnowflakeGrantsGrantsTo}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DataSnowflakeGrantsGrantsTo {
private final java.lang.String accountRole;
private final java.lang.String application;
private final java.lang.String applicationRole;
private final java.lang.String databaseRole;
private final com.hashicorp.cdktf.providers.snowflake.data_snowflake_grants.DataSnowflakeGrantsGrantsToShare share;
private final java.lang.String user;
/**
* 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.accountRole = software.amazon.jsii.Kernel.get(this, "accountRole", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.application = software.amazon.jsii.Kernel.get(this, "application", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.applicationRole = software.amazon.jsii.Kernel.get(this, "applicationRole", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.databaseRole = software.amazon.jsii.Kernel.get(this, "databaseRole", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.share = software.amazon.jsii.Kernel.get(this, "share", software.amazon.jsii.NativeType.forClass(com.hashicorp.cdktf.providers.snowflake.data_snowflake_grants.DataSnowflakeGrantsGrantsToShare.class));
this.user = software.amazon.jsii.Kernel.get(this, "user", 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.accountRole = builder.accountRole;
this.application = builder.application;
this.applicationRole = builder.applicationRole;
this.databaseRole = builder.databaseRole;
this.share = builder.share;
this.user = builder.user;
}
@Override
public final java.lang.String getAccountRole() {
return this.accountRole;
}
@Override
public final java.lang.String getApplication() {
return this.application;
}
@Override
public final java.lang.String getApplicationRole() {
return this.applicationRole;
}
@Override
public final java.lang.String getDatabaseRole() {
return this.databaseRole;
}
@Override
public final com.hashicorp.cdktf.providers.snowflake.data_snowflake_grants.DataSnowflakeGrantsGrantsToShare getShare() {
return this.share;
}
@Override
public final java.lang.String getUser() {
return this.user;
}
@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();
if (this.getAccountRole() != null) {
data.set("accountRole", om.valueToTree(this.getAccountRole()));
}
if (this.getApplication() != null) {
data.set("application", om.valueToTree(this.getApplication()));
}
if (this.getApplicationRole() != null) {
data.set("applicationRole", om.valueToTree(this.getApplicationRole()));
}
if (this.getDatabaseRole() != null) {
data.set("databaseRole", om.valueToTree(this.getDatabaseRole()));
}
if (this.getShare() != null) {
data.set("share", om.valueToTree(this.getShare()));
}
if (this.getUser() != null) {
data.set("user", om.valueToTree(this.getUser()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@cdktf/provider-snowflake.dataSnowflakeGrants.DataSnowflakeGrantsGrantsTo"));
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;
DataSnowflakeGrantsGrantsTo.Jsii$Proxy that = (DataSnowflakeGrantsGrantsTo.Jsii$Proxy) o;
if (this.accountRole != null ? !this.accountRole.equals(that.accountRole) : that.accountRole != null) return false;
if (this.application != null ? !this.application.equals(that.application) : that.application != null) return false;
if (this.applicationRole != null ? !this.applicationRole.equals(that.applicationRole) : that.applicationRole != null) return false;
if (this.databaseRole != null ? !this.databaseRole.equals(that.databaseRole) : that.databaseRole != null) return false;
if (this.share != null ? !this.share.equals(that.share) : that.share != null) return false;
return this.user != null ? this.user.equals(that.user) : that.user == null;
}
@Override
public final int hashCode() {
int result = this.accountRole != null ? this.accountRole.hashCode() : 0;
result = 31 * result + (this.application != null ? this.application.hashCode() : 0);
result = 31 * result + (this.applicationRole != null ? this.applicationRole.hashCode() : 0);
result = 31 * result + (this.databaseRole != null ? this.databaseRole.hashCode() : 0);
result = 31 * result + (this.share != null ? this.share.hashCode() : 0);
result = 31 * result + (this.user != null ? this.user.hashCode() : 0);
return result;
}
}
}