sdk

package
v0.97.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2024 License: MIT Imports: 29 Imported by: 0

README

Snowflake Go SDK

[secondary_test_account] credentials are required in the Snowflake profile if running integration tests that provision resources in multiple accounts:

Required environment variable to run sweepers (cleanup up resources created by integration tests):

TEST_SF_TF_ENABLE_SWEEP=1

Required environment variable to test creating an account. Note that this cannot be cleaned up by sweepers:

TEST_SF_TF_TEST_ACCOUNT_CREATE=1

SQL clause types

ddl tag function output format
ddl:"static" sqlStaticClause WORD
ddl:"keyword" sqlKeywordClause "WORD" (quotes configurable)
ddl:"identifier" sqlIdentifierClause "a.b.c" or OBJ_TYPE "a.b.c"
ddl:"parameter" sqlParameterClause PARAM = "value" (quotes configurable) or PARAM = 2
ddl:"list" sqlListClause WORD (<subclause>, <subclause>) (WORD, parentheses, separator configurable)

Documentation

Index

Constants

View Source
const (
	DefaultNumberPrecision = 38
	DefaultNumberScale     = 0
	DefaultVarcharLength   = 16777216
)
View Source
const (
	SecurityIntegrationCategory                                     = "SECURITY"
	ApiAuthenticationSecurityIntegrationOauthGrantAuthorizationCode = "AUTHORIZATION_CODE"
	ApiAuthenticationSecurityIntegrationOauthGrantClientCredentials = "CLIENT_CREDENTIALS" //nolint:gosec
	ApiAuthenticationSecurityIntegrationOauthGrantJwtBearer         = "JWT_BEARER"
)
View Source
const (
	Comma   commaModifier = "comma"
	NoComma commaModifier = "no_comma"
)
View Source
const (
	NoQuotes     quoteModifier = "no_quotes"
	DoubleQuotes quoteModifier = "double_quotes"
	SingleQuotes quoteModifier = "single_quotes"
)
View Source
const (
	NoParentheses   parenModifier = "no_parentheses"
	Parentheses     parenModifier = "parentheses"
	MustParentheses parenModifier = "must_parentheses"
)
View Source
const (
	NoReverse reverseModifier = "no_reverse"
	Reverse   reverseModifier = "reverse"
)
View Source
const (
	Equals      equalsModifier = "equals"
	ArrowEquals equalsModifier = "arrow_equals"
	NoEquals    equalsModifier = "no_equals"
)
View Source
const IdDelimiter = '.'

Variables

View Source
var (
	AuthenticationMethodsOptionDef    = g.NewQueryStruct("AuthenticationMethods").PredefinedQueryStructField("Method", g.KindOfT[AuthenticationMethodsOption](), g.KeywordOptions().SingleQuotes().Required())
	MfaAuthenticationMethodsOptionDef = g.NewQueryStruct("MfaAuthenticationMethods").PredefinedQueryStructField("Method", g.KindOfT[MfaAuthenticationMethods](), g.KeywordOptions().SingleQuotes().Required())
	ClientTypesOptionDef              = g.NewQueryStruct("ClientTypes").PredefinedQueryStructField("ClientType", g.KindOfT[ClientTypesOption](), g.KeywordOptions().SingleQuotes().Required())
	SecurityIntegrationsOptionDef     = g.NewQueryStruct("SecurityIntegrationsOption").Identifier("Name", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required())
)
View Source
var (
	DataTypeNumberSynonyms       = []string{"NUMBER", "DECIMAL", "NUMERIC", "INT", "INTEGER", "BIGINT", "SMALLINT", "TINYINT", "BYTEINT"}
	DataTypeFloatSynonyms        = []string{"FLOAT", "FLOAT4", "FLOAT8", "DOUBLE", "DOUBLE PRECISION", "REAL"}
	DataTypeVarcharSynonyms      = []string{"VARCHAR", "CHAR", "CHARACTER", "STRING", "TEXT"}
	DataTypeBinarySynonyms       = []string{"BINARY", "VARBINARY"}
	DataTypeBooleanSynonyms      = []string{"BOOLEAN", "BOOL"}
	DataTypeTimestampLTZSynonyms = []string{"TIMESTAMP_LTZ"}
	DataTypeTimestampTZSynonyms  = []string{"TIMESTAMP_TZ"}
	DataTypeTimestampNTZSynonyms = []string{"DATETIME", "TIMESTAMP", "TIMESTAMP_NTZ"}
	DataTypeTimeSynonyms         = []string{"TIME"}
	DataTypeVectorSynonyms       = []string{"VECTOR"}
)
View Source
var (
	ErrNilOptions                    = NewError("options cannot be nil")
	ErrPatternRequiredForLikeKeyword = NewError("pattern must be specified for like keyword")

	// re-importing from internal package
	ErrObjectNotFound = collections.ErrObjectNotFound

	// go-snowflake errors.
	ErrObjectNotExistOrAuthorized = NewError("object does not exist or not authorized")
	ErrAccountIsEmpty             = NewError("account is empty")

	// snowflake-sdk errors.
	ErrInvalidObjectIdentifier = NewError("invalid object identifier")
	ErrDifferentDatabase       = NewError("database must be the same")
	ErrDifferentSchema         = NewError("schema must be the same")
)
View Source
var (
	S3EncryptionTypeSseS3   S3EncryptionType  = "AWS_SSE_S3"
	S3EncryptionTypeSseKms  S3EncryptionType  = "AWS_SSE_KMS"
	S3EncryptionNone        S3EncryptionType  = "NONE"
	GCSEncryptionTypeSseKms GCSEncryptionType = "GCS_SSE_KMS"
	GCSEncryptionTypeNone   GCSEncryptionType = "NONE"
	S3StorageProviderS3     S3StorageProvider = "S3"
	S3StorageProviderS3GOV  S3StorageProvider = "S3GOV"
)
View Source
var (
	ValidGrantOwnershipObjectTypesString       = make([]string, len(validGrantOwnershipObjectTypes))
	ValidGrantOwnershipPluralObjectTypesString = make([]string, len(validGrantOwnershipObjectTypes))
	ValidGrantToObjectTypesString              = make([]string, len(validGrantToObjectTypes))
	ValidGrantToPluralObjectTypesString        = make([]string, len(validGrantToObjectTypes))
	ValidGrantToFuturePluralObjectTypesString  = make([]string, 0)
)
View Source
var AllUserParameters = []UserParameter{
	UserParameterAbortDetachedQuery,
	UserParameterAutocommit,
	UserParameterBinaryInputFormat,
	UserParameterBinaryOutputFormat,
	UserParameterClientMemoryLimit,
	UserParameterClientMetadataRequestUseConnectionCtx,
	UserParameterClientPrefetchThreads,
	UserParameterClientResultChunkSize,
	UserParameterClientResultColumnCaseInsensitive,
	UserParameterClientSessionKeepAlive,
	UserParameterClientSessionKeepAliveHeartbeatFrequency,
	UserParameterClientTimestampTypeMapping,
	UserParameterDateInputFormat,
	UserParameterDateOutputFormat,
	UserParameterEnableUnloadPhysicalTypeOptimization,
	UserParameterErrorOnNondeterministicMerge,
	UserParameterErrorOnNondeterministicUpdate,
	UserParameterGeographyOutputFormat,
	UserParameterGeometryOutputFormat,
	UserParameterJdbcTreatDecimalAsInt,
	UserParameterJdbcTreatTimestampNtzAsUtc,
	UserParameterJdbcUseSessionTimezone,
	UserParameterJsonIndent,
	UserParameterLockTimeout,
	UserParameterLogLevel,
	UserParameterMultiStatementCount,
	UserParameterNoorderSequenceAsDefault,
	UserParameterOdbcTreatDecimalAsInt,
	UserParameterQueryTag,
	UserParameterQuotedIdentifiersIgnoreCase,
	UserParameterRowsPerResultset,
	UserParameterS3StageVpceDnsName,
	UserParameterSearchPath,
	UserParameterSimulatedDataSharingConsumer,
	UserParameterStatementQueuedTimeoutInSeconds,
	UserParameterStatementTimeoutInSeconds,
	UserParameterStrictJsonOutput,
	UserParameterTimestampDayIsAlways24h,
	UserParameterTimestampInputFormat,
	UserParameterTimestampLtzOutputFormat,
	UserParameterTimestampNtzOutputFormat,
	UserParameterTimestampOutputFormat,
	UserParameterTimestampTypeMapping,
	UserParameterTimestampTzOutputFormat,
	UserParameterTimezone,
	UserParameterTimeInputFormat,
	UserParameterTimeOutputFormat,
	UserParameterTraceLevel,
	UserParameterTransactionAbortOnError,
	UserParameterTransactionDefaultIsolationLevel,
	UserParameterTwoDigitCenturyStart,
	UserParameterUnsupportedDdlAction,
	UserParameterUseCachedResult,
	UserParameterWeekOfYearPolicy,
	UserParameterWeekStart,
	UserParameterEnableUnredactedQuerySyntaxError,
	UserParameterNetworkPolicy,
	UserParameterPreventUnloadToInternalStages,
}
View Source
var AllViewDataMetricScheduleMinutes = []int{5, 15, 30, 60, 720, 1440}
View Source
var ApiIntegrationEndpointPrefixDef = g.NewQueryStruct("ApiIntegrationEndpointPrefix").Text("Path", g.KeywordOptions().SingleQuotes().Required())
View Source
var ApiIntegrationsDef = g.NewInterface(
	"ApiIntegrations",
	"ApiIntegration",
	g.KindOfT[AccountObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-api-integration",
		g.NewQueryStruct("CreateApiIntegration").
			Create().
			OrReplace().
			SQL("API INTEGRATION").
			IfNotExists().
			Name().
			OptionalQueryStructField(
				"AwsApiProviderParams",
				g.NewQueryStruct("AwsApiParams").
					Assignment("API_PROVIDER", g.KindOfT[ApiIntegrationAwsApiProviderType](), g.ParameterOptions().NoQuotes().Required()).
					TextAssignment("API_AWS_ROLE_ARN", g.ParameterOptions().SingleQuotes().Required()).
					OptionalTextAssignment("API_KEY", g.ParameterOptions().SingleQuotes()),
				g.KeywordOptions(),
			).
			OptionalQueryStructField(
				"AzureApiProviderParams",
				g.NewQueryStruct("AzureApiParams").
					PredefinedQueryStructField("apiProvider", "string", g.StaticOptions().SQL("API_PROVIDER = azure_api_management")).
					TextAssignment("AZURE_TENANT_ID", g.ParameterOptions().SingleQuotes().Required()).
					TextAssignment("AZURE_AD_APPLICATION_ID", g.ParameterOptions().SingleQuotes().Required()).
					OptionalTextAssignment("API_KEY", g.ParameterOptions().SingleQuotes()),
				g.KeywordOptions(),
			).
			OptionalQueryStructField(
				"GoogleApiProviderParams",
				g.NewQueryStruct("GoogleApiParams").
					PredefinedQueryStructField("apiProvider", "string", g.StaticOptions().SQL("API_PROVIDER = google_api_gateway")).
					TextAssignment("GOOGLE_AUDIENCE", g.ParameterOptions().SingleQuotes().Required()),
				g.KeywordOptions(),
			).
			ListAssignment("API_ALLOWED_PREFIXES", "ApiIntegrationEndpointPrefix", g.ParameterOptions().Parentheses().Required()).
			ListAssignment("API_BLOCKED_PREFIXES", "ApiIntegrationEndpointPrefix", g.ParameterOptions().Parentheses()).
			BooleanAssignment("ENABLED", g.ParameterOptions().Required()).
			OptionalComment().
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "IfNotExists", "OrReplace").
			WithValidation(g.ExactlyOneValueSet, "AwsApiProviderParams", "AzureApiProviderParams", "GoogleApiProviderParams"),
		ApiIntegrationEndpointPrefixDef,
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-api-integration",
		g.NewQueryStruct("AlterApiIntegration").
			Alter().
			SQL("API INTEGRATION").
			IfExists().
			Name().
			OptionalQueryStructField(
				"Set",
				g.NewQueryStruct("ApiIntegrationSet").
					OptionalQueryStructField(
						"AwsParams",
						g.NewQueryStruct("SetAwsApiParams").
							OptionalTextAssignment("API_AWS_ROLE_ARN", g.ParameterOptions().SingleQuotes()).
							OptionalTextAssignment("API_KEY", g.ParameterOptions().SingleQuotes()).
							WithValidation(g.AtLeastOneValueSet, "ApiAwsRoleArn", "ApiKey"),
						g.KeywordOptions(),
					).
					OptionalQueryStructField(
						"AzureParams",
						g.NewQueryStruct("SetAzureApiParams").
							OptionalTextAssignment("AZURE_TENANT_ID", g.ParameterOptions().SingleQuotes()).
							OptionalTextAssignment("AZURE_AD_APPLICATION_ID", g.ParameterOptions().SingleQuotes()).
							OptionalTextAssignment("API_KEY", g.ParameterOptions().SingleQuotes()).
							WithValidation(g.AtLeastOneValueSet, "AzureTenantId", "AzureAdApplicationId", "ApiKey"),
						g.KeywordOptions(),
					).
					OptionalQueryStructField(
						"GoogleParams",
						g.NewQueryStruct("SetGoogleApiParams").
							TextAssignment("GOOGLE_AUDIENCE", g.ParameterOptions().SingleQuotes().Required()),
						g.KeywordOptions(),
					).
					OptionalBooleanAssignment("ENABLED", g.ParameterOptions()).
					ListAssignment("API_ALLOWED_PREFIXES", "ApiIntegrationEndpointPrefix", g.ParameterOptions().Parentheses()).
					ListAssignment("API_BLOCKED_PREFIXES", "ApiIntegrationEndpointPrefix", g.ParameterOptions().Parentheses()).
					OptionalComment().
					WithValidation(g.ConflictingFields, "AwsParams", "AzureParams", "GoogleParams").
					WithValidation(g.AtLeastOneValueSet, "AwsParams", "AzureParams", "GoogleParams", "Enabled", "ApiAllowedPrefixes", "ApiBlockedPrefixes", "Comment"),
				g.KeywordOptions().SQL("SET"),
			).
			OptionalQueryStructField(
				"Unset",
				g.NewQueryStruct("ApiIntegrationUnset").
					OptionalSQL("API_KEY").
					OptionalSQL("ENABLED").
					OptionalSQL("API_BLOCKED_PREFIXES").
					OptionalSQL("COMMENT").
					WithValidation(g.AtLeastOneValueSet, "ApiKey", "Enabled", "ApiBlockedPrefixes", "Comment"),
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).
			OptionalSetTags().
			OptionalUnsetTags().
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "IfExists", "SetTags").
			WithValidation(g.ConflictingFields, "IfExists", "UnsetTags").
			WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "SetTags", "UnsetTags"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-integration",
		g.NewQueryStruct("DropApiIntegration").
			Drop().
			SQL("API INTEGRATION").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-integrations",
		g.DbStruct("showApiIntegrationsDbRow").
			Text("name").
			Text("type").
			Text("category").
			Bool("enabled").
			OptionalText("comment").
			Time("created_on"),
		g.PlainStruct("ApiIntegration").
			Text("Name").
			Text("ApiType").
			Text("Category").
			Bool("Enabled").
			Text("Comment").
			Time("CreatedOn"),
		g.NewQueryStruct("ShowApiIntegrations").
			Show().
			SQL("API INTEGRATIONS").
			OptionalLike(),
	).
	ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSlice,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-integration",
		g.DbStruct("descApiIntegrationsDbRow").
			Text("property").
			Text("property_type").
			Text("property_value").
			Text("property_default"),
		g.PlainStruct("ApiIntegrationProperty").
			Text("Name").
			Text("Type").
			Text("Value").
			Text("Default"),
		g.NewQueryStruct("DescribeApiIntegration").
			Describe().
			SQL("API INTEGRATION").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)

TODO [SNOW-1016561]: all integrations reuse almost the same show, drop, and describe. For now we are copying it. Consider reusing in linked issue.

View Source
var ApplicationPackagesDef = g.NewInterface(
	"ApplicationPackages",
	"ApplicationPackage",
	g.KindOfT[AccountObjectIdentifier](),
).CreateOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/create-application-package",
	g.NewQueryStruct("CreateApplicationPackage").
		Create().
		SQL("APPLICATION PACKAGE").
		IfNotExists().
		Name().
		OptionalNumberAssignment("DATA_RETENTION_TIME_IN_DAYS", g.ParameterOptions().NoQuotes()).
		OptionalNumberAssignment("MAX_DATA_EXTENSION_TIME_IN_DAYS", g.ParameterOptions().NoQuotes()).
		OptionalTextAssignment("DEFAULT_DDL_COLLATION", g.ParameterOptions().SingleQuotes()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("Distribution", "*Distribution", g.ParameterOptions().SQL("DISTRIBUTION")).
		OptionalTags().
		WithValidation(g.ValidIdentifier, "name"),
).AlterOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/alter-application-package",
	g.NewQueryStruct("AlterApplicationPackage").
		Alter().
		SQL("APPLICATION PACKAGE").
		IfExists().
		Name().
		OptionalQueryStructField(
			"Set",
			applicationPackageSet,
			g.KeywordOptions().SQL("SET"),
		).
		OptionalQueryStructField(
			"Unset",
			applicationPackageUnset,
			g.ListOptions().NoParentheses().SQL("UNSET"),
		).
		OptionalQueryStructField(
			"ModifyReleaseDirective",
			applicationPackageModifyReleaseDirective,
			g.KeywordOptions().SQL("MODIFY RELEASE DIRECTIVE"),
		).
		OptionalQueryStructField(
			"SetDefaultReleaseDirective",
			applicationPackageSetDefaultReleaseDirective,
			g.KeywordOptions().SQL("SET DEFAULT RELEASE DIRECTIVE"),
		).
		OptionalQueryStructField(
			"SetReleaseDirective",
			applicationPackageSetReleaseDirective,
			g.KeywordOptions().SQL("SET RELEASE DIRECTIVE"),
		).
		OptionalQueryStructField(
			"UnsetReleaseDirective",
			applicationPackageUnsetReleaseDirective,
			g.KeywordOptions().SQL("UNSET RELEASE DIRECTIVE"),
		).
		OptionalQueryStructField(
			"AddVersion",
			applicationPackageAddVersion,
			g.KeywordOptions().SQL("ADD VERSION"),
		).
		OptionalQueryStructField(
			"DropVersion",
			applicationPackageDropVersion,
			g.KeywordOptions().SQL("DROP VERSION"),
		).
		OptionalQueryStructField(
			"AddPatchForVersion",
			applicationPackageAddPatchForVersion,
			g.KeywordOptions().SQL("ADD PATCH FOR VERSION"),
		).
		OptionalSetTags().
		OptionalUnsetTags().
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "ModifyReleaseDirective", "SetDefaultReleaseDirective", "SetReleaseDirective", "UnsetReleaseDirective", "AddVersion", "DropVersion", "AddPatchForVersion", "SetTags", "UnsetTags"),
).DropOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/drop-application-package",
	g.NewQueryStruct("DropApplicationPackage").
		Drop().
		SQL("APPLICATION PACKAGE").
		Name().
		WithValidation(g.ValidIdentifier, "name"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-application-packages",
	g.DbStruct("applicationPackageRow").
		Field("created_on", "string").
		Field("name", "string").
		Field("is_default", "string").
		Field("is_current", "string").
		Field("distribution", "string").
		Field("owner", "string").
		Field("comment", "string").
		Field("retention_time", "int").
		Field("options", "string").
		Field("dropped_on", "sql.NullString").
		Field("application_class", "sql.NullString"),
	g.PlainStruct("ApplicationPackage").
		Field("CreatedOn", "string").
		Field("Name", "string").
		Field("IsDefault", "bool").
		Field("IsCurrent", "bool").
		Field("Distribution", "string").
		Field("Owner", "string").
		Field("Comment", "string").
		Field("RetentionTime", "int").
		Field("Options", "string").
		Field("DroppedOn", "string").
		Field("ApplicationClass", "string"),
	g.NewQueryStruct("ShowApplicationPackages").
		Show().
		SQL("APPLICATION PACKAGES").
		OptionalLike().
		OptionalStartsWith().
		OptionalLimit(),
).ShowByIdOperation()
View Source
var ApplicationRolesDef = g.NewInterface(
	"ApplicationRoles",
	"ApplicationRole",
	g.KindOfT[DatabaseObjectIdentifier](),
).CustomOperation(
	"Grant",
	"https://docs.snowflake.com/en/sql-reference/sql/grant-application-role",
	g.NewQueryStruct("GrantApplicationRole").
		Grant().
		SQL("APPLICATION ROLE").
		Name().
		QueryStructField(
			"To",
			applicationRoleKindOfRole,
			g.KeywordOptions().SQL("TO"),
		).
		WithValidation(g.ValidIdentifier, "name"),
).CustomOperation(
	"Revoke",
	"https://docs.snowflake.com/en/sql-reference/sql/revoke-application-role",
	g.NewQueryStruct("RevokeApplicationRole").
		Revoke().
		SQL("APPLICATION ROLE").
		Name().
		QueryStructField(
			"From",
			applicationRoleKindOfRole,
			g.KeywordOptions().SQL("FROM"),
		).
		WithValidation(g.ValidIdentifier, "name"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-application-roles",
	g.DbStruct("applicationRoleDbRow").
		Field("created_on", "time.Time").
		Field("name", "string").
		Field("owner", "string").
		Field("comment", "string").
		Field("owner_role_type", "string"),
	g.PlainStruct("ApplicationRole").
		Field("CreatedOn", "time.Time").
		Field("Name", "string").
		Field("Owner", "string").
		Field("Comment", "string").
		Field("OwnerRoleType", "string"),
	g.NewQueryStruct("ShowApplicationRoles").
		Show().
		SQL("APPLICATION ROLES IN APPLICATION").
		Identifier("ApplicationName", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions()).
		OptionalLimitFrom().
		WithValidation(g.ValidIdentifier, "ApplicationName"),
).ShowByIdOperation()
View Source
var ApplicationsDef = g.NewInterface(
	"Applications",
	"Application",
	g.KindOfT[AccountObjectIdentifier](),
).CreateOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/create-application",
	g.NewQueryStruct("CreateApplication").
		Create().
		SQL("APPLICATION").
		Name().
		SQL("FROM APPLICATION PACKAGE").
		Identifier("PackageName", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		OptionalQueryStructField(
			"Version",
			applicationVersion,
			g.KeywordOptions().SQL("USING"),
		).
		OptionalBooleanAssignment("DEBUG_MODE", g.ParameterOptions()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		OptionalTags().
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidIdentifier, "PackageName"),
).DropOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/drop-application",
	g.NewQueryStruct("DropApplication").
		Drop().
		SQL("APPLICATION").
		IfExists().
		Name().
		OptionalSQL("CASCADE").
		WithValidation(g.ValidIdentifier, "name"),
).AlterOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/alter-application",
	g.NewQueryStruct("AlterApplication").
		Alter().
		SQL("APPLICATION").
		IfExists().
		Name().
		OptionalQueryStructField(
			"Set",
			applicationSet,
			g.KeywordOptions().SQL("SET"),
		).
		OptionalQueryStructField(
			"Unset",
			applicationUnset,
			g.ListOptions().NoParentheses().SQL("UNSET"),
		).
		OptionalSQL("UPGRADE").
		OptionalQueryStructField(
			"UpgradeVersion",
			applicationVersion,
			g.KeywordOptions().SQL("UPGRADE USING"),
		).
		OptionalQueryStructField(
			"UnsetReferences",
			applicationReferences,
			g.KeywordOptions().SQL("UNSET REFERENCES"),
		).
		OptionalSetTags().
		OptionalUnsetTags().
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "Upgrade", "UpgradeVersion", "UnsetReferences", "SetTags", "UnsetTags"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-applications",
	g.DbStruct("applicationRow").
		Field("created_on", "string").
		Field("name", "string").
		Field("is_default", "string").
		Field("is_current", "string").
		Field("source_type", "string").
		Field("source", "string").
		Field("owner", "string").
		Field("comment", "string").
		Field("version", "string").
		Field("label", "string").
		Field("patch", "int").
		Field("options", "string").
		Field("retention_time", "int"),
	g.PlainStruct("Application").
		Field("CreatedOn", "string").
		Field("Name", "string").
		Field("IsDefault", "bool").
		Field("IsCurrent", "bool").
		Field("SourceType", "string").
		Field("Source", "string").
		Field("Owner", "string").
		Field("Comment", "string").
		Field("Version", "string").
		Field("Label", "string").
		Field("Patch", "int").
		Field("Options", "string").
		Field("RetentionTime", "int"),
	g.NewQueryStruct("ShowApplications").
		Show().
		SQL("APPLICATIONS").
		OptionalLike().
		OptionalStartsWith().
		OptionalLimit(),
).ShowByIdOperation().DescribeOperation(
	g.DescriptionMappingKindSlice,
	"https://docs.snowflake.com/en/sql-reference/sql/desc-application",
	g.DbStruct("applicationPropertyRow").
		Field("property", "string").
		Field("value", "sql.NullString"),
	g.PlainStruct("ApplicationProperty").
		Field("Property", "string").
		Field("Value", "string"),
	g.NewQueryStruct("DescribeApplication").
		Describe().
		SQL("APPLICATION").
		Name().
		WithValidation(g.ValidIdentifier, "name"),
)
View Source
var AuthenticationPoliciesDef = g.NewInterface(
	"AuthenticationPolicies",
	"AuthenticationPolicy",
	g.KindOfT[SchemaObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-authentication-policy",
		g.NewQueryStruct("CreateAuthenticationPolicy").
			Create().
			OrReplace().
			SQL("AUTHENTICATION POLICY").
			IfNotExists().
			Name().
			ListAssignment("AUTHENTICATION_METHODS", "AuthenticationMethods", g.ParameterOptions().Parentheses()).
			ListAssignment("MFA_AUTHENTICATION_METHODS", "MfaAuthenticationMethods", g.ParameterOptions().Parentheses()).
			PredefinedQueryStructField("MfaEnrollment", g.KindOfTPointer[MfaEnrollmentOption](), g.ParameterOptions().SQL("MFA_ENROLLMENT")).
			ListAssignment("CLIENT_TYPES", "ClientTypes", g.ParameterOptions().Parentheses()).
			ListAssignment("SECURITY_INTEGRATIONS", "SecurityIntegrationsOption", g.ParameterOptions().Parentheses()).
			OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "IfNotExists", "OrReplace"),
		AuthenticationMethodsOptionDef,
		MfaAuthenticationMethodsOptionDef,
		ClientTypesOptionDef,
		SecurityIntegrationsOptionDef,
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-authentication-policy",
		g.NewQueryStruct("AlterAuthenticationPolicy").
			Alter().
			SQL("AUTHENTICATION POLICY").
			IfExists().
			Name().
			OptionalQueryStructField(
				"Set",
				g.NewQueryStruct("AuthenticationPolicySet").
					ListAssignment("AUTHENTICATION_METHODS", "AuthenticationMethods", g.ParameterOptions().Parentheses()).
					ListAssignment("MFA_AUTHENTICATION_METHODS", "MfaAuthenticationMethods", g.ParameterOptions().Parentheses()).
					PredefinedQueryStructField("MfaEnrollment", g.KindOfTPointer[MfaEnrollmentOption](), g.ParameterOptions().SQL("MFA_ENROLLMENT")).
					ListAssignment("CLIENT_TYPES", "ClientTypes", g.ParameterOptions().Parentheses()).
					ListAssignment("SECURITY_INTEGRATIONS", "SecurityIntegrationsOption", g.ParameterOptions().Parentheses()).
					OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
					WithValidation(g.AtLeastOneValueSet, "AuthenticationMethods", "MfaAuthenticationMethods", "MfaEnrollment", "ClientTypes", "SecurityIntegrations", "Comment"),
				g.KeywordOptions().SQL("SET"),
			).
			OptionalQueryStructField(
				"Unset",
				g.NewQueryStruct("AuthenticationPolicyUnset").
					OptionalSQL("CLIENT_TYPES").
					OptionalSQL("AUTHENTICATION_METHODS").
					OptionalSQL("SECURITY_INTEGRATIONS").
					OptionalSQL("MFA_AUTHENTICATION_METHODS").
					OptionalSQL("MFA_ENROLLMENT").
					OptionalSQL("COMMENT").
					WithValidation(g.AtLeastOneValueSet, "ClientTypes", "AuthenticationMethods", "Comment", "SecurityIntegrations", "MfaAuthenticationMethods", "MfaEnrollment"),
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).
			Identifier("RenameTo", g.KindOfTPointer[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "RenameTo").
			WithValidation(g.ValidIdentifierIfSet, "RenameTo"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-authentication-policy",
		g.NewQueryStruct("DropAuthenticationPolicy").
			Drop().
			SQL("AUTHENTICATION POLICY").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-authentication-policies",
		g.DbStruct("showAuthenticationPolicyDBRow").
			Field("created_on", "string").
			Field("name", "string").
			Field("comment", "string").
			Field("database_name", "string").
			Field("schema_name", "string").
			Field("owner", "string").
			Field("owner_role_type", "string").
			Field("options", "string"),
		g.PlainStruct("AuthenticationPolicy").
			Field("CreatedOn", "string").
			Field("Name", "string").
			Field("Comment", "string").
			Field("DatabaseName", "string").
			Field("SchemaName", "string").
			Field("Owner", "string").
			Field("OwnerRoleType", "string").
			Field("Options", "string"),
		g.NewQueryStruct("ShowAuthenticationPolicies").
			Show().
			SQL("AUTHENTICATION POLICIES").
			OptionalLike().
			OptionalIn().
			OptionalStartsWith().
			OptionalLimit(),
	).
	ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSlice,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-authentication-policy",
		g.DbStruct("describeAuthenticationPolicyDBRow").
			Text("property").
			Text("value").
			Text("default").
			Text("description"),
		g.PlainStruct("AuthenticationPolicyDescription").
			Text("Property").
			Text("Value").
			Text("Default").
			Text("Description"),
		g.NewQueryStruct("DescribeAuthenticationPolicy").
			Describe().
			SQL("AUTHENTICATION POLICY").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)
View Source
var CortexSearchServiceDef = g.NewInterface(
	"CortexSearchServices",
	"CortexSearchService",
	g.KindOfT[SchemaObjectIdentifier](),
).CreateOperation(
	"https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/create-cortex-search",
	g.NewQueryStruct("CreateCortexSearchService").
		Create().
		OrReplace().
		SQL("CORTEX SEARCH SERVICE").
		IfNotExists().
		Name().
		TextAssignment("ON", g.ParameterOptions().NoEquals().NoQuotes().Required().SQL("ON")).
		OptionalQueryStructField(
			"Attributes",
			g.NewQueryStruct("Attributes").
				SQL("ATTRIBUTES").
				List("Columns", "string", g.ListOptions().NoEquals().NoParentheses()),
			g.KeywordOptions(),
		).
		Identifier("Warehouse", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Equals().Required().SQL("WAREHOUSE")).
		TextAssignment("TARGET_LAG", g.ParameterOptions().SingleQuotes().Required()).
		OptionalComment().
		PredefinedQueryStructField("QueryDefinition", "string", g.ParameterOptions().NoEquals().NoQuotes().Required().SQL("AS")).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidateValueSet, "On").
		WithValidation(g.ValidateValueSet, "TargetLag").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
).AlterOperation(
	"https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/alter-cortex-search",
	g.NewQueryStruct("AlterCortexSearchService").
		Alter().
		SQL("CORTEX SEARCH SERVICE").
		IfExists().
		Name().
		OptionalQueryStructField("Set", alterServiceSet, g.KeywordOptions().SQL("SET")).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ExactlyOneValueSet, "Set"),
).ShowOperation(
	"https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/show-cortex-search",

	g.DbStruct("cortexSearchServiceRow").
		Field("created_on", "time.Time").
		Field("name", "string").
		Field("database_name", "string").
		Field("schema_name", "string").
		OptionalText("comment"),
	g.PlainStruct("CortexSearchService").
		Field("CreatedOn", "time.Time").
		Field("Name", "string").
		Field("DatabaseName", "string").
		Field("SchemaName", "string").
		Field("Comment", "string"),
	g.NewQueryStruct("ShowCortexSearchService").
		Show().
		SQL("CORTEX SEARCH SERVICES").
		OptionalLike().
		OptionalIn().
		OptionalStartsWith().
		OptionalLimitFrom(),
).ShowByIdOperation().DescribeOperation(
	g.DescriptionMappingKindSingleValue,
	"https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/desc-cortex-search",
	g.DbStruct("cortexSearchServiceDetailsRow").
		Text("created_on").
		Text("name").
		Text("database_name").
		Text("schema_name").
		Text("target_lag").
		Text("warehouse").
		OptionalText("search_column").
		OptionalText("attribute_columns").
		OptionalText("columns").
		OptionalText("definition").
		OptionalText("comment").
		Text("service_query_url").
		Text("data_timestamp").
		Number("source_data_num_rows").
		Text("indexing_state").
		OptionalText("indexing_error"),
	g.PlainStruct("CortexSearchServiceDetails").
		Text("CreatedOn").
		Text("Name").
		Text("DatabaseName").
		Text("SchemaName").
		Text("TargetLag").
		Text("Warehouse").
		OptionalText("SearchColumn").
		Field("AttributeColumns", "[]string").
		Field("Columns", "[]string").
		OptionalText("Definition").
		OptionalText("Comment").
		Text("ServiceQueryUrl").
		Text("DataTimestamp").
		Number("SourceDataNumRows").
		Text("IndexingState").
		OptionalText("IndexingError"),
	g.NewQueryStruct("DescribeCortexSearchService").
		Describe().
		SQL("CORTEX SEARCH SERVICE").
		Name().
		WithValidation(g.ValidIdentifier, "name"),
).DropOperation(
	"https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/drop-cortex-search",
	g.NewQueryStruct("DropCortexSearchService").
		Drop().
		SQL("CORTEX SEARCH SERVICE").
		IfExists().
		Name().
		WithValidation(g.ValidIdentifier, "name"),
)
View Source
var DataMetricFunctionReferenceDef = g.NewInterface(
	"DataMetricFunctionReferences",
	"DataMetricFunctionReference",
	g.KindOfT[SchemaObjectIdentifier](),
).CustomOperation(
	"GetForEntity",
	"https://docs.snowflake.com/en/sql-reference/functions/data_metric_function_references",
	g.NewQueryStruct("GetForEntity").
		SQL("SELECT * FROM TABLE(REF_ENTITY_NAME => ").
		Identifier("refEntityName", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		SQL(", ").
		Assignment(
			"REF_ENTITY_DOMAIN",
			g.KindOfT[DataMetricFuncionRefEntityDomainOption](),
			g.ParameterOptions().SingleQuotes().ArrowEquals().Required(),
		).
		SQL(")"),
	g.DbStruct("dataMetricFunctionReferencesRow").
		Text("metric_database_name").
		Text("metric_schema_name").
		Text("metric_name").
		Text("argument_signature").
		Text("data_type").
		Text("ref_database_name").
		Text("ref_schema_name").
		Text("ref_entity_name").
		Text("ref_entity_domain").
		Text("ref_arguments").
		Text("ref_id").
		Text("schedule").
		Text("schedule_status"),
	g.PlainStruct("DataMetricFunctionReference").
		Text("MetricDatabaseName").
		Text("MetricSchemaName").
		Text("MetricName").
		Text("ArgumentSignature").
		Text("DataType").
		Text("RefDatabaseName").
		Text("RefSchemaName").
		Text("RefEntityName").
		Text("RefEntityDomain").
		Text("RefArguments").
		Text("RefId").
		Text("Schedule").
		Text("ScheduleStatus"),
)
View Source
var EventTablesDef = g.NewInterface(
	"EventTables",
	"EventTable",
	g.KindOfT[SchemaObjectIdentifier](),
).CreateOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/create-event-table",
	g.NewQueryStruct("CreateEventTable").
		Create().
		OrReplace().
		SQL("EVENT TABLE").
		IfNotExists().
		Name().
		NamedListWithParens("CLUSTER BY", g.KindOfT[string](), g.KeywordOptions()).
		OptionalNumberAssignment("DATA_RETENTION_TIME_IN_DAYS", g.ParameterOptions()).
		OptionalNumberAssignment("MAX_DATA_EXTENSION_TIME_IN_DAYS", g.ParameterOptions()).
		OptionalBooleanAssignment("CHANGE_TRACKING", g.ParameterOptions()).
		OptionalTextAssignment("DEFAULT_DDL_COLLATION", g.ParameterOptions().SingleQuotes()).
		OptionalSQL("COPY GRANTS").
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("RowAccessPolicy", "*RowAccessPolicy", g.KeywordOptions()).
		OptionalTags().
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-event-tables",
	g.DbStruct("eventTableRow").
		Field("created_on", "time.Time").
		Field("name", "string").
		Field("database_name", "string").
		Field("schema_name", "string").
		Field("owner", "sql.NullString").
		Field("comment", "sql.NullString").
		Field("owner_role_type", "sql.NullString"),
	g.PlainStruct("EventTable").
		Field("CreatedOn", "time.Time").
		Field("Name", "string").
		Field("DatabaseName", "string").
		Field("SchemaName", "string").
		Field("Owner", "string").
		Field("Comment", "string").
		Field("OwnerRoleType", "string"),
	g.NewQueryStruct("ShowEventTables").
		Show().
		Terse().
		SQL("EVENT TABLES").
		OptionalLike().
		OptionalIn().
		OptionalStartsWith().
		OptionalLimit(),
).ShowByIdOperation().DescribeOperation(
	g.DescriptionMappingKindSingleValue,
	"https://docs.snowflake.com/en/sql-reference/sql/desc-event-table",
	g.DbStruct("eventTableDetailsRow").
		Field("name", "string").
		Field("kind", "string").
		Field("comment", "string"),
	g.PlainStruct("EventTableDetails").
		Field("Name", "string").
		Field("Kind", "string").
		Field("Comment", "string"),
	g.NewQueryStruct("DescribeEventTable").
		Describe().
		SQL("EVENT TABLE").
		Name().
		WithValidation(g.ValidIdentifier, "name"),
).DropOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/drop-table",
	g.NewQueryStruct("DropEventTable").
		Drop().
		SQL("TABLE").
		IfExists().
		Name().
		OptionalSQL("RESTRICT").
		WithValidation(g.ValidIdentifier, "name"),
).AlterOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/alter-table-event-table",
	g.NewQueryStruct("AlterEventTable").
		Alter().
		SQL("TABLE").
		IfNotExists().
		Name().
		OptionalQueryStructField(
			"Set",
			eventTableSet,
			g.KeywordOptions().SQL("SET"),
		).
		OptionalQueryStructField(
			"Unset",
			eventTableUnset,
			g.KeywordOptions().SQL("UNSET"),
		).
		OptionalQueryStructField("AddRowAccessPolicy", eventTableAddRowAccessPolicy, g.KeywordOptions()).
		OptionalQueryStructField("DropRowAccessPolicy", eventTableDropRowAccessPolicy, g.KeywordOptions()).
		OptionalQueryStructField("DropAndAddRowAccessPolicy", eventTableDropAndAddRowAccessPolicy, g.ListOptions().NoParentheses()).
		OptionalSQL("DROP ALL ROW ACCESS POLICIES").
		OptionalQueryStructField(
			"ClusteringAction",
			eventTableClusteringAction,
			g.KeywordOptions(),
		).
		OptionalQueryStructField(
			"SearchOptimizationAction",
			eventTableSearchOptimizationAction,
			g.KeywordOptions(),
		).
		OptionalSetTags().
		OptionalUnsetTags().
		Identifier("RenameTo", g.KindOfTPointer[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ExactlyOneValueSet, "RenameTo", "Set", "Unset", "SetTags", "UnsetTags", "AddRowAccessPolicy", "DropRowAccessPolicy", "DropAndAddRowAccessPolicy", "DropAllRowAccessPolicies", "ClusteringAction", "SearchOptimizationAction"),
)
View Source
var ExternalFunctionsDef = g.NewInterface(
	"ExternalFunctions",
	"ExternalFunction",
	g.KindOfT[SchemaObjectIdentifierWithArguments](),
).CreateOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/create-external-function",
	g.NewQueryStruct("CreateExternalFunction").
		Create().
		OrReplace().
		OptionalSQL("SECURE").
		SQL("EXTERNAL FUNCTION").
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			externalFunctionArgument,
			g.ListOptions().MustParentheses()).
		PredefinedQueryStructField("ResultDataType", g.KindOfT[DataType](), g.ParameterOptions().NoEquals().SQL("RETURNS").Required()).
		PredefinedQueryStructField("ReturnNullValues", g.KindOfTPointer[ReturnNullValues](), g.KeywordOptions()).
		PredefinedQueryStructField("NullInputBehavior", g.KindOfTPointer[NullInputBehavior](), g.KeywordOptions()).
		PredefinedQueryStructField("ReturnResultsBehavior", g.KindOfTPointer[ReturnResultsBehavior](), g.KeywordOptions()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		Identifier("ApiIntegration", g.KindOfTPointer[AccountObjectIdentifier](), g.IdentifierOptions().SQL("API_INTEGRATION =").Required()).
		ListQueryStructField(
			"Headers",
			externalFunctionHeader,
			g.ParameterOptions().Parentheses().SQL("HEADERS"),
		).
		ListQueryStructField(
			"ContextHeaders",
			externalFunctionContextHeader,
			g.ParameterOptions().Parentheses().SQL("CONTEXT_HEADERS"),
		).
		OptionalNumberAssignment("MAX_BATCH_ROWS", g.ParameterOptions()).
		OptionalTextAssignment("COMPRESSION", g.ParameterOptions()).
		OptionalIdentifier("RequestTranslator", g.KindOfTPointer[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("REQUEST_TRANSLATOR =")).
		OptionalIdentifier("ResponseTranslator", g.KindOfTPointer[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RESPONSE_TRANSLATOR =")).
		TextAssignment("AS", g.ParameterOptions().NoEquals().SingleQuotes().Required()).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidateValueSet, "ApiIntegration").
		WithValidation(g.ValidIdentifierIfSet, "RequestTranslator").
		WithValidation(g.ValidateValueSet, "As").
		WithValidation(g.ValidIdentifierIfSet, "ResponseTranslator"),
).AlterOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/alter-function",
	g.NewQueryStruct("AlterExternalFunction").
		Alter().
		SQL("FUNCTION").
		IfExists().
		Name().
		OptionalQueryStructField(
			"Set",
			externalFunctionSet,
			g.KeywordOptions().SQL("SET"),
		).
		OptionalQueryStructField(
			"Unset",
			externalFunctionUnset,
			g.ListOptions().NoParentheses().SQL("UNSET"),
		).
		WithValidation(g.ExactlyOneValueSet, "Set", "Unset").
		WithValidation(g.ValidIdentifier, "name"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-external-functions",
	g.DbStruct("externalFunctionRow").
		Field("created_on", "string").
		Field("name", "string").
		Field("schema_name", "sql.NullString").
		Field("is_builtin", "string").
		Field("is_aggregate", "string").
		Field("is_ansi", "string").
		Field("min_num_arguments", "int").
		Field("max_num_arguments", "int").
		Field("arguments", "string").
		Field("description", "string").
		Field("schema_name", "sql.NullString").
		Field("is_table_function", "string").
		Field("valid_for_clustering", "string").
		Field("is_secure", "sql.NullString").
		Field("is_external_function", "string").
		Field("language", "string").
		Field("is_memoizable", "sql.NullString").
		Field("is_data_metric", "sql.NullString"),
	g.PlainStruct("ExternalFunction").
		Field("CreatedOn", "string").
		Field("Name", "string").
		Field("SchemaName", "string").
		Field("IsBuiltin", "bool").
		Field("IsAggregate", "bool").
		Field("IsAnsi", "bool").
		Field("MinNumArguments", "int").
		Field("MaxNumArguments", "int").
		Field("Arguments", "string").
		Field("Description", "string").
		Field("CatalogName", "string").
		Field("IsTableFunction", "bool").
		Field("ValidForClustering", "bool").
		Field("IsSecure", "bool").
		Field("IsExternalFunction", "bool").
		Field("Language", "string").
		Field("IsMemoizable", "bool").
		Field("IsDataMetric", "bool"),
	g.NewQueryStruct("ShowFunctions").
		Show().
		SQL("EXTERNAL FUNCTIONS").
		OptionalLike().
		OptionalIn(),
).ShowByIdOperation().DescribeOperation(
	g.DescriptionMappingKindSlice,
	"https://docs.snowflake.com/en/sql-reference/sql/desc-function",
	g.DbStruct("externalFunctionPropertyRow").
		Field("property", "string").
		Field("value", "string"),
	g.PlainStruct("ExternalFunctionProperty").
		Field("Property", "string").
		Field("Value", "string"),
	g.NewQueryStruct("DescribeExternalFunction").
		Describe().
		SQL("FUNCTION").
		Name().
		WithValidation(g.ValidIdentifier, "name"),
)
View Source
var ExternalVolumesDef = g.NewInterface(
	"ExternalVolumes",
	"ExternalVolume",
	g.KindOfT[AccountObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-external-volume",
		g.NewQueryStruct("CreateExternalVolume").
			Create().
			OrReplace().
			SQL("EXTERNAL VOLUME").
			IfNotExists().
			Name().
			ListAssignment("STORAGE_LOCATIONS", "ExternalVolumeStorageLocation", g.ParameterOptions().Parentheses().Required()).
			OptionalBooleanAssignment("ALLOW_WRITES", nil).
			OptionalComment().
			WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists").
			WithValidation(g.ValidIdentifier, "name"),
		storageLocationDef,
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-external-volume",
		g.NewQueryStruct("AlterExternalVolume").
			Alter().
			SQL("EXTERNAL VOLUME").
			IfExists().
			Name().
			OptionalTextAssignment("REMOVE STORAGE_LOCATION", g.ParameterOptions().SingleQuotes().NoEquals()).
			OptionalQueryStructField(
				"Set",
				g.NewQueryStruct("AlterExternalVolumeSet").
					OptionalBooleanAssignment("ALLOW_WRITES", g.ParameterOptions()).
					OptionalComment(),
				g.KeywordOptions().SQL("SET"),
			).
			OptionalQueryStructField(
				"AddStorageLocation",
				storageLocationDef,
				g.ParameterOptions().SQL("ADD STORAGE_LOCATION"),
			).
			WithValidation(g.ExactlyOneValueSet, "RemoveStorageLocation", "Set", "AddStorageLocation").
			WithValidation(g.ValidIdentifier, "name"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-external-volume",
		g.NewQueryStruct("DropExternalVolume").
			Drop().
			SQL("EXTERNAL VOLUME").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	DescribeOperation(
		g.DescriptionMappingKindSlice,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-external-volume",
		g.DbStruct("externalVolumeDescRow").
			Text("parent_property").
			Text("property").
			Text("property_type").
			Text("property_value").
			Text("property_default"),
		g.PlainStruct("ExternalVolumeProperty").
			Text("Parent").
			Text("Name").
			Text("Type").
			Text("Value").
			Text("Default"),
		g.NewQueryStruct("DescExternalVolume").
			Describe().
			SQL("EXTERNAL VOLUME").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-external-volumes",
		g.DbStruct("externalVolumeShowRow").
			Text("name").
			Text("allow_writes").
			Text("comment"),
		g.PlainStruct("ExternalVolume").
			Text("Name").
			Text("AllowWrites").
			Text("Comment"),
		g.NewQueryStruct("ShowExternalVolumes").
			Show().
			SQL("EXTERNAL VOLUMES").
			OptionalLike(),
	).
	ShowByIdOperation()
View Source
var FunctionsDef = g.NewInterface(
	"Functions",
	"Function",
	g.KindOfT[SchemaObjectIdentifierWithArguments](),
).CustomOperation(
	"CreateForJava",
	"https://docs.snowflake.com/en/sql-reference/sql/create-function#java-handler",
	g.NewQueryStruct("CreateForJava").
		Create().
		OrReplace().
		OptionalSQL("TEMPORARY").
		OptionalSQL("SECURE").
		SQL("FUNCTION").
		IfNotExists().
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			functionArgument,
			g.ListOptions().MustParentheses()).
		OptionalSQL("COPY GRANTS").
		QueryStructField(
			"Returns",
			functionReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		PredefinedQueryStructField("ReturnNullValues", "*ReturnNullValues", g.KeywordOptions()).
		SQL("LANGUAGE JAVA").
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		PredefinedQueryStructField("ReturnResultsBehavior", "*ReturnResultsBehavior", g.KeywordOptions()).
		OptionalTextAssignment("RUNTIME_VERSION", g.ParameterOptions().SingleQuotes()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		ListQueryStructField(
			"Imports",
			functionImports,
			g.ParameterOptions().Parentheses().SQL("IMPORTS"),
		).
		ListQueryStructField(
			"Packages",
			functionPackages,
			g.ParameterOptions().Parentheses().SQL("PACKAGES"),
		).
		TextAssignment("HANDLER", g.ParameterOptions().SingleQuotes().Required()).
		ListAssignment("EXTERNAL_ACCESS_INTEGRATIONS", "AccountObjectIdentifier", g.ParameterOptions().Parentheses()).
		ListAssignment("SECRETS", "SecretReference", g.ParameterOptions().Parentheses()).
		OptionalTextAssignment("TARGET_PATH", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("FunctionDefinition", "*string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS")).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidateValueSet, "Handler").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
).CustomOperation(
	"CreateForJavascript",
	"https://docs.snowflake.com/en/sql-reference/sql/create-function#javascript-handler",
	g.NewQueryStruct("CreateForJavascript").
		Create().
		OrReplace().
		OptionalSQL("TEMPORARY").
		OptionalSQL("SECURE").
		SQL("FUNCTION").
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			functionArgument,
			g.ListOptions().MustParentheses()).
		OptionalSQL("COPY GRANTS").
		QueryStructField(
			"Returns",
			functionReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		PredefinedQueryStructField("ReturnNullValues", "*ReturnNullValues", g.KeywordOptions()).
		SQL("LANGUAGE JAVASCRIPT").
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		PredefinedQueryStructField("ReturnResultsBehavior", "*ReturnResultsBehavior", g.KeywordOptions()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("FunctionDefinition", "string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS").Required()).
		WithValidation(g.ValidateValueSet, "FunctionDefinition").
		WithValidation(g.ValidIdentifier, "name"),
).CustomOperation(
	"CreateForPython",
	"https://docs.snowflake.com/en/sql-reference/sql/create-function#python-handler",
	g.NewQueryStruct("CreateForPython").
		Create().
		OrReplace().
		OptionalSQL("TEMPORARY").
		OptionalSQL("SECURE").
		SQL("FUNCTION").
		IfNotExists().
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			functionArgument,
			g.ListOptions().MustParentheses()).
		OptionalSQL("COPY GRANTS").
		QueryStructField(
			"Returns",
			functionReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		PredefinedQueryStructField("ReturnNullValues", "*ReturnNullValues", g.KeywordOptions()).
		SQL("LANGUAGE PYTHON").
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		PredefinedQueryStructField("ReturnResultsBehavior", "*ReturnResultsBehavior", g.KeywordOptions()).
		TextAssignment("RUNTIME_VERSION", g.ParameterOptions().SingleQuotes().Required()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		ListQueryStructField(
			"Imports",
			functionImports,
			g.ParameterOptions().Parentheses().SQL("IMPORTS"),
		).
		ListQueryStructField(
			"Packages",
			functionPackages,
			g.ParameterOptions().Parentheses().SQL("PACKAGES"),
		).
		TextAssignment("HANDLER", g.ParameterOptions().SingleQuotes().Required()).
		ListAssignment("EXTERNAL_ACCESS_INTEGRATIONS", "AccountObjectIdentifier", g.ParameterOptions().Parentheses()).
		ListAssignment("SECRETS", "SecretReference", g.ParameterOptions().Parentheses()).
		PredefinedQueryStructField("FunctionDefinition", "*string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS")).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidateValueSet, "RuntimeVersion").
		WithValidation(g.ValidateValueSet, "Handler").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
).CustomOperation(
	"CreateForScala",
	"https://docs.snowflake.com/en/sql-reference/sql/create-function#scala-handler",
	g.NewQueryStruct("CreateForScala").
		Create().
		OrReplace().
		OptionalSQL("TEMPORARY").
		OptionalSQL("SECURE").
		SQL("FUNCTION").
		IfNotExists().
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			functionArgument,
			g.ListOptions().MustParentheses()).
		OptionalSQL("COPY GRANTS").
		PredefinedQueryStructField("ResultDataType", "DataType", g.ParameterOptions().NoEquals().SQL("RETURNS").Required()).
		PredefinedQueryStructField("ReturnNullValues", "*ReturnNullValues", g.KeywordOptions()).
		SQL("LANGUAGE SCALA").
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		PredefinedQueryStructField("ReturnResultsBehavior", "*ReturnResultsBehavior", g.KeywordOptions()).
		OptionalTextAssignment("RUNTIME_VERSION", g.ParameterOptions().SingleQuotes()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		ListQueryStructField(
			"Imports",
			functionImports,
			g.ParameterOptions().Parentheses().SQL("IMPORTS"),
		).
		ListQueryStructField(
			"Packages",
			functionPackages,
			g.ParameterOptions().Parentheses().SQL("PACKAGES"),
		).
		TextAssignment("HANDLER", g.ParameterOptions().SingleQuotes().Required()).
		OptionalTextAssignment("TARGET_PATH", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("FunctionDefinition", "*string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS")).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidateValueSet, "Handler").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
).CustomOperation(
	"CreateForSQL",
	"https://docs.snowflake.com/en/sql-reference/sql/create-function#sql-handler",
	g.NewQueryStruct("CreateForSQL").
		Create().
		OrReplace().
		OptionalSQL("TEMPORARY").
		OptionalSQL("SECURE").
		SQL("FUNCTION").
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			functionArgument,
			g.ListOptions().MustParentheses()).
		OptionalSQL("COPY GRANTS").
		QueryStructField(
			"Returns",
			functionReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		PredefinedQueryStructField("ReturnNullValues", "*ReturnNullValues", g.KeywordOptions()).
		PredefinedQueryStructField("ReturnResultsBehavior", "*ReturnResultsBehavior", g.KeywordOptions()).
		OptionalSQL("MEMOIZABLE").
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("FunctionDefinition", "string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS").Required()).
		WithValidation(g.ValidateValueSet, "FunctionDefinition").
		WithValidation(g.ValidIdentifier, "name"),
).AlterOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/alter-function",
	g.NewQueryStruct("AlterFunction").
		Alter().
		SQL("FUNCTION").
		IfExists().
		Name().
		Identifier("RenameTo", g.KindOfTPointer[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
		OptionalTextAssignment("SET COMMENT", g.ParameterOptions().SingleQuotes()).
		OptionalTextAssignment("SET LOG_LEVEL", g.ParameterOptions().SingleQuotes()).
		OptionalTextAssignment("SET TRACE_LEVEL", g.ParameterOptions().SingleQuotes()).
		OptionalSQL("SET SECURE").
		OptionalSQL("UNSET SECURE").
		OptionalSQL("UNSET LOG_LEVEL").
		OptionalSQL("UNSET TRACE_LEVEL").
		OptionalSQL("UNSET COMMENT").
		OptionalSetTags().
		OptionalUnsetTags().
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidIdentifierIfSet, "RenameTo").
		WithValidation(g.ExactlyOneValueSet, "RenameTo", "SetComment", "SetLogLevel", "SetTraceLevel", "SetSecure", "UnsetLogLevel", "UnsetTraceLevel", "UnsetSecure", "UnsetComment", "SetTags", "UnsetTags"),
).DropOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/drop-function",
	g.NewQueryStruct("DropFunction").
		Drop().
		SQL("FUNCTION").
		IfExists().
		Name().
		WithValidation(g.ValidIdentifier, "name"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-user-functions",
	g.DbStruct("functionRow").
		Field("created_on", "string").
		Field("name", "string").
		Field("schema_name", "string").
		Field("is_builtin", "string").
		Field("is_aggregate", "string").
		Field("is_ansi", "string").
		Field("min_num_arguments", "int").
		Field("max_num_arguments", "int").
		Field("arguments", "string").
		Field("description", "string").
		Field("catalog_name", "string").
		Field("is_table_function", "string").
		Field("valid_for_clustering", "string").
		Field("is_secure", "sql.NullString").
		Field("is_external_function", "string").
		Field("language", "string").
		Field("is_memoizable", "sql.NullString"),
	g.PlainStruct("Function").
		Field("CreatedOn", "string").
		Field("Name", "string").
		Field("SchemaName", "string").
		Field("IsBuiltin", "bool").
		Field("IsAggregate", "bool").
		Field("IsAnsi", "bool").
		Field("MinNumArguments", "int").
		Field("MaxNumArguments", "int").
		Field("Arguments", "string").
		Field("Description", "string").
		Field("CatalogName", "string").
		Field("IsTableFunction", "bool").
		Field("ValidForClustering", "bool").
		Field("IsSecure", "bool").
		Field("IsExternalFunction", "bool").
		Field("Language", "string").
		Field("IsMemoizable", "bool"),
	g.NewQueryStruct("ShowFunctions").
		Show().
		SQL("USER FUNCTIONS").
		OptionalLike().
		OptionalIn(),
).ShowByIdOperation().DescribeOperation(
	g.DescriptionMappingKindSlice,
	"https://docs.snowflake.com/en/sql-reference/sql/desc-function",
	g.DbStruct("functionDetailRow").
		Field("property", "string").
		Field("value", "sql.NullString"),
	g.PlainStruct("FunctionDetail").
		Field("Property", "string").
		Field("Value", "string"),
	g.NewQueryStruct("DescribeFunction").
		Describe().
		SQL("FUNCTION").
		Name().
		WithValidation(g.ValidIdentifier, "name"),
)
View Source
var ManagedAccountsDef = g.NewInterface(
	"ManagedAccounts",
	"ManagedAccount",
	g.KindOfT[AccountObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-managed-account",
		g.NewQueryStruct("CreateManagedAccount").
			Create().
			SQL("MANAGED ACCOUNT").
			Name().
			QueryStructField(
				"CreateManagedAccountParams",
				g.NewQueryStruct("CreateManagedAccountParams").
					TextAssignment("ADMIN_NAME", g.ParameterOptions().SingleQuotes().Required()).
					TextAssignment("ADMIN_PASSWORD", g.ParameterOptions().SingleQuotes().Required()).
					PredefinedQueryStructField("typeProvider", "string", g.StaticOptions().SQL("TYPE = READER")).
					OptionalComment().
					WithValidation(g.ValidateValueSet, "AdminName").
					WithValidation(g.ValidateValueSet, "AdminPassword"),
				g.ListOptions().NoParentheses().Required(),
			).
			WithValidation(g.ValidIdentifier, "name"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-managed-account",
		g.NewQueryStruct("DropManagedAccount").
			Drop().
			SQL("MANAGED ACCOUNT").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-managed-accounts",
		managedAccountDbRow,
		managedAccount,
		g.NewQueryStruct("ShowManagedAccounts").
			Show().
			SQL("MANAGED ACCOUNTS").
			OptionalLike(),
	).
	ShowByIdOperation()
View Source
var MaterializedViewsDef = g.NewInterface(
	"MaterializedViews",
	"MaterializedView",
	g.KindOfT[SchemaObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-materialized-view",
		g.NewQueryStruct("CreateMaterializedView").
			Create().
			OrReplace().
			OptionalSQL("SECURE").
			SQL("MATERIALIZED VIEW").
			IfNotExists().
			Name().
			OptionalCopyGrants().
			ListQueryStructField("Columns", materializedViewColumn, g.ListOptions().Parentheses()).
			ListQueryStructField("ColumnsMaskingPolicies", materializedViewColumnMaskingPolicy, g.ListOptions().NoParentheses().NoEquals()).
			OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
			OptionalQueryStructField("RowAccessPolicy", materializedViewRowAccessPolicy, g.KeywordOptions()).
			OptionalTags().
			OptionalQueryStructField("ClusterBy", materializedViewClusterBy, g.KeywordOptions()).
			SQL("AS").
			Text("sql", g.KeywordOptions().NoQuotes().Required()).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-materialized-view",
		g.NewQueryStruct("AlterMaterializedView").
			Alter().
			SQL("MATERIALIZED VIEW").
			Name().
			OptionalIdentifier("RenameTo", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
			OptionalQueryStructField("ClusterBy", materializedViewClusterBy, g.KeywordOptions()).
			OptionalSQL("DROP CLUSTERING KEY").
			OptionalSQL("SUSPEND RECLUSTER").
			OptionalSQL("RESUME RECLUSTER").
			OptionalSQL("SUSPEND").
			OptionalSQL("RESUME").
			OptionalQueryStructField("Set", materializedViewSet, g.KeywordOptions().SQL("SET")).
			OptionalQueryStructField("Unset", materializedViewUnset, g.KeywordOptions().SQL("UNSET")).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ExactlyOneValueSet, "RenameTo", "ClusterBy", "DropClusteringKey", "SuspendRecluster", "ResumeRecluster", "Suspend", "Resume", "Set", "Unset"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-materialized-view",
		g.NewQueryStruct("DropMaterializedView").
			Drop().
			SQL("MATERIALIZED VIEW").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-materialized-views",
		materializedViewDbRow,
		materializedView,
		g.NewQueryStruct("ShowMaterializedViews").
			Show().
			SQL("MATERIALIZED VIEWS").
			OptionalLike().
			OptionalIn(),
	).
	ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSlice,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-materialized-view",
		materializedViewDetailsDbRow,
		materializedViewDetails,
		g.NewQueryStruct("DescribeMaterializedView").
			Describe().
			SQL("MATERIALIZED VIEW").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)
View Source
var (
	NetworkPoliciesDef = g.NewInterface(
		"NetworkPolicies",
		"NetworkPolicy",
		g.KindOfT[AccountObjectIdentifier](),
	).
		CreateOperation(
			"https://docs.snowflake.com/en/sql-reference/sql/create-network-policy",
			g.NewQueryStruct("CreateNetworkPolicies").
				Create().
				OrReplace().
				SQL("NETWORK POLICY").
				Name().
				ListAssignment("ALLOWED_NETWORK_RULE_LIST", "SchemaObjectIdentifier", g.ParameterOptions().Parentheses()).
				ListAssignment("BLOCKED_NETWORK_RULE_LIST", "SchemaObjectIdentifier", g.ParameterOptions().Parentheses()).
				ListQueryStructField("AllowedIpList", ip, g.ParameterOptions().SQL("ALLOWED_IP_LIST").Parentheses()).
				ListQueryStructField("BlockedIpList", ip, g.ParameterOptions().SQL("BLOCKED_IP_LIST").Parentheses()).
				OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
				WithValidation(g.ValidIdentifier, "name"),
		).
		AlterOperation(
			"https://docs.snowflake.com/en/sql-reference/sql/alter-network-policy",
			g.NewQueryStruct("AlterNetworkPolicy").
				Alter().
				SQL("NETWORK POLICY").
				IfExists().
				Name().
				OptionalQueryStructField(
					"Set",
					g.NewQueryStruct("NetworkPolicySet").
						OptionalQueryStructField("AllowedNetworkRuleList", allowedNetworkRuleList, g.ParameterOptions().SQL("ALLOWED_NETWORK_RULE_LIST").Parentheses()).
						OptionalQueryStructField("BlockedNetworkRuleList", blockedNetworkRuleList, g.ParameterOptions().SQL("BLOCKED_NETWORK_RULE_LIST").Parentheses()).
						OptionalQueryStructField("AllowedIpList", allowedIPList, g.ParameterOptions().SQL("ALLOWED_IP_LIST").Parentheses()).
						OptionalQueryStructField("BlockedIpList", blockedIPList, g.ParameterOptions().SQL("BLOCKED_IP_LIST").Parentheses()).
						OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
						WithValidation(g.AtLeastOneValueSet, "AllowedIpList", "BlockedIpList", "Comment", "AllowedNetworkRuleList", "BlockedNetworkRuleList"),
					g.KeywordOptions().SQL("SET"),
				).
				OptionalQueryStructField(
					"Unset",
					g.NewQueryStruct("NetworkPolicyUnset").
						OptionalSQL("ALLOWED_NETWORK_RULE_LIST").
						OptionalSQL("BLOCKED_NETWORK_RULE_LIST").
						OptionalSQL("ALLOWED_IP_LIST").
						OptionalSQL("BLOCKED_IP_LIST").
						OptionalSQL("COMMENT").
						WithValidation(g.AtLeastOneValueSet, "AllowedIpList", "BlockedIpList", "Comment", "AllowedNetworkRuleList", "BlockedNetworkRuleList"),
					g.ListOptions().NoParentheses().SQL("UNSET"),
				).
				OptionalQueryStructField(
					"Add",
					networkPoliciesAddNetworkRule,
					g.KeywordOptions().SQL("ADD"),
				).
				OptionalQueryStructField(
					"Remove",
					networkPoliciesRemoveNetworkRule,
					g.KeywordOptions().SQL("REMOVE"),
				).
				Identifier("RenameTo", g.KindOfTPointer[AccountObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
				WithValidation(g.ValidIdentifier, "name").
				WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "RenameTo", "Add", "Remove").
				WithValidation(g.ValidIdentifierIfSet, "RenameTo"),
		).
		DropOperation(
			"https://docs.snowflake.com/en/sql-reference/sql/drop-network-policy",
			g.NewQueryStruct("DropNetworkPolicy").
				Drop().
				SQL("NETWORK POLICY").
				IfExists().
				Name().
				WithValidation(g.ValidIdentifier, "name"),
		).
		ShowOperation(
			"https://docs.snowflake.com/en/sql-reference/sql/show-network-policies",
			g.DbStruct("showNetworkPolicyDBRow").
				Field("created_on", "string").
				Field("name", "string").
				Field("comment", "string").
				Field("entries_in_allowed_ip_list", "int").
				Field("entries_in_blocked_ip_list", "int").
				Field("entries_in_allowed_network_rules", "int").
				Field("entries_in_blocked_network_rules", "int"),
			g.PlainStruct("NetworkPolicy").
				Field("CreatedOn", "string").
				Field("Name", "string").
				Field("Comment", "string").
				Field("EntriesInAllowedIpList", "int").
				Field("EntriesInBlockedIpList", "int").
				Field("EntriesInAllowedNetworkRules", "int").
				Field("EntriesInBlockedNetworkRules", "int"),
			g.NewQueryStruct("ShowNetworkPolicies").
				Show().
				SQL("NETWORK POLICIES").
				OptionalLike(),
		).
		ShowByIdOperation().
		DescribeOperation(
			g.DescriptionMappingKindSlice,
			"https://docs.snowflake.com/en/sql-reference/sql/desc-network-policy",
			g.DbStruct("describeNetworkPolicyDBRow").
				Field("name", "string").
				Field("value", "string"),
			g.PlainStruct("NetworkPolicyProperty").
				Field("Name", "string").
				Field("Value", "string"),
			g.NewQueryStruct("DescribeNetworkPolicy").
				Describe().
				SQL("NETWORK POLICY").
				Name().
				WithValidation(g.ValidIdentifier, "name"),
		)
)
View Source
var NetworkRuleDef = g.NewInterface(
	"NetworkRules",
	"NetworkRule",
	g.KindOfT[SchemaObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-network-rule",
		g.NewQueryStruct("Create").
			Create().
			OrReplace().
			SQL("NETWORK RULE").
			Name().
			Assignment("TYPE", g.KindOfT[NetworkRuleType](), g.ParameterOptions().Required().NoQuotes()).
			ListAssignment("VALUE_LIST", "NetworkRuleValue", g.ParameterOptions().Required().Parentheses()).
			Assignment("MODE", g.KindOfT[NetworkRuleMode](), g.ParameterOptions().Required().NoQuotes()).
			OptionalComment().
			WithValidation(g.ValidIdentifier, "name"),
		g.NewQueryStruct("NetworkRuleValue").
			Text("Value", g.KeywordOptions().SingleQuotes().Required()),
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-network-rule",
		g.NewQueryStruct("AlterNetworkRule").
			Alter().
			SQL("NETWORK RULE").
			IfExists().
			Name().
			OptionalQueryStructField(
				"Set",
				g.NewQueryStruct("NetworkRuleSet").
					ListAssignment("VALUE_LIST", "NetworkRuleValue", g.ParameterOptions().Required().Parentheses()).
					OptionalComment().
					WithValidation(g.AtLeastOneValueSet, "ValueList", "Comment"),
				g.ListOptions().SQL("SET"),
			).
			OptionalQueryStructField(
				"Unset",
				g.NewQueryStruct("NetworkRuleUnset").
					OptionalSQL("VALUE_LIST").
					OptionalSQL("COMMENT").
					WithValidation(g.AtLeastOneValueSet, "ValueList", "Comment"),
				g.ListOptions().SQL("UNSET"),
			).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.AtLeastOneValueSet, "Set", "Unset"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-network-rule",
		g.NewQueryStruct("DropNetworkRule").
			Drop().
			SQL("NETWORK RULE").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-network-rules",
		g.DbStruct("ShowNetworkRulesRow").
			Time("created_on").
			Text("name").
			Text("database_name").
			Text("schema_name").
			Text("owner").
			Text("comment").
			Text("type").
			Text("mode").
			Number("entries_in_valuelist").
			Text("owner_role_type"),
		g.PlainStruct("NetworkRule").
			Time("CreatedOn").
			Text("Name").
			Text("DatabaseName").
			Text("SchemaName").
			Text("Owner").
			Text("Comment").
			Text("Type").
			Text("Mode").
			Number("EntriesInValueList").
			Text("OwnerRoleType"),
		g.NewQueryStruct("ShowNetworkRules").
			Show().
			SQL("NETWORK RULES").
			OptionalLike().
			OptionalIn().
			OptionalStartsWith().
			OptionalLimitFrom(),
	).
	ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSingleValue,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-network-rule",
		g.DbStruct("DescNetworkRulesRow").
			Time("created_on").
			Text("name").
			Text("database_name").
			Text("schema_name").
			Text("owner").
			Text("comment").
			Text("type").
			Text("mode").
			Text("value_list"),
		g.PlainStruct("NetworkRuleDetails").
			Time("CreatedOn").
			Text("Name").
			Text("DatabaseName").
			Text("SchemaName").
			Text("Owner").
			Text("Comment").
			Text("Type").
			Text("Mode").
			Field("ValueList", "[]string"),
		g.NewQueryStruct("ShowNetworkRules").
			Describe().
			SQL("NETWORK RULE").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)
View Source
var NotificationIntegrationAllowedRecipientDef = g.NewQueryStruct("NotificationIntegrationAllowedRecipient").
	Text("Email", g.KeywordOptions().SingleQuotes().Required())
View Source
var NotificationIntegrationsDef = g.NewInterface(
	"NotificationIntegrations",
	"NotificationIntegration",
	g.KindOfT[AccountObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-notification-integration",
		g.NewQueryStruct("CreateNotificationIntegration").
			Create().
			OrReplace().
			SQL("NOTIFICATION INTEGRATION").
			IfNotExists().
			Name().
			BooleanAssignment("ENABLED", g.ParameterOptions().Required()).
			OptionalQueryStructField(
				"AutomatedDataLoadsParams",
				g.NewQueryStruct("AutomatedDataLoadsParams").
					PredefinedQueryStructField("notificationType", "string", g.StaticOptions().SQL("TYPE = QUEUE")).
					OptionalQueryStructField(
						"GoogleAutoParams",
						g.NewQueryStruct("GoogleAutoParams").
							PredefinedQueryStructField("notificationProvider", "string", g.StaticOptions().SQL("NOTIFICATION_PROVIDER = GCP_PUBSUB")).
							TextAssignment("GCP_PUBSUB_SUBSCRIPTION_NAME", g.ParameterOptions().SingleQuotes().Required()),
						g.KeywordOptions(),
					).
					OptionalQueryStructField(
						"AzureAutoParams",
						g.NewQueryStruct("AzureAutoParams").
							PredefinedQueryStructField("notificationProvider", "string", g.StaticOptions().SQL("NOTIFICATION_PROVIDER = AZURE_STORAGE_QUEUE")).
							TextAssignment("AZURE_STORAGE_QUEUE_PRIMARY_URI", g.ParameterOptions().SingleQuotes().Required()).
							TextAssignment("AZURE_TENANT_ID", g.ParameterOptions().SingleQuotes().Required()),
						g.KeywordOptions(),
					).
					WithValidation(g.ExactlyOneValueSet, "GoogleAutoParams", "AzureAutoParams"),
				g.KeywordOptions(),
			).
			OptionalQueryStructField(
				"PushNotificationParams",
				g.NewQueryStruct("PushNotificationParams").
					PredefinedQueryStructField("direction", "string", g.StaticOptions().SQL("DIRECTION = OUTBOUND")).
					PredefinedQueryStructField("notificationType", "string", g.StaticOptions().SQL("TYPE = QUEUE")).
					OptionalQueryStructField(
						"AmazonPushParams",
						g.NewQueryStruct("AmazonPushParams").
							PredefinedQueryStructField("notificationProvider", "string", g.StaticOptions().SQL("NOTIFICATION_PROVIDER = AWS_SNS")).
							TextAssignment("AWS_SNS_TOPIC_ARN", g.ParameterOptions().SingleQuotes().Required()).
							TextAssignment("AWS_SNS_ROLE_ARN", g.ParameterOptions().SingleQuotes().Required()),
						g.KeywordOptions(),
					).
					OptionalQueryStructField(
						"GooglePushParams",
						g.NewQueryStruct("GooglePushParams").
							PredefinedQueryStructField("notificationProvider", "string", g.StaticOptions().SQL("NOTIFICATION_PROVIDER = GCP_PUBSUB")).
							TextAssignment("GCP_PUBSUB_TOPIC_NAME", g.ParameterOptions().SingleQuotes().Required()),
						g.KeywordOptions(),
					).
					OptionalQueryStructField(
						"AzurePushParams",
						g.NewQueryStruct("AzurePushParams").
							PredefinedQueryStructField("notificationProvider", "string", g.StaticOptions().SQL("NOTIFICATION_PROVIDER = AZURE_EVENT_GRID")).
							TextAssignment("AZURE_EVENT_GRID_TOPIC_ENDPOINT", g.ParameterOptions().SingleQuotes().Required()).
							TextAssignment("AZURE_TENANT_ID", g.ParameterOptions().SingleQuotes().Required()),
						g.KeywordOptions(),
					).
					WithValidation(g.ExactlyOneValueSet, "AmazonPushParams", "GooglePushParams", "AzurePushParams"),
				g.KeywordOptions(),
			).
			OptionalQueryStructField(
				"EmailParams",
				g.NewQueryStruct("EmailParams").
					PredefinedQueryStructField("notificationType", "string", g.StaticOptions().SQL("TYPE = EMAIL")).
					ListAssignment("ALLOWED_RECIPIENTS", "NotificationIntegrationAllowedRecipient", g.ParameterOptions().Parentheses()),
				g.KeywordOptions(),
			).
			OptionalComment().
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "IfNotExists", "OrReplace").
			WithValidation(g.ExactlyOneValueSet, "AutomatedDataLoadsParams", "PushNotificationParams", "EmailParams"),
		NotificationIntegrationAllowedRecipientDef,
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-notification-integration",
		g.NewQueryStruct("AlterNotificationIntegration").
			Alter().
			SQL("NOTIFICATION INTEGRATION").
			IfExists().
			Name().
			OptionalQueryStructField(
				"Set",
				g.NewQueryStruct("NotificationIntegrationSet").
					OptionalBooleanAssignment("ENABLED", g.ParameterOptions()).
					OptionalQueryStructField(
						"SetPushParams",
						g.NewQueryStruct("SetPushParams").
							OptionalQueryStructField(
								"SetAmazonPush",
								g.NewQueryStruct("SetAmazonPush").
									TextAssignment("AWS_SNS_TOPIC_ARN", g.ParameterOptions().SingleQuotes().Required()).
									TextAssignment("AWS_SNS_ROLE_ARN", g.ParameterOptions().SingleQuotes().Required()),
								g.KeywordOptions(),
							).
							OptionalQueryStructField(
								"SetGooglePush",
								g.NewQueryStruct("SetGooglePush").
									TextAssignment("GCP_PUBSUB_SUBSCRIPTION_NAME", g.ParameterOptions().SingleQuotes().Required()),
								g.KeywordOptions(),
							).
							OptionalQueryStructField(
								"SetAzurePush",
								g.NewQueryStruct("SetAzurePush").
									TextAssignment("AZURE_STORAGE_QUEUE_PRIMARY_URI", g.ParameterOptions().SingleQuotes().Required()).
									TextAssignment("AZURE_TENANT_ID", g.ParameterOptions().SingleQuotes().Required()),
								g.KeywordOptions(),
							).
							WithValidation(g.ExactlyOneValueSet, "SetAmazonPush", "SetGooglePush", "SetAzurePush"),
						g.KeywordOptions(),
					).
					OptionalQueryStructField(
						"SetEmailParams",
						g.NewQueryStruct("SetEmailParams").
							ListAssignment("ALLOWED_RECIPIENTS", "NotificationIntegrationAllowedRecipient", g.ParameterOptions().Parentheses().Required()).
							WithValidation(g.ValidateValueSet, "AllowedRecipients"),
						g.KeywordOptions(),
					).
					OptionalComment().
					WithValidation(g.ConflictingFields, "SetPushParams", "SetEmailParams").
					WithValidation(g.AtLeastOneValueSet, "Enabled", "SetPushParams", "SetEmailParams", "Comment"),
				g.KeywordOptions().SQL("SET"),
			).
			OptionalQueryStructField(
				"UnsetEmailParams",
				g.NewQueryStruct("NotificationIntegrationUnsetEmailParams").
					OptionalSQL("ALLOWED_RECIPIENTS").
					OptionalSQL("COMMENT").
					WithValidation(g.AtLeastOneValueSet, "AllowedRecipients", "Comment"),
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).
			OptionalSetTags().
			OptionalUnsetTags().
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ExactlyOneValueSet, "Set", "UnsetEmailParams", "SetTags", "UnsetTags"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-integration",
		g.NewQueryStruct("DropNotificationIntegration").
			Drop().
			SQL("NOTIFICATION INTEGRATION").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-integrations",
		g.DbStruct("showNotificationIntegrationsDbRow").
			Text("name").
			Text("type").
			Text("category").
			Bool("enabled").
			OptionalText("comment").
			Time("created_on"),
		g.PlainStruct("NotificationIntegration").
			Text("Name").
			Text("NotificationType").
			Text("Category").
			Bool("Enabled").
			Text("Comment").
			Time("CreatedOn"),
		g.NewQueryStruct("ShowNotificationIntegrations").
			Show().
			SQL("NOTIFICATION INTEGRATIONS").
			OptionalLike(),
	).
	ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSlice,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-integration",
		g.DbStruct("descNotificationIntegrationsDbRow").
			Text("property").
			Text("property_type").
			Text("property_value").
			Text("property_default"),
		g.PlainStruct("NotificationIntegrationProperty").
			Text("Name").
			Text("Type").
			Text("Value").
			Text("Default"),
		g.NewQueryStruct("DescribeNotificationIntegration").
			Describe().
			SQL("NOTIFICATION INTEGRATION").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)

TODO [SNOW-1016561]: all integrations reuse almost the same show, drop, and describe. For now we are copying it. Consider reusing in linked issue.

View Source
var ProceduresDef = g.NewInterface(
	"Procedures",
	"Procedure",
	g.KindOfT[SchemaObjectIdentifierWithArguments](),
).CustomOperation(
	"CreateForJava",
	"https://docs.snowflake.com/en/sql-reference/sql/create-procedure#java-handler",
	g.NewQueryStruct("CreateForJava").
		Create().
		OrReplace().
		OptionalSQL("SECURE").
		SQL("PROCEDURE").
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		OptionalSQL("COPY GRANTS").
		QueryStructField(
			"Returns",
			procedureReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		SQL("LANGUAGE JAVA").
		TextAssignment("RUNTIME_VERSION", g.ParameterOptions().SingleQuotes().Required()).
		ListQueryStructField(
			"Packages",
			procedurePackage,
			g.ParameterOptions().Parentheses().SQL("PACKAGES").Required(),
		).
		ListQueryStructField(
			"Imports",
			procedureImport,
			g.ParameterOptions().Parentheses().SQL("IMPORTS"),
		).
		TextAssignment("HANDLER", g.ParameterOptions().SingleQuotes().Required()).
		ListAssignment("EXTERNAL_ACCESS_INTEGRATIONS", "AccountObjectIdentifier", g.ParameterOptions().Parentheses()).
		ListAssignment("SECRETS", "SecretReference", g.ParameterOptions().Parentheses()).
		OptionalTextAssignment("TARGET_PATH", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("ExecuteAs", "*ExecuteAs", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "*string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS")).
		WithValidation(g.ValidateValueSet, "RuntimeVersion").
		WithValidation(g.ValidateValueSet, "Packages").
		WithValidation(g.ValidateValueSet, "Handler").
		WithValidation(g.ValidIdentifier, "name"),
).CustomOperation(
	"CreateForJavaScript",
	"https://docs.snowflake.com/en/sql-reference/sql/create-procedure#javascript-handler",
	g.NewQueryStruct("CreateForJavaScript").
		Create().
		OrReplace().
		OptionalSQL("SECURE").
		SQL("PROCEDURE").
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		OptionalSQL("COPY GRANTS").
		PredefinedQueryStructField("ResultDataType", "DataType", g.ParameterOptions().NoEquals().SQL("RETURNS").Required()).
		OptionalSQL("NOT NULL").
		SQL("LANGUAGE JAVASCRIPT").
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("ExecuteAs", "*ExecuteAs", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS").Required()).
		WithValidation(g.ValidateValueSet, "ProcedureDefinition").
		WithValidation(g.ValidIdentifier, "name"),
).CustomOperation(
	"CreateForPython",
	"https://docs.snowflake.com/en/sql-reference/sql/create-procedure#python-handler",
	g.NewQueryStruct("CreateForPython").
		Create().
		OrReplace().
		OptionalSQL("SECURE").
		SQL("PROCEDURE").
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		OptionalSQL("COPY GRANTS").
		QueryStructField(
			"Returns",
			procedureReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		SQL("LANGUAGE PYTHON").
		TextAssignment("RUNTIME_VERSION", g.ParameterOptions().SingleQuotes().Required()).
		ListQueryStructField(
			"Packages",
			procedurePackage,
			g.ParameterOptions().Parentheses().SQL("PACKAGES").Required(),
		).
		ListQueryStructField(
			"Imports",
			procedureImport,
			g.ParameterOptions().Parentheses().SQL("IMPORTS"),
		).
		TextAssignment("HANDLER", g.ParameterOptions().SingleQuotes().Required()).
		ListAssignment("EXTERNAL_ACCESS_INTEGRATIONS", "AccountObjectIdentifier", g.ParameterOptions().Parentheses()).
		ListAssignment("SECRETS", "SecretReference", g.ParameterOptions().Parentheses()).
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("ExecuteAs", "*ExecuteAs", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "*string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS")).
		WithValidation(g.ValidateValueSet, "RuntimeVersion").
		WithValidation(g.ValidateValueSet, "Packages").
		WithValidation(g.ValidateValueSet, "Handler").
		WithValidation(g.ValidIdentifier, "name"),
).CustomOperation(
	"CreateForScala",
	"https://docs.snowflake.com/en/sql-reference/sql/create-procedure#scala-handler",
	g.NewQueryStruct("CreateForScala").
		Create().
		OrReplace().
		OptionalSQL("SECURE").
		SQL("PROCEDURE").
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		OptionalSQL("COPY GRANTS").
		QueryStructField(
			"Returns",
			procedureReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		SQL("LANGUAGE SCALA").
		TextAssignment("RUNTIME_VERSION", g.ParameterOptions().SingleQuotes().Required()).
		ListQueryStructField(
			"Packages",
			procedurePackage,
			g.ParameterOptions().Parentheses().SQL("PACKAGES").Required(),
		).
		ListQueryStructField(
			"Imports",
			procedureImport,
			g.ParameterOptions().Parentheses().SQL("IMPORTS"),
		).
		TextAssignment("HANDLER", g.ParameterOptions().SingleQuotes().Required()).
		OptionalTextAssignment("TARGET_PATH", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("ExecuteAs", "*ExecuteAs", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "*string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS")).
		WithValidation(g.ValidateValueSet, "RuntimeVersion").
		WithValidation(g.ValidateValueSet, "Packages").
		WithValidation(g.ValidateValueSet, "Handler").
		WithValidation(g.ValidIdentifier, "name"),
).CustomOperation(
	"CreateForSQL",
	"https://docs.snowflake.com/en/sql-reference/sql/create-procedure#snowflake-scripting-handler",
	g.NewQueryStruct("CreateForSQL").
		Create().
		OrReplace().
		OptionalSQL("SECURE").
		SQL("PROCEDURE").
		Identifier("name", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		OptionalSQL("COPY GRANTS").
		QueryStructField(
			"Returns",
			procedureSQLReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		SQL("LANGUAGE SQL").
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		PredefinedQueryStructField("ExecuteAs", "*ExecuteAs", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS").Required()).
		WithValidation(g.ValidateValueSet, "ProcedureDefinition").
		WithValidation(g.ValidIdentifier, "name"),
).AlterOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/alter-procedure",
	g.NewQueryStruct("AlterProcedure").
		Alter().
		SQL("PROCEDURE").
		IfExists().
		Name().
		OptionalIdentifier("RenameTo", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
		OptionalTextAssignment("SET COMMENT", g.ParameterOptions().SingleQuotes()).
		OptionalTextAssignment("SET LOG_LEVEL", g.ParameterOptions().SingleQuotes()).
		OptionalTextAssignment("SET TRACE_LEVEL", g.ParameterOptions().SingleQuotes()).
		OptionalSQL("UNSET COMMENT").
		OptionalSetTags().
		OptionalUnsetTags().
		PredefinedQueryStructField("ExecuteAs", "*ExecuteAs", g.KeywordOptions()).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidIdentifierIfSet, "RenameTo").
		WithValidation(g.ExactlyOneValueSet, "RenameTo", "SetComment", "SetLogLevel", "SetTraceLevel", "UnsetComment", "SetTags", "UnsetTags", "ExecuteAs"),
).DropOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/drop-procedure",
	g.NewQueryStruct("DropProcedure").
		Drop().
		SQL("PROCEDURE").
		IfExists().
		Name().
		WithValidation(g.ValidIdentifier, "name"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-procedures",
	g.DbStruct("procedureRow").
		Field("created_on", "string").
		Field("name", "string").
		Field("schema_name", "string").
		Field("is_builtin", "string").
		Field("is_aggregate", "string").
		Field("is_ansi", "string").
		Field("min_num_arguments", "int").
		Field("max_num_arguments", "int").
		Field("arguments", "string").
		Field("description", "string").
		Field("catalog_name", "string").
		Field("is_table_function", "string").
		Field("valid_for_clustering", "string").
		Field("is_secure", "sql.NullString"),
	g.PlainStruct("Procedure").
		Field("CreatedOn", "string").
		Field("Name", "string").
		Field("SchemaName", "string").
		Field("IsBuiltin", "bool").
		Field("IsAggregate", "bool").
		Field("IsAnsi", "bool").
		Field("MinNumArguments", "int").
		Field("MaxNumArguments", "int").
		Field("Arguments", "string").
		Field("Description", "string").
		Field("CatalogName", "string").
		Field("IsTableFunction", "bool").
		Field("ValidForClustering", "bool").
		Field("IsSecure", "bool"),
	g.NewQueryStruct("ShowProcedures").
		Show().
		SQL("PROCEDURES").
		OptionalLike().
		OptionalIn(),
).ShowByIdOperation().DescribeOperation(
	g.DescriptionMappingKindSlice,
	"https://docs.snowflake.com/en/sql-reference/sql/desc-procedure",
	g.DbStruct("procedureDetailRow").
		Field("property", "string").
		Field("value", "sql.NullString"),
	g.PlainStruct("ProcedureDetail").
		Field("Property", "string").
		Field("Value", "string"),
	g.NewQueryStruct("DescribeProcedure").
		Describe().
		SQL("PROCEDURE").
		Name().
		WithValidation(g.ValidIdentifier, "name"),
).CustomOperation(
	"Call",
	"https://docs.snowflake.com/en/sql-reference/sql/call",
	g.NewQueryStruct("Call").
		SQL("CALL").
		Identifier("name", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		PredefinedQueryStructField("CallArguments", "[]string", g.KeywordOptions().MustParentheses()).
		PredefinedQueryStructField("ScriptingVariable", "*string", g.ParameterOptions().NoEquals().NoQuotes().SQL("INTO")).
		WithValidation(g.ValidIdentifier, "name"),
).CustomOperation(
	"CreateAndCallForJava",
	"https://docs.snowflake.com/en/sql-reference/sql/call-with#java-and-scala",
	g.NewQueryStruct("CreateAndCallForJava").
		SQL("WITH").
		Identifier("Name", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		SQL("AS PROCEDURE").
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		QueryStructField(
			"Returns",
			procedureReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		SQL("LANGUAGE JAVA").
		TextAssignment("RUNTIME_VERSION", g.ParameterOptions().SingleQuotes().Required()).
		ListQueryStructField(
			"Packages",
			procedurePackage,
			g.ParameterOptions().Parentheses().SQL("PACKAGES").Required(),
		).
		ListQueryStructField(
			"Imports",
			procedureImport,
			g.ParameterOptions().Parentheses().SQL("IMPORTS"),
		).
		TextAssignment("HANDLER", g.ParameterOptions().SingleQuotes().Required()).
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "*string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS")).
		OptionalQueryStructField(
			"WithClause",
			procedureWithClause,
			g.KeywordOptions(),
		).
		SQL("CALL").
		Identifier("ProcedureName", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		PredefinedQueryStructField("CallArguments", "[]string", g.KeywordOptions().MustParentheses()).
		PredefinedQueryStructField("ScriptingVariable", "*string", g.ParameterOptions().NoEquals().NoQuotes().SQL("INTO")).
		WithValidation(g.ValidateValueSet, "RuntimeVersion").
		WithValidation(g.ValidateValueSet, "Packages").
		WithValidation(g.ValidateValueSet, "Handler").
		WithValidation(g.ValidIdentifier, "ProcedureName").
		WithValidation(g.ValidIdentifier, "Name"),
).CustomOperation(
	"CreateAndCallForScala",
	"https://docs.snowflake.com/en/sql-reference/sql/call-with#java-and-scala",
	g.NewQueryStruct("CreateAndCallForScala").
		SQL("WITH").
		Identifier("Name", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		SQL("AS PROCEDURE").
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		QueryStructField(
			"Returns",
			procedureReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		SQL("LANGUAGE SCALA").
		TextAssignment("RUNTIME_VERSION", g.ParameterOptions().SingleQuotes().Required()).
		ListQueryStructField(
			"Packages",
			procedurePackage,
			g.ParameterOptions().Parentheses().SQL("PACKAGES").Required(),
		).
		ListQueryStructField(
			"Imports",
			procedureImport,
			g.ParameterOptions().Parentheses().SQL("IMPORTS"),
		).
		TextAssignment("HANDLER", g.ParameterOptions().SingleQuotes().Required()).
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "*string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS")).
		ListQueryStructField(
			"WithClauses",
			procedureWithClause,
			g.KeywordOptions(),
		).
		SQL("CALL").
		Identifier("ProcedureName", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		PredefinedQueryStructField("CallArguments", "[]string", g.KeywordOptions().MustParentheses()).
		PredefinedQueryStructField("ScriptingVariable", "*string", g.ParameterOptions().NoEquals().NoQuotes().SQL("INTO")).
		WithValidation(g.ValidateValueSet, "RuntimeVersion").
		WithValidation(g.ValidateValueSet, "Packages").
		WithValidation(g.ValidateValueSet, "Handler").
		WithValidation(g.ValidIdentifier, "ProcedureName").
		WithValidation(g.ValidIdentifier, "Name"),
).CustomOperation(
	"CreateAndCallForJavaScript",
	"https://docs.snowflake.com/en/sql-reference/sql/call-with#javascript",
	g.NewQueryStruct("CreateAndCallForJavaScript").
		SQL("WITH").
		Identifier("Name", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		SQL("AS PROCEDURE").
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		PredefinedQueryStructField("ResultDataType", "DataType", g.ParameterOptions().NoEquals().SQL("RETURNS").Required()).
		OptionalSQL("NOT NULL").
		SQL("LANGUAGE JAVASCRIPT").
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS").Required()).
		ListQueryStructField(
			"WithClauses",
			procedureWithClause,
			g.KeywordOptions(),
		).
		SQL("CALL").
		Identifier("ProcedureName", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		PredefinedQueryStructField("CallArguments", "[]string", g.KeywordOptions().MustParentheses()).
		PredefinedQueryStructField("ScriptingVariable", "*string", g.ParameterOptions().NoEquals().NoQuotes().SQL("INTO")).
		WithValidation(g.ValidateValueSet, "ProcedureDefinition").
		WithValidation(g.ValidateValueSet, "ResultDataType").
		WithValidation(g.ValidIdentifier, "ProcedureName").
		WithValidation(g.ValidIdentifier, "Name"),
).CustomOperation(
	"CreateAndCallForPython",
	"https://docs.snowflake.com/en/sql-reference/sql/call-with#python",
	g.NewQueryStruct("CreateAndCallForPython").
		SQL("WITH").
		Identifier("Name", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		SQL("AS PROCEDURE").
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		QueryStructField(
			"Returns",
			procedureReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		SQL("LANGUAGE PYTHON").
		TextAssignment("RUNTIME_VERSION", g.ParameterOptions().SingleQuotes().Required()).
		ListQueryStructField(
			"Packages",
			procedurePackage,
			g.ParameterOptions().Parentheses().SQL("PACKAGES").Required(),
		).
		ListQueryStructField(
			"Imports",
			procedureImport,
			g.ParameterOptions().Parentheses().SQL("IMPORTS"),
		).
		TextAssignment("HANDLER", g.ParameterOptions().SingleQuotes().Required()).
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "*string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS")).
		ListQueryStructField(
			"WithClauses",
			procedureWithClause,
			g.KeywordOptions(),
		).
		SQL("CALL").
		Identifier("ProcedureName", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		PredefinedQueryStructField("CallArguments", "[]string", g.KeywordOptions().MustParentheses()).
		PredefinedQueryStructField("ScriptingVariable", "*string", g.ParameterOptions().NoEquals().NoQuotes().SQL("INTO")).
		WithValidation(g.ValidateValueSet, "RuntimeVersion").
		WithValidation(g.ValidateValueSet, "Packages").
		WithValidation(g.ValidateValueSet, "Handler").
		WithValidation(g.ValidIdentifier, "ProcedureName").
		WithValidation(g.ValidIdentifier, "Name"),
).CustomOperation(
	"CreateAndCallForSQL",
	"https://docs.snowflake.com/en/sql-reference/sql/call-with#snowflake-scripting",
	g.NewQueryStruct("CreateAndCallForSQL").
		SQL("WITH").
		Identifier("Name", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		SQL("AS PROCEDURE").
		ListQueryStructField(
			"Arguments",
			procedureArgument,
			g.ListOptions().MustParentheses(),
		).
		QueryStructField(
			"Returns",
			procedureReturns,
			g.KeywordOptions().SQL("RETURNS").Required(),
		).
		SQL("LANGUAGE SQL").
		PredefinedQueryStructField("NullInputBehavior", "*NullInputBehavior", g.KeywordOptions()).
		PredefinedQueryStructField("ProcedureDefinition", "string", g.ParameterOptions().NoEquals().SingleQuotes().SQL("AS").Required()).
		ListQueryStructField(
			"WithClauses",
			procedureWithClause,
			g.KeywordOptions(),
		).
		SQL("CALL").
		Identifier("ProcedureName", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required()).
		PredefinedQueryStructField("CallArguments", "[]string", g.KeywordOptions().MustParentheses()).
		PredefinedQueryStructField("ScriptingVariable", "*string", g.ParameterOptions().NoEquals().NoQuotes().SQL("INTO")).
		WithValidation(g.ValidateValueSet, "ProcedureDefinition").
		WithValidation(g.ValidIdentifier, "ProcedureName").
		WithValidation(g.ValidIdentifier, "Name"),
)
View Source
var RowAccessPoliciesDef = g.NewInterface(
	"RowAccessPolicies",
	"RowAccessPolicy",
	g.KindOfT[SchemaObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-row-access-policy",
		g.NewQueryStruct("CreateRowAccessPolicy").
			Create().
			OrReplace().
			SQL("ROW ACCESS POLICY").
			IfNotExists().
			Name().
			SQL("AS").
			ListQueryStructField(
				"args",
				g.NewQueryStruct("CreateRowAccessPolicyArgs").
					Text("Name", g.KeywordOptions().NoQuotes().Required()).
					PredefinedQueryStructField("Type", "DataType", g.KeywordOptions().NoQuotes().Required()),
				g.ParameterOptions().Parentheses().NoEquals().Required(),
			).
			SQL("RETURNS BOOLEAN").
			BodyWithPrecedingArrow().
			OptionalComment().
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ValidateValueSet, "args").
			WithValidation(g.ValidateValueSet, "body").
			WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-row-access-policy",
		g.NewQueryStruct("AlterRowAccessPolicy").
			Alter().
			SQL("ROW ACCESS POLICY").
			Name().
			OptionalIdentifier("RenameTo", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
			OptionalSetBodyWithPrecedingArrow().
			OptionalSetTags().
			OptionalUnsetTags().
			OptionalTextAssignment("SET COMMENT", g.ParameterOptions().SingleQuotes()).
			OptionalSQL("UNSET COMMENT").
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ExactlyOneValueSet, "RenameTo", "SetBody", "SetTags", "UnsetTags", "SetComment", "UnsetComment"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-row-access-policy",
		g.NewQueryStruct("DropRowAccessPolicy").
			Drop().
			SQL("ROW ACCESS POLICY").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-row-access-policies",
		rowAccessPolicyDbRow,
		rowAccessPolicy,
		g.NewQueryStruct("ShowRowAccessPolicies").
			Show().
			SQL("ROW ACCESS POLICIES").
			OptionalLike().
			OptionalExtendedIn().
			OptionalLimitFrom(),
	).
	ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSingleValue,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-row-access-policy",
		g.DbStruct("describeRowAccessPolicyDBRow").
			Field("name", "string").
			Field("signature", "string").
			Field("return_type", "string").
			Field("body", "string"),
		g.PlainStruct("RowAccessPolicyDescription").
			Field("Name", "string").
			Field("Signature", "string").
			Field("ReturnType", "string").
			Field("Body", "string"),
		g.NewQueryStruct("DescribeRowAccessPolicy").
			Describe().
			SQL("ROW ACCESS POLICY").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)
View Source
var SecretsDef = g.NewInterface(
	"Secrets",
	"Secret",
	g.KindOfT[SchemaObjectIdentifier](),
).CustomOperation(
	"CreateWithOAuthClientCredentialsFlow",
	"https://docs.snowflake.com/en/sql-reference/sql/create-secret",
	g.NewQueryStruct("CreateWithOAuthClientCredentialsFlow").
		Create().
		OrReplace().
		SQL("SECRET").
		IfNotExists().
		Name().
		PredefinedQueryStructField("secretType", "string", g.StaticOptions().SQL("TYPE = OAUTH2")).
		Identifier("ApiIntegration", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required().Equals().SQL("API_AUTHENTICATION")).
		OptionalQueryStructField("OauthScopes", oauthScopesListDef, g.ParameterOptions().SQL("OAUTH_SCOPES").Parentheses()).
		OptionalComment().
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
	secretsApiIntegrationScopeDef,
).CustomOperation(
	"CreateWithOAuthAuthorizationCodeFlow",
	"https://docs.snowflake.com/en/sql-reference/sql/create-secret",
	g.NewQueryStruct("CreateWithOAuthAuthorizationCodeFlow").
		Create().
		OrReplace().
		SQL("SECRET").
		IfNotExists().
		Name().
		PredefinedQueryStructField("secretType", "string", g.StaticOptions().SQL("TYPE = OAUTH2")).
		TextAssignment("OAUTH_REFRESH_TOKEN", g.ParameterOptions().NoParentheses().SingleQuotes().Required()).
		TextAssignment("OAUTH_REFRESH_TOKEN_EXPIRY_TIME", g.ParameterOptions().NoParentheses().SingleQuotes().Required()).
		Identifier("ApiIntegration", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Required().Equals().SQL("API_AUTHENTICATION")).
		OptionalComment().
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
).CustomOperation(
	"CreateWithBasicAuthentication",
	"https://docs.snowflake.com/en/sql-reference/sql/create-secret",
	g.NewQueryStruct("CreateWithBasicAuthentication").
		Create().
		OrReplace().
		SQL("SECRET").
		IfNotExists().
		Name().
		PredefinedQueryStructField("secretType", "string", g.StaticOptions().SQL("TYPE = PASSWORD")).
		TextAssignment("USERNAME", g.ParameterOptions().NoParentheses().SingleQuotes().Required()).
		TextAssignment("PASSWORD", g.ParameterOptions().NoParentheses().SingleQuotes().Required()).
		OptionalComment().
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
).CustomOperation(
	"CreateWithGenericString",
	"https://docs.snowflake.com/en/sql-reference/sql/create-secret",
	g.NewQueryStruct("CreateWithGenericString").
		Create().
		OrReplace().
		SQL("SECRET").
		IfNotExists().
		Name().
		PredefinedQueryStructField("secretType", "string", g.StaticOptions().SQL("TYPE = GENERIC_STRING")).
		TextAssignment("SECRET_STRING", g.ParameterOptions().SingleQuotes().Required()).
		OptionalComment().
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
).AlterOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/alter-secret",
	g.NewQueryStruct("AlterSecret").
		Alter().
		SQL("SECRET").
		IfExists().
		Name().
		OptionalQueryStructField(
			"Set",
			secretSet,
			g.KeywordOptions().SQL("SET"),
		).
		OptionalQueryStructField(
			"Unset",
			secretUnset,
			g.KeywordOptions(),
		).
		WithValidation(g.ExactlyOneValueSet, "Set", "Unset"),
).DropOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/drop-secret",
	g.NewQueryStruct("DropSecret").
		Drop().
		SQL("SECRET").
		IfExists().
		Name().
		WithValidation(g.ValidIdentifier, "name"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-secrets",
	secretDbRow,
	secret,
	g.NewQueryStruct("ShowSecret").
		Show().
		SQL("SECRETS").
		OptionalLike().
		OptionalExtendedIn(),
).ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSingleValue,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-secret",
		secretDetailsDbRow,
		secretDetails,
		g.NewQueryStruct("DescribeSecret").
			Describe().
			SQL("SECRET").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)
View Source
var SecurityIntegrationsDef = g.NewInterface(
	"SecurityIntegrations",
	"SecurityIntegration",
	g.KindOfT[AccountObjectIdentifier](),
).
	CustomOperation(
		"CreateApiAuthenticationWithClientCredentialsFlow",
		"https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-api-auth",
		createSecurityIntegrationOperation("CreateApiAuthenticationWithClientCredentialsFlow", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				PredefinedQueryStructField("integrationType", "string", g.StaticOptions().SQL("TYPE = API_AUTHENTICATION")).
				PredefinedQueryStructField("authType", "string", g.StaticOptions().SQL("AUTH_TYPE = OAUTH2")).
				BooleanAssignment("ENABLED", g.ParameterOptions().Required()).
				OptionalTextAssignment("OAUTH_TOKEN_ENDPOINT", g.ParameterOptions().SingleQuotes()).
				OptionalAssignment(
					"OAUTH_CLIENT_AUTH_METHOD",
					g.KindOfT[ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption](),
					g.ParameterOptions(),
				).
				TextAssignment("OAUTH_CLIENT_ID", g.ParameterOptions().Required().SingleQuotes()).
				TextAssignment("OAUTH_CLIENT_SECRET", g.ParameterOptions().Required().SingleQuotes()).
				OptionalSQL("OAUTH_GRANT = CLIENT_CREDENTIALS").
				OptionalNumberAssignment("OAUTH_ACCESS_TOKEN_VALIDITY", g.ParameterOptions()).
				OptionalNumberAssignment("OAUTH_REFRESH_TOKEN_VALIDITY", g.ParameterOptions()).
				ListAssignment("OAUTH_ALLOWED_SCOPES", "AllowedScope", g.ParameterOptions().Parentheses())
		}),
		allowedScopeDef,
	).
	CustomOperation(
		"CreateApiAuthenticationWithAuthorizationCodeGrantFlow",
		"https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-api-auth",
		createSecurityIntegrationOperation("CreateApiAuthenticationWithAuthorizationCodeGrantFlow", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				PredefinedQueryStructField("integrationType", "string", g.StaticOptions().SQL("TYPE = API_AUTHENTICATION")).
				PredefinedQueryStructField("authType", "string", g.StaticOptions().SQL("AUTH_TYPE = OAUTH2")).
				BooleanAssignment("ENABLED", g.ParameterOptions().Required()).
				OptionalTextAssignment("OAUTH_AUTHORIZATION_ENDPOINT", g.ParameterOptions().SingleQuotes()).
				OptionalTextAssignment("OAUTH_TOKEN_ENDPOINT", g.ParameterOptions().SingleQuotes()).
				OptionalAssignment(
					"OAUTH_CLIENT_AUTH_METHOD",
					g.KindOfT[ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption](),
					g.ParameterOptions(),
				).
				TextAssignment("OAUTH_CLIENT_ID", g.ParameterOptions().Required().SingleQuotes()).
				TextAssignment("OAUTH_CLIENT_SECRET", g.ParameterOptions().Required().SingleQuotes()).
				OptionalSQL("OAUTH_GRANT = AUTHORIZATION_CODE").
				OptionalNumberAssignment("OAUTH_ACCESS_TOKEN_VALIDITY", g.ParameterOptions()).
				OptionalNumberAssignment("OAUTH_REFRESH_TOKEN_VALIDITY", g.ParameterOptions()).
				ListAssignment("OAUTH_ALLOWED_SCOPES", "AllowedScope", g.ParameterOptions().Parentheses())
		}),
	).
	CustomOperation(
		"CreateApiAuthenticationWithJwtBearerFlow",
		"https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-api-auth",
		createSecurityIntegrationOperation("CreateApiAuthenticationWithJwtBearerFlow", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				PredefinedQueryStructField("integrationType", "string", g.StaticOptions().SQL("TYPE = API_AUTHENTICATION")).
				PredefinedQueryStructField("authType", "string", g.StaticOptions().SQL("AUTH_TYPE = OAUTH2")).
				BooleanAssignment("ENABLED", g.ParameterOptions().Required()).
				TextAssignment("OAUTH_ASSERTION_ISSUER", g.ParameterOptions().Required().SingleQuotes()).
				OptionalTextAssignment("OAUTH_AUTHORIZATION_ENDPOINT", g.ParameterOptions().SingleQuotes()).
				OptionalTextAssignment("OAUTH_TOKEN_ENDPOINT", g.ParameterOptions().SingleQuotes()).
				OptionalAssignment(
					"OAUTH_CLIENT_AUTH_METHOD",
					g.KindOfT[ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption](),
					g.ParameterOptions(),
				).
				TextAssignment("OAUTH_CLIENT_ID", g.ParameterOptions().Required().SingleQuotes()).
				TextAssignment("OAUTH_CLIENT_SECRET", g.ParameterOptions().Required().SingleQuotes()).
				OptionalSQL("OAUTH_GRANT = JWT_BEARER").
				OptionalNumberAssignment("OAUTH_ACCESS_TOKEN_VALIDITY", g.ParameterOptions()).
				OptionalNumberAssignment("OAUTH_REFRESH_TOKEN_VALIDITY", g.ParameterOptions())
		}),
	).
	CustomOperation(
		"CreateExternalOauth",
		"https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-external",
		createSecurityIntegrationOperation("CreateExternalOauth", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				PredefinedQueryStructField("integrationType", "string", g.StaticOptions().SQL("TYPE = EXTERNAL_OAUTH")).
				BooleanAssignment("ENABLED", g.ParameterOptions().Required()).
				Assignment(
					"EXTERNAL_OAUTH_TYPE",
					g.KindOfT[ExternalOauthSecurityIntegrationTypeOption](),
					g.ParameterOptions().Required(),
				).
				TextAssignment("EXTERNAL_OAUTH_ISSUER", g.ParameterOptions().Required().SingleQuotes()).
				ListAssignment("EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM", "TokenUserMappingClaim", g.ParameterOptions().Required().Parentheses()).
				Assignment(
					"EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE",
					g.KindOfT[ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption](),
					g.ParameterOptions().SingleQuotes().Required(),
				).
				ListAssignment("EXTERNAL_OAUTH_JWS_KEYS_URL", "JwsKeysUrl", g.ParameterOptions().Parentheses()).
				OptionalQueryStructField("ExternalOauthBlockedRolesList", blockedRolesListDef, g.ParameterOptions().SQL("EXTERNAL_OAUTH_BLOCKED_ROLES_LIST").Parentheses()).
				OptionalQueryStructField("ExternalOauthAllowedRolesList", allowedRolesListDef, g.ParameterOptions().SQL("EXTERNAL_OAUTH_ALLOWED_ROLES_LIST").Parentheses()).
				OptionalTextAssignment("EXTERNAL_OAUTH_RSA_PUBLIC_KEY", g.ParameterOptions().SingleQuotes()).
				OptionalTextAssignment("EXTERNAL_OAUTH_RSA_PUBLIC_KEY_2", g.ParameterOptions().SingleQuotes()).
				OptionalQueryStructField("ExternalOauthAudienceList", audienceListDef, g.ParameterOptions().SQL("EXTERNAL_OAUTH_AUDIENCE_LIST").Parentheses()).
				OptionalAssignment(
					"EXTERNAL_OAUTH_ANY_ROLE_MODE",
					g.KindOfT[ExternalOauthSecurityIntegrationAnyRoleModeOption](),
					g.ParameterOptions(),
				).
				OptionalTextAssignment("EXTERNAL_OAUTH_SCOPE_DELIMITER", g.ParameterOptions().SingleQuotes()).
				OptionalTextAssignment("EXTERNAL_OAUTH_SCOPE_MAPPING_ATTRIBUTE", g.ParameterOptions().SingleQuotes()).
				WithValidation(g.ConflictingFields, "ExternalOauthBlockedRolesList", "ExternalOauthAllowedRolesList").
				WithValidation(g.ExactlyOneValueSet, "ExternalOauthJwsKeysUrl", "ExternalOauthRsaPublicKey").
				WithValidation(g.ConflictingFields, "ExternalOauthJwsKeysUrl", "ExternalOauthRsaPublicKey2")
		}),
		allowedRolesListDef,
		blockedRolesListDef,
		jwsKeysUrlDef,
		audienceListDef,
		audienceListItemDef,
		tokenUserMappingClaimDef,
	).
	CustomOperation(
		"CreateOauthForPartnerApplications",
		"https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake",
		createSecurityIntegrationOperation("CreateOauthForPartnerApplications", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				PredefinedQueryStructField("integrationType", "string", g.StaticOptions().SQL("TYPE = OAUTH")).
				Assignment(
					"OAUTH_CLIENT",
					g.KindOfT[OauthSecurityIntegrationClientOption](),
					g.ParameterOptions().Required(),
				).
				OptionalTextAssignment("OAUTH_REDIRECT_URI", g.ParameterOptions().SingleQuotes()).
				OptionalBooleanAssignment("ENABLED", g.ParameterOptions()).
				OptionalBooleanAssignment("OAUTH_ISSUE_REFRESH_TOKENS", g.ParameterOptions()).
				OptionalNumberAssignment("OAUTH_REFRESH_TOKEN_VALIDITY", g.ParameterOptions()).
				OptionalAssignment(
					"OAUTH_USE_SECONDARY_ROLES",
					g.KindOfT[OauthSecurityIntegrationUseSecondaryRolesOption](),
					g.ParameterOptions(),
				).
				OptionalQueryStructField("BlockedRolesList", blockedRolesListDef, g.ParameterOptions().SQL("BLOCKED_ROLES_LIST").Parentheses())
		}),
		preAuthorizedRolesListDef,
		blockedRolesListDef,
	).
	CustomOperation(
		"CreateOauthForCustomClients",
		"https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake",
		createSecurityIntegrationOperation("CreateOauthForCustomClients", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				PredefinedQueryStructField("integrationType", "string", g.StaticOptions().SQL("TYPE = OAUTH")).
				PredefinedQueryStructField("oauthClient", "string", g.StaticOptions().SQL("OAUTH_CLIENT = CUSTOM")).
				Assignment(
					"OAUTH_CLIENT_TYPE",
					g.KindOfT[OauthSecurityIntegrationClientTypeOption](),
					g.ParameterOptions().Required().SingleQuotes(),
				).
				OptionalTextAssignment("OAUTH_REDIRECT_URI", g.ParameterOptions().SingleQuotes()).
				OptionalBooleanAssignment("ENABLED", g.ParameterOptions()).
				OptionalBooleanAssignment("OAUTH_ALLOW_NON_TLS_REDIRECT_URI", g.ParameterOptions()).
				OptionalBooleanAssignment("OAUTH_ENFORCE_PKCE", g.ParameterOptions()).
				OptionalAssignment(
					"OAUTH_USE_SECONDARY_ROLES",
					g.KindOfT[OauthSecurityIntegrationUseSecondaryRolesOption](),
					g.ParameterOptions(),
				).
				OptionalQueryStructField("PreAuthorizedRolesList", preAuthorizedRolesListDef, g.ParameterOptions().SQL("PRE_AUTHORIZED_ROLES_LIST").Parentheses()).
				OptionalQueryStructField("BlockedRolesList", blockedRolesListDef, g.ParameterOptions().SQL("BLOCKED_ROLES_LIST").Parentheses()).
				OptionalBooleanAssignment("OAUTH_ISSUE_REFRESH_TOKENS", g.ParameterOptions()).
				OptionalNumberAssignment("OAUTH_REFRESH_TOKEN_VALIDITY", g.ParameterOptions()).
				OptionalIdentifier("NetworkPolicy", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Equals().SQL("NETWORK_POLICY")).
				OptionalTextAssignment("OAUTH_CLIENT_RSA_PUBLIC_KEY", g.ParameterOptions().SingleQuotes()).
				OptionalTextAssignment("OAUTH_CLIENT_RSA_PUBLIC_KEY_2", g.ParameterOptions().SingleQuotes())
		}),
	).
	CustomOperation(
		"CreateSaml2",
		"https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-saml2",
		createSecurityIntegrationOperation("CreateSaml2", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				PredefinedQueryStructField("integrationType", "string", g.StaticOptions().SQL("TYPE = SAML2")).
				OptionalBooleanAssignment("ENABLED", g.ParameterOptions()).
				TextAssignment("SAML2_ISSUER", g.ParameterOptions().Required().SingleQuotes()).
				TextAssignment("SAML2_SSO_URL", g.ParameterOptions().Required().SingleQuotes()).
				Assignment(
					"SAML2_PROVIDER",
					g.KindOfT[Saml2SecurityIntegrationSaml2ProviderOption](),
					g.ParameterOptions().Required().SingleQuotes(),
				).
				TextAssignment("SAML2_X509_CERT", g.ParameterOptions().Required().SingleQuotes()).
				ListAssignment("ALLOWED_USER_DOMAINS", "UserDomain", g.ParameterOptions().Parentheses()).
				ListAssignment("ALLOWED_EMAIL_PATTERNS", "EmailPattern", g.ParameterOptions().Parentheses()).
				OptionalTextAssignment("SAML2_SP_INITIATED_LOGIN_PAGE_LABEL", g.ParameterOptions().SingleQuotes()).
				OptionalBooleanAssignment("SAML2_ENABLE_SP_INITIATED", g.ParameterOptions()).
				OptionalTextAssignment("SAML2_SNOWFLAKE_X509_CERT", g.ParameterOptions().SingleQuotes()).
				OptionalBooleanAssignment("SAML2_SIGN_REQUEST", g.ParameterOptions()).
				OptionalAssignment(
					"SAML2_REQUESTED_NAMEID_FORMAT",
					g.KindOfT[Saml2SecurityIntegrationSaml2RequestedNameidFormatOption](),
					g.ParameterOptions().SingleQuotes(),
				).
				OptionalTextAssignment("SAML2_POST_LOGOUT_REDIRECT_URL", g.ParameterOptions().SingleQuotes()).
				OptionalBooleanAssignment("SAML2_FORCE_AUTHN", g.ParameterOptions()).
				OptionalTextAssignment("SAML2_SNOWFLAKE_ISSUER_URL", g.ParameterOptions().SingleQuotes()).
				OptionalTextAssignment("SAML2_SNOWFLAKE_ACS_URL", g.ParameterOptions().SingleQuotes())
		}),
		userDomainDef,
		emailPatternDef,
	).
	CustomOperation(
		"CreateScim",
		"https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-scim",
		createSecurityIntegrationOperation("CreateScim", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				PredefinedQueryStructField("integrationType", "string", g.StaticOptions().SQL("TYPE = SCIM")).
				OptionalBooleanAssignment("ENABLED", g.ParameterOptions()).
				Assignment(
					"SCIM_CLIENT",
					g.KindOfT[ScimSecurityIntegrationScimClientOption](),
					g.ParameterOptions().SingleQuotes().Required(),
				).
				Assignment(
					"RUN_AS_ROLE",
					g.KindOfT[ScimSecurityIntegrationRunAsRoleOption](),
					g.ParameterOptions().SingleQuotes().Required(),
				).
				OptionalIdentifier("NetworkPolicy", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Equals().SQL("NETWORK_POLICY")).
				OptionalBooleanAssignment("SYNC_PASSWORD", g.ParameterOptions())
		}),
	).
	CustomOperation(
		"AlterApiAuthenticationWithClientCredentialsFlow",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-api-auth",
		alterSecurityIntegrationOperation("AlterApiAuthenticationWithClientCredentialsFlow", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField(
				"Set",
				apiAuthClientCredentialsFlowIntegrationSetDef,
				g.ListOptions().NoParentheses().SQL("SET"),
			).OptionalQueryStructField(
				"Unset",
				apiAuthClientCredentialsFlowIntegrationUnsetDef,
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "SetTags", "UnsetTags")
		}),
	).
	CustomOperation(
		"AlterApiAuthenticationWithAuthorizationCodeGrantFlow",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-api-auth",
		alterSecurityIntegrationOperation("AlterApiAuthenticationWithAuthorizationCodeGrantFlow", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField(
				"Set",
				apiAuthCodeGrantFlowIntegrationSetDef,
				g.ListOptions().NoParentheses().SQL("SET"),
			).OptionalQueryStructField(
				"Unset",
				apiAuthCodeGrantFlowIntegrationUnsetDef,
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "SetTags", "UnsetTags")
		}),
	).
	CustomOperation(
		"AlterApiAuthenticationWithJwtBearerFlow",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-api-auth",
		alterSecurityIntegrationOperation("AlterApiAuthenticationWithJwtBearerFlow", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField(
				"Set",
				apiAuthJwtBearerFlowIntegrationSetDef,
				g.ListOptions().NoParentheses().SQL("SET"),
			).OptionalQueryStructField(
				"Unset",
				apiAuthJwtBearerFlowIntegrationUnsetDef,
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "SetTags", "UnsetTags")
		}),
	).
	CustomOperation(
		"AlterExternalOauth",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-oauth-external",
		alterSecurityIntegrationOperation("AlterExternalOauth", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField(
				"Set",
				externalOauthIntegrationSetDef,
				g.ListOptions().NoParentheses().SQL("SET"),
			).OptionalQueryStructField(
				"Unset",
				externalOauthIntegrationUnsetDef,
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "SetTags", "UnsetTags")
		}),
	).
	CustomOperation(
		"AlterOauthForPartnerApplications",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-oauth-snowflake",
		alterSecurityIntegrationOperation("AlterOauthForPartnerApplications", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField(
				"Set",
				oauthForPartnerApplicationsIntegrationSetDef,
				g.ListOptions().NoParentheses().SQL("SET"),
			).OptionalQueryStructField(
				"Unset",
				oauthForPartnerApplicationsIntegrationUnsetDef,
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "SetTags", "UnsetTags")
		}),
	).
	CustomOperation(
		"AlterOauthForCustomClients",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-oauth-snowflake",
		alterSecurityIntegrationOperation("AlterOauthForCustomClients", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField(
				"Set",
				oauthForCustomClientsIntegrationSetDef,
				g.ListOptions().NoParentheses().SQL("SET"),
			).OptionalQueryStructField(
				"Unset",
				oauthForCustomClientsIntegrationUnsetDef,
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "SetTags", "UnsetTags")
		}),
	).
	CustomOperation(
		"AlterSaml2",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-saml2",
		alterSecurityIntegrationOperation("AlterSaml2", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField(
				"Set",
				saml2IntegrationSetDef,
				g.ListOptions().NoParentheses().SQL("SET"),
			).OptionalQueryStructField(
				"Unset",
				saml2IntegrationUnsetDef,
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).OptionalSQL("REFRESH SAML2_SNOWFLAKE_PRIVATE_KEY").
				WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "RefreshSaml2SnowflakePrivateKey", "SetTags", "UnsetTags")
		}),
	).
	CustomOperation(
		"AlterScim",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-scim",
		alterSecurityIntegrationOperation("AlterScim", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField(
				"Set",
				scimIntegrationSetDef,
				g.ListOptions().NoParentheses().SQL("SET"),
			).OptionalQueryStructField(
				"Unset",
				scimIntegrationUnsetDef,
				g.ListOptions().NoParentheses().SQL("UNSET"),
			).WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "SetTags", "UnsetTags")
		}),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-integration",
		g.NewQueryStruct("DropSecurityIntegration").
			Drop().
			SQL("SECURITY INTEGRATION").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	DescribeOperation(
		g.DescriptionMappingKindSlice,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-integration",
		g.DbStruct("securityIntegrationDescRow").
			Field("property", "string").
			Field("property_type", "string").
			Field("property_value", "string").
			Field("property_default", "string"),
		g.PlainStruct("SecurityIntegrationProperty").
			Field("Name", "string").
			Field("Type", "string").
			Field("Value", "string").
			Field("Default", "string"),
		g.NewQueryStruct("DescSecurityIntegration").
			Describe().
			SQL("SECURITY INTEGRATION").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-integrations",
		g.DbStruct("securityIntegrationShowRow").
			Text("name").
			Text("type").
			Text("category").
			Bool("enabled").
			OptionalText("comment").
			Time("created_on"),
		g.PlainStruct("SecurityIntegration").
			Text("Name").
			Text("IntegrationType").
			Text("Category").
			Bool("Enabled").
			Text("Comment").
			Time("CreatedOn"),
		g.NewQueryStruct("ShowSecurityIntegrations").
			Show().
			SQL("SECURITY INTEGRATIONS").
			OptionalLike(),
	).
	ShowByIdOperation()
View Source
var SequencesDef = g.NewInterface(
	"Sequences",
	"Sequence",
	g.KindOfT[SchemaObjectIdentifier](),
).CreateOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/create-sequence",
	g.NewQueryStruct("CreateSequence").
		Create().
		OrReplace().
		SQL("SEQUENCE").
		IfNotExists().
		Name().
		OptionalNumberAssignment("START", g.ParameterOptions().NoQuotes()).
		OptionalNumberAssignment("INCREMENT", g.ParameterOptions().NoQuotes()).
		PredefinedQueryStructField("ValuesBehavior", "*ValuesBehavior", g.KeywordOptions()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
).AlterOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/alter-sequence",
	g.NewQueryStruct("AlterSequence").
		Alter().
		SQL("SEQUENCE").
		IfExists().
		Name().
		Identifier("RenameTo", g.KindOfTPointer[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
		OptionalNumberAssignment("SET INCREMENT", g.ParameterOptions().NoQuotes()).
		OptionalQueryStructField(
			"Set",
			sequenceSet,
			g.KeywordOptions().SQL("SET"),
		).
		OptionalSQL("UNSET COMMENT").
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidIdentifierIfSet, "RenameTo").
		WithValidation(g.ExactlyOneValueSet, "RenameTo", "SetIncrement", "Set", "UnsetComment"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-sequences",
	g.DbStruct("sequenceRow").
		Field("created_on", "string").
		Field("name", "string").
		Field("schema_name", "string").
		Field("database_name", "string").
		Field("next_value", "int").
		Field("interval", "int").
		Field("owner", "string").
		Field("owner_role_type", "string").
		Field("comment", "string").
		Field("ordered", "string"),
	g.PlainStruct("Sequence").
		Field("CreatedOn", "string").
		Field("Name", "string").
		Field("SchemaName", "string").
		Field("DatabaseName", "string").
		Field("NextValue", "int").
		Field("Interval", "int").
		Field("Owner", "string").
		Field("OwnerRoleType", "string").
		Field("Comment", "string").
		Field("Ordered", "bool"),
	g.NewQueryStruct("ShowSequences").
		Show().
		SQL("SEQUENCES").
		OptionalLike().
		OptionalIn(),
).ShowByIdOperation().DescribeOperation(
	g.DescriptionMappingKindSingleValue,
	"https://docs.snowflake.com/en/sql-reference/sql/desc-sequence",
	g.DbStruct("sequenceDetailRow").
		Field("created_on", "string").
		Field("name", "string").
		Field("schema_name", "string").
		Field("database_name", "string").
		Field("next_value", "int").
		Field("interval", "int").
		Field("owner", "string").
		Field("owner_role_type", "string").
		Field("comment", "string").
		Field("ordered", "string"),
	g.PlainStruct("SequenceDetail").
		Field("CreatedOn", "string").
		Field("Name", "string").
		Field("SchemaName", "string").
		Field("DatabaseName", "string").
		Field("NextValue", "int").
		Field("Interval", "int").
		Field("Owner", "string").
		Field("OwnerRoleType", "string").
		Field("Comment", "string").
		Field("Ordered", "bool"),
	g.NewQueryStruct("DescribeSequence").
		Describe().
		SQL("SEQUENCE").
		Name().
		WithValidation(g.ValidIdentifier, "name"),
).DropOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/drop-sequence",
	g.NewQueryStruct("DropSequence").
		Drop().
		SQL("SEQUENCE").
		IfExists().
		Name().
		OptionalQueryStructField(
			"Constraint",
			sequenceConstraint,
			g.KeywordOptions(),
		).
		WithValidation(g.ValidIdentifier, "name"),
)
View Source
var SessionPoliciesDef = g.NewInterface(
	"SessionPolicies",
	"SessionPolicy",
	g.KindOfT[SchemaObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-session-policy",
		g.NewQueryStruct("CreateSessionPolicy").
			Create().
			OrReplace().
			SQL("SESSION POLICY").
			IfNotExists().
			Name().
			OptionalNumberAssignment("SESSION_IDLE_TIMEOUT_MINS", g.ParameterOptions().NoQuotes()).
			OptionalNumberAssignment("SESSION_UI_IDLE_TIMEOUT_MINS", g.ParameterOptions().NoQuotes()).
			OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-session-policy",
		g.NewQueryStruct("AlterSessionPolicy").
			Alter().
			SQL("SESSION POLICY").
			IfExists().
			Name().
			OptionalIdentifier("RenameTo", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
			OptionalQueryStructField(
				"Set",
				g.NewQueryStruct("SessionPolicySet").
					OptionalNumberAssignment("SESSION_IDLE_TIMEOUT_MINS", g.ParameterOptions().NoQuotes()).
					OptionalNumberAssignment("SESSION_UI_IDLE_TIMEOUT_MINS", g.ParameterOptions().NoQuotes()).
					OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
					WithValidation(g.AtLeastOneValueSet, "SessionIdleTimeoutMins", "SessionUiIdleTimeoutMins", "Comment"),
				g.KeywordOptions().SQL("SET"),
			).
			OptionalSetTags().
			OptionalUnsetTags().
			OptionalQueryStructField(
				"Unset",
				g.NewQueryStruct("SessionPolicyUnset").
					OptionalSQL("SESSION_IDLE_TIMEOUT_MINS").
					OptionalSQL("SESSION_UI_IDLE_TIMEOUT_MINS").
					OptionalSQL("COMMENT").
					WithValidation(g.AtLeastOneValueSet, "SessionIdleTimeoutMins", "SessionUiIdleTimeoutMins", "Comment"),
				g.KeywordOptions().SQL("UNSET"),
			).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ExactlyOneValueSet, "RenameTo", "Set", "SetTags", "UnsetTags", "Unset"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-session-policy",
		g.NewQueryStruct("DropSessionPolicy").
			Drop().
			SQL("SESSION POLICY").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-session-policies",
		g.DbStruct("showSessionPolicyDBRow").
			Field("created_on", "string").
			Field("name", "string").
			Field("database_name", "string").
			Field("schema_name", "string").
			Field("kind", "string").
			Field("owner", "string").
			Field("comment", "string").
			Field("options", "string").
			Field("owner_role_type", "string"),
		g.PlainStruct("SessionPolicy").
			Field("CreatedOn", "string").
			Field("Name", "string").
			Field("DatabaseName", "string").
			Field("SchemaName", "string").
			Field("Kind", "string").
			Field("Owner", "string").
			Field("Comment", "string").
			Field("Options", "string").
			Field("OwnerRoleType", "string"),
		g.NewQueryStruct("ShowSessionPolicies").
			Show().
			SQL("SESSION POLICIES"),
	).
	DescribeOperation(
		g.DescriptionMappingKindSingleValue,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-session-policy",
		g.DbStruct("describeSessionPolicyDBRow").
			Field("created_on", "string").
			Field("name", "string").
			Field("session_idle_timeout_mins", "int").
			Field("session_ui_idle_timeout_mins", "int").
			Field("comment", "string"),
		g.PlainStruct("SessionPolicyDescription").
			Field("CreatedOn", "string").
			Field("Name", "string").
			Field("SessionIdleTimeoutMins", "int").
			Field("SessionUIIdleTimeoutMins", "int").
			Field("Comment", "string"),
		g.NewQueryStruct("DescribeSessionPolicy").
			Describe().
			SQL("SESSION POLICY").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)
View Source
var StagesDef = g.NewInterface(
	"Stages",
	"Stage",
	g.KindOfT[SchemaObjectIdentifier](),
).
	CustomOperation(
		"CreateInternal",
		"https://docs.snowflake.com/en/sql-reference/sql/create-stage",
		createStageOperation("CreateInternalStage", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				OptionalQueryStructField(
					"Encryption",
					g.NewQueryStruct("InternalStageEncryption").
						OptionalAssignment(
							"TYPE",
							g.KindOfT[InternalStageEncryptionOption](),
							g.ParameterOptions().SingleQuotes().Required(),
						),
					g.ListOptions().Parentheses().NoComma().SQL("ENCRYPTION ="),
				).
				OptionalQueryStructField(
					"DirectoryTableOptions",
					g.NewQueryStruct("InternalDirectoryTableOptions").
						OptionalBooleanAssignment("ENABLE", nil).
						OptionalBooleanAssignment("REFRESH_ON_CREATE", nil),
					g.ListOptions().Parentheses().NoComma().SQL("DIRECTORY ="),
				)
		}),
	).
	CustomOperation(
		"CreateOnS3",
		"https://docs.snowflake.com/en/sql-reference/sql/create-stage",
		createStageOperation("CreateExternalS3Stage", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				OptionalQueryStructField("ExternalStageParams", externalS3StageParamsDef, nil).
				OptionalQueryStructField(
					"DirectoryTableOptions",
					g.NewQueryStruct("ExternalS3DirectoryTableOptions").
						OptionalBooleanAssignment("ENABLE", nil).
						OptionalBooleanAssignment("REFRESH_ON_CREATE", nil).
						OptionalBooleanAssignment("AUTO_REFRESH", nil),
					g.ListOptions().Parentheses().NoComma().SQL("DIRECTORY ="),
				)
		}),
	).
	CustomOperation(
		"CreateOnGCS",
		"https://docs.snowflake.com/en/sql-reference/sql/create-stage",
		createStageOperation("CreateExternalGCSStage", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				OptionalQueryStructField("ExternalStageParams", externalGCSStageParamsDef, nil).
				OptionalQueryStructField(
					"DirectoryTableOptions",
					g.NewQueryStruct("ExternalGCSDirectoryTableOptions").
						OptionalBooleanAssignment("ENABLE", nil).
						OptionalBooleanAssignment("REFRESH_ON_CREATE", nil).
						OptionalBooleanAssignment("AUTO_REFRESH", nil).
						OptionalTextAssignment("NOTIFICATION_INTEGRATION", g.ParameterOptions().SingleQuotes()),
					g.ListOptions().Parentheses().NoComma().SQL("DIRECTORY ="),
				)
		}),
	).
	CustomOperation(
		"CreateOnAzure",
		"https://docs.snowflake.com/en/sql-reference/sql/create-stage",
		createStageOperation("CreateExternalAzureStage", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				OptionalQueryStructField("ExternalStageParams", externalAzureStageParamsDef, nil).
				OptionalQueryStructField(
					"DirectoryTableOptions",
					g.NewQueryStruct("ExternalAzureDirectoryTableOptions").
						OptionalBooleanAssignment("ENABLE", nil).
						OptionalBooleanAssignment("REFRESH_ON_CREATE", nil).
						OptionalBooleanAssignment("AUTO_REFRESH", nil).
						OptionalTextAssignment("NOTIFICATION_INTEGRATION", g.ParameterOptions().SingleQuotes()),
					g.ListOptions().Parentheses().NoComma().SQL("DIRECTORY ="),
				)
		}),
	).
	CustomOperation(
		"CreateOnS3Compatible",
		"https://docs.snowflake.com/en/sql-reference/sql/create-stage",
		createStageOperation("CreateExternalS3CompatibleStage", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.
				TextAssignment("URL", g.ParameterOptions().SingleQuotes()).
				TextAssignment("ENDPOINT", g.ParameterOptions().SingleQuotes()).
				OptionalQueryStructField(
					"Credentials",
					g.NewQueryStruct("ExternalStageS3CompatibleCredentials").
						OptionalTextAssignment("AWS_KEY_ID", g.ParameterOptions().SingleQuotes().Required()).
						OptionalTextAssignment("AWS_SECRET_KEY", g.ParameterOptions().SingleQuotes().Required()),
					g.ListOptions().Parentheses().NoComma().SQL("CREDENTIALS ="),
				).
				OptionalQueryStructField(
					"DirectoryTableOptions",
					g.NewQueryStruct("ExternalS3DirectoryTableOptions").
						OptionalBooleanAssignment("ENABLE", nil).
						OptionalBooleanAssignment("REFRESH_ON_CREATE", nil).
						OptionalBooleanAssignment("AUTO_REFRESH", nil),
					g.ListOptions().Parentheses().NoComma().SQL("DIRECTORY ="),
				)
		}),
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-stage",
		g.NewQueryStruct("AlterStage").
			Alter().
			SQL("STAGE").
			IfExists().
			Name().
			OptionalIdentifier("RenameTo", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
			NamedList("SET TAG", g.KindOfT[TagAssociation]()).
			NamedList("UNSET TAG", g.KindOfT[ObjectIdentifier]()).
			WithValidation(g.ValidIdentifierIfSet, "RenameTo").
			WithValidation(g.ExactlyOneValueSet, "RenameTo", "SetTags", "UnsetTags").
			WithValidation(g.ConflictingFields, "IfExists", "UnsetTags").
			WithValidation(g.ValidIdentifier, "name"),
	).
	CustomOperation(
		"AlterInternalStage",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-stage",
		alterStageOperation("AlterInternalStage", func(qs *g.QueryStruct) *g.QueryStruct { return qs }),
	).
	CustomOperation(
		"AlterExternalS3Stage",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-stage",
		alterStageOperation("AlterExternalS3Stage", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField("ExternalStageParams", externalS3StageParamsDef, nil)
		}),
	).
	CustomOperation(
		"AlterExternalGCSStage",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-stage",
		alterStageOperation("AlterExternalGCSStage", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField("ExternalStageParams", externalGCSStageParamsDef, nil)
		}),
	).
	CustomOperation(
		"AlterExternalAzureStage",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-stage",
		alterStageOperation("AlterExternalAzureStage", func(qs *g.QueryStruct) *g.QueryStruct {
			return qs.OptionalQueryStructField("ExternalStageParams", externalAzureStageParamsDef, nil)
		}),
	).
	CustomOperation(
		"AlterDirectoryTable",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-stage",
		g.NewQueryStruct("AlterDirectoryTable").
			Alter().
			SQL("STAGE").
			IfExists().
			Name().
			OptionalQueryStructField(
				"SetDirectory",
				g.NewQueryStruct("DirectoryTableSet").BooleanAssignment("ENABLE", g.ParameterOptions().Required()),
				g.ListOptions().Parentheses().NoComma().SQL("SET DIRECTORY ="),
			).
			OptionalQueryStructField(
				"Refresh",
				g.NewQueryStruct("DirectoryTableRefresh").OptionalTextAssignment("SUBPATH", g.ParameterOptions().SingleQuotes()),
				g.KeywordOptions().SQL("REFRESH"),
			).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "SetDirectory", "Refresh"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-stage",
		g.NewQueryStruct("DropStage").
			Drop().
			SQL("STAGE").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	DescribeOperation(
		g.DescriptionMappingKindSlice,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-stage",
		g.DbStruct("stageDescRow").
			Field("parent_property", "string").
			Field("property", "string").
			Field("property_type", "string").
			Field("property_value", "string").
			Field("property_default", "string"),
		g.PlainStruct("StageProperty").
			Field("Parent", "string").
			Field("Name", "string").
			Field("Type", "string").
			Field("Value", "string").
			Field("Default", "string"),
		g.NewQueryStruct("DescStage").
			Describe().
			SQL("STAGE").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-stages",
		g.DbStruct("stageShowRow").
			Field("created_on", "time.Time").
			Field("name", "string").
			Field("database_name", "string").
			Field("schema_name", "string").
			Field("url", "string").
			Field("has_credentials", "string").
			Field("has_encryption_key", "string").
			Field("owner", "string").
			Field("comment", "string").
			Field("region", "sql.NullString").
			Field("type", "string").
			Field("cloud", "sql.NullString").
			Field("storage_integration", "sql.NullString").
			Field("endpoint", "sql.NullString").
			Field("owner_role_type", "sql.NullString").
			Field("directory_enabled", "string"),
		g.PlainStruct("Stage").
			Field("CreatedOn", "time.Time").
			Field("Name", "string").
			Field("DatabaseName", "string").
			Field("SchemaName", "string").
			Field("Url", "string").
			Field("HasCredentials", "bool").
			Field("HasEncryptionKey", "bool").
			Field("Owner", "string").
			Field("Comment", "string").
			Field("Region", "*string").
			Field("Type", "string").
			Field("Cloud", "*string").
			Field("StorageIntegration", "*string").
			Field("Endpoint", "*string").
			Field("OwnerRoleType", "*string").
			Field("DirectoryEnabled", "bool"),
		g.NewQueryStruct("ShowStages").
			Show().
			SQL("STAGES").
			OptionalLike().
			OptionalIn(),
	).
	ShowByIdOperation()
View Source
var StorageIntegrationDef = g.NewInterface(
	"StorageIntegrations",
	"StorageIntegration",
	g.KindOfT[AccountObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-storage-integration",
		g.NewQueryStruct("CreateStorageIntegration").
			Create().
			OrReplace().
			SQL("STORAGE INTEGRATION").
			IfNotExists().
			Name().
			PredefinedQueryStructField("externalStageType", "string", g.StaticOptions().SQL("TYPE = EXTERNAL_STAGE")).
			OptionalQueryStructField(
				"S3StorageProviderParams",
				g.NewQueryStruct("S3StorageParams").
					PredefinedQueryStructField("storageProvider", "string", g.StaticOptions().SQL("STORAGE_PROVIDER = 'S3'")).
					TextAssignment("STORAGE_AWS_ROLE_ARN", g.ParameterOptions().SingleQuotes().Required()).
					OptionalTextAssignment("STORAGE_AWS_OBJECT_ACL", g.ParameterOptions().SingleQuotes()),
				g.KeywordOptions(),
			).
			OptionalQueryStructField(
				"GCSStorageProviderParams",
				g.NewQueryStruct("GCSStorageParams").
					PredefinedQueryStructField("storageProvider", "string", g.StaticOptions().SQL("STORAGE_PROVIDER = 'GCS'")),
				g.KeywordOptions(),
			).
			OptionalQueryStructField(
				"AzureStorageProviderParams",
				g.NewQueryStruct("AzureStorageParams").
					PredefinedQueryStructField("storageProvider", "string", g.StaticOptions().SQL("STORAGE_PROVIDER = 'AZURE'")).
					OptionalTextAssignment("AZURE_TENANT_ID", g.ParameterOptions().SingleQuotes().Required()),
				g.KeywordOptions(),
			).
			BooleanAssignment("ENABLED", g.ParameterOptions().Required()).
			ListAssignment("STORAGE_ALLOWED_LOCATIONS", "StorageLocation", g.ParameterOptions().Parentheses().Required()).
			ListAssignment("STORAGE_BLOCKED_LOCATIONS", "StorageLocation", g.ParameterOptions().Parentheses()).
			OptionalComment().
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "IfNotExists", "OrReplace").
			WithValidation(g.ExactlyOneValueSet, "S3StorageProviderParams", "GCSStorageProviderParams", "AzureStorageProviderParams"),
		StorageLocationDef,
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-storage-integration",
		g.NewQueryStruct("AlterStorageIntegration").
			Alter().
			SQL("STORAGE INTEGRATION").
			IfExists().
			Name().
			OptionalQueryStructField(
				"Set",
				g.NewQueryStruct("StorageIntegrationSet").
					OptionalQueryStructField(
						"S3Params",
						g.NewQueryStruct("SetS3StorageParams").
							TextAssignment("STORAGE_AWS_ROLE_ARN", g.ParameterOptions().SingleQuotes().Required()).
							OptionalTextAssignment("STORAGE_AWS_OBJECT_ACL", g.ParameterOptions().SingleQuotes()),
						g.KeywordOptions(),
					).
					OptionalQueryStructField(
						"AzureParams",
						g.NewQueryStruct("SetAzureStorageParams").
							TextAssignment("AZURE_TENANT_ID", g.ParameterOptions().SingleQuotes().Required()),
						g.KeywordOptions(),
					).
					BooleanAssignment("ENABLED", g.ParameterOptions()).
					ListAssignment("STORAGE_ALLOWED_LOCATIONS", "StorageLocation", g.ParameterOptions().Parentheses()).
					ListAssignment("STORAGE_BLOCKED_LOCATIONS", "StorageLocation", g.ParameterOptions().Parentheses()).
					OptionalComment(),
				g.KeywordOptions().SQL("SET"),
			).
			OptionalQueryStructField(
				"Unset",
				g.NewQueryStruct("StorageIntegrationUnset").
					OptionalSQL("STORAGE_AWS_OBJECT_ACL").
					OptionalSQL("ENABLED").
					OptionalSQL("STORAGE_BLOCKED_LOCATIONS").
					OptionalSQL("COMMENT"),
				g.ListOptions().SQL("UNSET"),
			).
			OptionalSetTags().
			OptionalUnsetTags().
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "IfExists", "UnsetTags").
			WithValidation(g.ExactlyOneValueSet, "Set", "Unset", "SetTags", "UnsetTags"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-integration",
		g.NewQueryStruct("DropStorageIntegration").
			Drop().
			SQL("STORAGE INTEGRATION").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-integrations",
		g.DbStruct("showStorageIntegrationsDbRow").
			Text("name").
			Text("type").
			Text("category").
			Bool("enabled").
			OptionalText("comment").
			Time("created_on"),
		g.PlainStruct("StorageIntegration").
			Text("Name").
			Text("StorageType").
			Text("Category").
			Bool("Enabled").
			Text("Comment").
			Time("CreatedOn"),
		g.NewQueryStruct("ShowStorageIntegrations").
			Show().
			SQL("STORAGE INTEGRATIONS").
			OptionalLike(),
	).
	ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSlice,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-integration",
		g.DbStruct("descStorageIntegrationsDbRow").
			Text("property").
			Text("property_type").
			Text("property_value").
			Text("property_default"),
		g.PlainStruct("StorageIntegrationProperty").
			Text("Name").
			Text("Type").
			Text("Value").
			Text("Default"),
		g.NewQueryStruct("DescribeStorageIntegration").
			Describe().
			SQL("STORAGE INTEGRATION").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)
View Source
var StorageLocationDef = g.NewQueryStruct("StorageLocation").Text("Path", g.KeywordOptions().SingleQuotes().Required())
View Source
var StreamlitsDef = g.NewInterface(
	"Streamlits",
	"Streamlit",
	g.KindOfT[SchemaObjectIdentifier](),
).CreateOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/create-streamlit",
	g.NewQueryStruct("CreateStreamlit").
		Create().
		OrReplace().
		SQL("STREAMLIT").
		IfNotExists().
		Name().
		TextAssignment("ROOT_LOCATION", g.ParameterOptions().SingleQuotes().Required()).
		TextAssignment("MAIN_FILE", g.ParameterOptions().SingleQuotes().Required()).
		OptionalIdentifier("QueryWarehouse", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Equals().SQL("QUERY_WAREHOUSE")).
		OptionalQueryStructField("ExternalAccessIntegrations", externalAccessIntegrations, g.ParameterOptions().SQL("EXTERNAL_ACCESS_INTEGRATIONS").Parentheses()).
		OptionalTextAssignment("TITLE", g.ParameterOptions().SingleQuotes()).
		OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidIdentifierIfSet, "QueryWarehouse").
		WithValidation(g.ConflictingFields, "IfNotExists", "OrReplace"),
).AlterOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/alter-streamlit",
	g.NewQueryStruct("AlterStreamlit").
		Alter().
		SQL("STREAMLIT").
		IfExists().
		Name().
		OptionalQueryStructField(
			"Set",
			streamlitSet,
			g.KeywordOptions().SQL("SET"),
		).
		OptionalQueryStructField(
			"Unset",
			streamlitUnset,
			g.ListOptions().NoParentheses().SQL("UNSET"),
		).
		Identifier("RenameTo", g.KindOfTPointer[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
		WithValidation(g.ValidIdentifier, "name").
		WithValidation(g.ValidIdentifierIfSet, "RenameTo").
		WithValidation(g.ExactlyOneValueSet, "RenameTo", "Set", "Unset"),
).DropOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/drop-streamlit",
	g.NewQueryStruct("DropStreamlit").
		Drop().
		SQL("STREAMLIT").
		IfExists().
		Name().
		WithValidation(g.ValidIdentifier, "name"),
).ShowOperation(
	"https://docs.snowflake.com/en/sql-reference/sql/show-streamlits",
	g.DbStruct("streamlitsRow").
		Field("created_on", "string").
		Field("name", "string").
		Field("database_name", "string").
		Field("schema_name", "string").
		Field("title", "sql.NullString").
		Field("owner", "string").
		Field("comment", "sql.NullString").
		Field("query_warehouse", "sql.NullString").
		Field("url_id", "string").
		Field("owner_role_type", "string"),
	g.PlainStruct("Streamlit").
		Field("CreatedOn", "string").
		Field("Name", "string").
		Field("DatabaseName", "string").
		Field("SchemaName", "string").
		Field("Title", "string").
		Field("Owner", "string").
		Field("Comment", "string").
		Field("QueryWarehouse", "string").
		Field("UrlId", "string").
		Field("OwnerRoleType", "string"),
	g.NewQueryStruct("ShowStreamlits").
		Show().
		Terse().
		SQL("STREAMLITS").
		OptionalLike().
		OptionalIn().
		OptionalLimit(),
).ShowByIdOperation().DescribeOperation(
	g.DescriptionMappingKindSingleValue,
	"https://docs.snowflake.com/en/sql-reference/sql/desc-streamlit",
	g.DbStruct("streamlitsDetailRow").
		Field("name", "string").
		Field("title", "sql.NullString").
		Field("root_location", "string").
		Field("main_file", "string").
		Field("query_warehouse", "sql.NullString").
		Field("url_id", "string").
		Field("default_packages", "string").
		Field("user_packages", "string").
		Field("import_urls", "string").
		Field("external_access_integrations", "string").
		Field("external_access_secrets", "string"),
	g.PlainStruct("StreamlitDetail").
		Field("Name", "string").
		Field("Title", "string").
		Field("RootLocation", "string").
		Field("MainFile", "string").
		Field("QueryWarehouse", "string").
		Field("UrlId", "string").
		Field("DefaultPackages", "string").
		Field("UserPackages", "[]string").
		Field("ImportUrls", "[]string").
		Field("ExternalAccessIntegrations", "[]string").
		Field("ExternalAccessSecrets", "string"),
	g.NewQueryStruct("DescribeStreamlit").
		Describe().
		SQL("STREAMLIT").
		Name().
		WithValidation(g.ValidIdentifier, "name"),
)
View Source
var (
	StreamsDef = g.NewInterface(
		"Streams",
		"Stream",
		g.KindOfT[SchemaObjectIdentifier](),
	).
		CustomOperation(
			"CreateOnTable",
			"https://docs.snowflake.com/en/sql-reference/sql/create-stream",
			g.NewQueryStruct("CreateStreamOnTable").
				Create().
				OrReplace().
				SQL("STREAM").
				IfNotExists().
				Name().
				OptionalTags().
				OptionalCopyGrants().
				SQL("ON TABLE").
				Identifier("TableId", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
				OptionalQueryStructField("On", onStreamDef, g.KeywordOptions()).
				OptionalBooleanAssignment("APPEND_ONLY", nil).
				OptionalBooleanAssignment("SHOW_INITIAL_ROWS", nil).
				OptionalComment().
				WithValidation(g.ValidIdentifier, "name").
				WithValidation(g.ValidIdentifier, "TableId").
				WithValidation(g.ConflictingFields, "IfNotExists", "OrReplace"),
		).
		CustomOperation(
			"CreateOnExternalTable",
			"https://docs.snowflake.com/en/sql-reference/sql/create-stream",
			g.NewQueryStruct("CreateStreamOnExternalTable").
				Create().
				OrReplace().
				SQL("STREAM").
				IfNotExists().
				Name().
				OptionalTags().
				OptionalCopyGrants().
				SQL("ON EXTERNAL TABLE").
				Identifier("ExternalTableId", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
				OptionalQueryStructField("On", onStreamDef, g.KeywordOptions()).
				OptionalBooleanAssignment("INSERT_ONLY", nil).
				OptionalComment().
				WithValidation(g.ValidIdentifier, "name").
				WithValidation(g.ValidIdentifier, "ExternalTableId").
				WithValidation(g.ConflictingFields, "IfNotExists", "OrReplace"),
		).
		CustomOperation(
			"CreateOnDirectoryTable",
			"https://docs.snowflake.com/en/sql-reference/sql/create-stream",
			g.NewQueryStruct("CreateStreamOnDirectoryTable").
				Create().
				OrReplace().
				SQL("STREAM").
				IfNotExists().
				Name().
				OptionalTags().
				OptionalCopyGrants().
				SQL("ON STAGE").
				Identifier("StageId", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
				OptionalComment().
				WithValidation(g.ValidIdentifier, "name").
				WithValidation(g.ValidIdentifier, "StageId").
				WithValidation(g.ConflictingFields, "IfNotExists", "OrReplace"),
		).
		CustomOperation(
			"CreateOnView",
			"https://docs.snowflake.com/en/sql-reference/sql/create-stream",
			g.NewQueryStruct("CreateStreamOnView").
				Create().
				OrReplace().
				SQL("STREAM").
				IfNotExists().
				Name().
				OptionalTags().
				OptionalCopyGrants().
				SQL("ON VIEW").
				Identifier("ViewId", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
				OptionalQueryStructField("On", onStreamDef, g.KeywordOptions()).
				OptionalBooleanAssignment("APPEND_ONLY", nil).
				OptionalBooleanAssignment("SHOW_INITIAL_ROWS", nil).
				OptionalComment().
				WithValidation(g.ValidIdentifier, "name").
				WithValidation(g.ValidIdentifier, "ViewId").
				WithValidation(g.ConflictingFields, "IfNotExists", "OrReplace"),
		).
		CustomOperation(
			"Clone",
			"https://docs.snowflake.com/en/sql-reference/sql/create-stream#variant-syntax",
			g.NewQueryStruct("CloneStream").
				Create().
				OrReplace().
				SQL("STREAM").
				Name().
				Identifier("sourceStream", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("CLONE").Required()).
				OptionalCopyGrants().
				WithValidation(g.ValidIdentifier, "name"),
		).
		AlterOperation(
			"https://docs.snowflake.com/en/sql-reference/sql/alter-stream",
			g.NewQueryStruct("AlterStream").
				Alter().
				SQL("STREAM").
				IfExists().
				Name().
				OptionalTextAssignment("SET COMMENT", g.ParameterOptions().SingleQuotes()).
				OptionalSQL("UNSET COMMENT").
				OptionalSetTags().
				OptionalUnsetTags().
				WithValidation(g.ValidIdentifier, "name").
				WithValidation(g.ConflictingFields, "IfExists", "UnsetTags").
				WithValidation(g.ExactlyOneValueSet, "SetComment", "UnsetComment", "SetTags", "UnsetTags"),
		).
		DropOperation(
			"https://docs.snowflake.com/en/sql-reference/sql/drop-stream",
			g.NewQueryStruct("DropStream").
				Drop().
				SQL("STREAM").
				IfExists().
				Name().
				WithValidation(g.ValidIdentifier, "name"),
		).
		ShowOperation(
			"https://docs.snowflake.com/en/sql-reference/sql/show-streams",
			showStreamDbRowDef,
			streamPlainStructDef,
			g.NewQueryStruct("ShowStreams").
				Show().
				Terse().
				SQL("STREAMS").
				OptionalLike().
				OptionalExtendedIn().
				OptionalStartsWith().
				OptionalLimit(),
		).
		ShowByIdOperation().
		DescribeOperation(
			g.DescriptionMappingKindSingleValue,
			"https://docs.snowflake.com/en/sql-reference/sql/desc-stream",
			showStreamDbRowDef,
			streamPlainStructDef,
			g.NewQueryStruct("DescribeStream").
				Describe().
				SQL("STREAM").
				Name().
				WithValidation(g.ValidIdentifier, "name"),
		)
)
View Source
var TasksDef = g.NewInterface(
	"Tasks",
	"Task",
	g.KindOfT[SchemaObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-task",
		g.NewQueryStruct("CreateTask").
			Create().
			OrReplace().
			SQL("TASK").
			IfNotExists().
			Name().
			PredefinedQueryStructField("Warehouse", "*CreateTaskWarehouse", g.KeywordOptions()).
			OptionalTextAssignment("SCHEDULE", g.ParameterOptions().SingleQuotes()).
			OptionalTextAssignment("CONFIG", g.ParameterOptions().NoQuotes()).
			OptionalBooleanAssignment("ALLOW_OVERLAPPING_EXECUTION", nil).
			OptionalSessionParameters().
			OptionalNumberAssignment("USER_TASK_TIMEOUT_MS", nil).
			OptionalNumberAssignment("SUSPEND_TASK_AFTER_NUM_FAILURES", nil).
			OptionalIdentifier("ErrorNotificationIntegration", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Equals().SQL("ERROR_INTEGRATION")).
			OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
			OptionalIdentifier("Finalize", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Equals().SQL("FINALIZE")).
			OptionalNumberAssignment("TASK_AUTO_RETRY_ATTEMPTS", g.ParameterOptions()).
			OptionalTags().
			OptionalNumberAssignment("USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS", g.ParameterOptions()).
			List("AFTER", g.KindOfT[SchemaObjectIdentifier](), g.ListOptions()).
			OptionalTextAssignment("WHEN", g.ParameterOptions().NoQuotes().NoEquals()).
			SQL("AS").
			Text("sql", g.KeywordOptions().NoQuotes().Required()).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ValidIdentifierIfSet, "ErrorNotificationIntegration").
			WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
		taskCreateWarehouse,
	).
	CustomOperation(
		"CreateOrAlter",
		"https://docs.snowflake.com/en/sql-reference/sql/create-task#create-or-alter-task",
		g.NewQueryStruct("CloneTask").
			CreateOrAlter().
			SQL("TASK").
			Name().
			PredefinedQueryStructField("Warehouse", "*CreateTaskWarehouse", g.KeywordOptions()).
			OptionalTextAssignment("SCHEDULE", g.ParameterOptions().SingleQuotes()).
			OptionalTextAssignment("CONFIG", g.ParameterOptions().NoQuotes()).
			OptionalBooleanAssignment("ALLOW_OVERLAPPING_EXECUTION", nil).
			OptionalNumberAssignment("USER_TASK_TIMEOUT_MS", nil).
			OptionalSessionParameters().
			OptionalNumberAssignment("SUSPEND_TASK_AFTER_NUM_FAILURES", nil).
			OptionalIdentifier("ErrorNotificationIntegration", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Equals().SQL("ERROR_INTEGRATION")).
			OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
			OptionalIdentifier("Finalize", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Equals().SQL("FINALIZE")).
			OptionalNumberAssignment("TASK_AUTO_RETRY_ATTEMPTS", g.ParameterOptions()).
			List("AFTER", g.KindOfT[SchemaObjectIdentifier](), g.ListOptions()).
			OptionalTextAssignment("WHEN", g.ParameterOptions().NoQuotes().NoEquals()).
			SQL("AS").
			Text("sql", g.KeywordOptions().NoQuotes().Required()).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ValidIdentifierIfSet, "ErrorNotificationIntegration"),
	).
	CustomOperation(
		"Clone",
		"https://docs.snowflake.com/en/sql-reference/sql/create-task#create-task-clone",
		g.NewQueryStruct("CloneTask").
			Create().
			OrReplace().
			SQL("TASK").
			Name().
			SQL("CLONE").
			Identifier("sourceTask", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Required()).
			OptionalSQL("COPY GRANTS").
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ValidIdentifier, "sourceTask"),
	).
	AlterOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/alter-task",
		g.NewQueryStruct("AlterTask").
			Alter().
			SQL("TASK").
			IfExists().
			Name().
			OptionalSQL("RESUME").
			OptionalSQL("SUSPEND").
			ListAssignment("REMOVE AFTER", "SchemaObjectIdentifier", g.ParameterOptions().NoEquals()).
			ListAssignment("ADD AFTER", "SchemaObjectIdentifier", g.ParameterOptions().NoEquals()).
			OptionalQueryStructField(
				"Set",
				g.NewQueryStruct("TaskSet").
					OptionalIdentifier("Warehouse", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Equals().SQL("WAREHOUSE")).
					OptionalAssignment("USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE", "WarehouseSize", g.ParameterOptions().SingleQuotes()).
					OptionalTextAssignment("SCHEDULE", g.ParameterOptions().SingleQuotes()).
					OptionalTextAssignment("CONFIG", g.ParameterOptions().NoQuotes()).
					OptionalBooleanAssignment("ALLOW_OVERLAPPING_EXECUTION", nil).
					OptionalNumberAssignment("USER_TASK_TIMEOUT_MS", nil).
					OptionalNumberAssignment("SUSPEND_TASK_AFTER_NUM_FAILURES", nil).
					OptionalIdentifier("ErrorNotificationIntegration", g.KindOfT[AccountObjectIdentifier](), g.IdentifierOptions().Equals().SQL("ERROR_INTEGRATION")).
					OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
					OptionalSessionParameters().
					OptionalNumberAssignment("TASK_AUTO_RETRY_ATTEMPTS", nil).
					OptionalNumberAssignment("USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS", nil).
					WithValidation(g.AtLeastOneValueSet, "Warehouse", "UserTaskManagedInitialWarehouseSize", "Schedule", "Config", "AllowOverlappingExecution", "UserTaskTimeoutMs", "SuspendTaskAfterNumFailures", "ErrorIntegration", "Comment", "SessionParameters", "TaskAutoRetryAttempts", "UserTaskMinimumTriggerIntervalInSeconds").
					WithValidation(g.ConflictingFields, "Warehouse", "UserTaskManagedInitialWarehouseSize").
					WithValidation(g.ValidIdentifierIfSet, "ErrorNotificationIntegration"),
				g.ListOptions().SQL("SET"),
			).
			OptionalQueryStructField(
				"Unset",
				g.NewQueryStruct("TaskUnset").
					OptionalSQL("WAREHOUSE").
					OptionalSQL("SCHEDULE").
					OptionalSQL("CONFIG").
					OptionalSQL("ALLOW_OVERLAPPING_EXECUTION").
					OptionalSQL("USER_TASK_TIMEOUT_MS").
					OptionalSQL("SUSPEND_TASK_AFTER_NUM_FAILURES").
					OptionalSQL("ERROR_INTEGRATION").
					OptionalSQL("COMMENT").
					OptionalSQL("TASK_AUTO_RETRY_ATTEMPTS").
					OptionalSQL("USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS").
					OptionalSessionParametersUnset().
					WithValidation(g.AtLeastOneValueSet, "Warehouse", "Schedule", "Config", "AllowOverlappingExecution", "UserTaskTimeoutMs", "SuspendTaskAfterNumFailures", "ErrorIntegration", "Comment", "SessionParametersUnset", "TaskAutoRetryAttempts", "UserTaskMinimumTriggerIntervalInSeconds"),
				g.ListOptions().SQL("UNSET"),
			).
			OptionalSetTags().
			OptionalUnsetTags().
			OptionalIdentifier("SetFinalize", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().Equals().SQL("SET FINALIZE")).
			OptionalSQL("UNSET FINALIZE").
			OptionalTextAssignment("MODIFY AS", g.ParameterOptions().NoQuotes().NoEquals()).
			OptionalTextAssignment("MODIFY WHEN", g.ParameterOptions().NoQuotes().NoEquals()).
			OptionalSQL("REMOVE WHEN").
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ExactlyOneValueSet, "Resume", "Suspend", "RemoveAfter", "AddAfter", "Set", "Unset", "SetTags", "UnsetTags", "SetFinalize", "UnsetFinalize", "ModifyAs", "ModifyWhen", "RemoveWhen"),
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-task",
		g.NewQueryStruct("DropTask").
			Drop().
			SQL("TASK").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-tasks",
		taskDbRow,
		task,
		g.NewQueryStruct("ShowTasks").
			Show().
			Terse().
			SQL("TASKS").
			OptionalLike().
			OptionalIn().
			OptionalStartsWith().
			OptionalSQL("ROOT ONLY").
			OptionalLimit(),
	).
	ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSingleValue,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-task",
		taskDbRow,
		task,
		g.NewQueryStruct("DescribeTask").
			Describe().
			SQL("TASK").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	CustomOperation(
		"Execute",
		"https://docs.snowflake.com/en/sql-reference/sql/execute-task",
		g.NewQueryStruct("ExecuteTask").
			SQL("EXECUTE").
			SQL("TASK").
			Name().
			OptionalSQL("RETRY LAST").
			WithValidation(g.ValidIdentifier, "name"),
	)
View Source
var ValidWarehouseScalingPoliciesString = []string{
	string(ScalingPolicyStandard),
	string(ScalingPolicyEconomy),
}

ValidWarehouseScalingPoliciesString is based on https://docs.snowflake.com/en/sql-reference/sql/create-warehouse#optional-properties-objectproperties

View Source
var ValidWarehouseSizesString = []string{
	string(WarehouseSizeXSmall),
	"X-SMALL",
	string(WarehouseSizeSmall),
	string(WarehouseSizeMedium),
	string(WarehouseSizeLarge),
	string(WarehouseSizeXLarge),
	"X-LARGE",
	string(WarehouseSizeXXLarge),
	"X2LARGE",
	"2X-LARGE",
	string(WarehouseSizeXXXLarge),
	"X3LARGE",
	"3X-LARGE",
	string(WarehouseSizeX4Large),
	"4X-LARGE",
	string(WarehouseSizeX5Large),
	"5X-LARGE",
	string(WarehouseSizeX6Large),
	"6X-LARGE",
}

ValidWarehouseSizesString is based on https://docs.snowflake.com/en/sql-reference/sql/create-warehouse#optional-properties-objectproperties

ValidWarehouseTypesString is based on https://docs.snowflake.com/en/sql-reference/sql/create-warehouse#optional-properties-objectproperties

View Source
var ViewsDef = g.NewInterface(
	"Views",
	"View",
	g.KindOfT[SchemaObjectIdentifier](),
).
	CreateOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/create-view",
		g.NewQueryStruct("CreateView").
			Create().
			OrReplace().
			OptionalSQL("SECURE").
			OptionalSQL("TEMPORARY").
			OptionalSQL("RECURSIVE").
			SQL("VIEW").
			IfNotExists().
			Name().
			ListQueryStructField("Columns", viewColumn, g.ListOptions().Parentheses()).
			OptionalSQL("COPY GRANTS").
			OptionalTextAssignment("COMMENT", g.ParameterOptions().SingleQuotes()).
			OptionalQueryStructField("RowAccessPolicy", viewRowAccessPolicy, g.KeywordOptions()).
			OptionalQueryStructField("AggregationPolicy", viewAggregationPolicy, g.KeywordOptions()).
			OptionalTags().
			SQL("AS").
			Text("sql", g.KeywordOptions().NoQuotes().Required()).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ConflictingFields, "OrReplace", "IfNotExists"),
	).
	CustomOperation(
		"Alter",
		"https://docs.snowflake.com/en/sql-reference/sql/alter-view",
		g.NewQueryStruct("AlterView").
			Alter().
			SQL("VIEW").
			IfExists().
			Name().
			OptionalIdentifier("RenameTo", g.KindOfT[SchemaObjectIdentifier](), g.IdentifierOptions().SQL("RENAME TO")).
			OptionalTextAssignment("SET COMMENT", g.ParameterOptions().SingleQuotes()).
			OptionalSQL("UNSET COMMENT").
			OptionalSQL("SET SECURE").
			OptionalBooleanAssignment("SET CHANGE_TRACKING", nil).
			OptionalSQL("UNSET SECURE").
			OptionalSetTags().
			OptionalUnsetTags().
			OptionalQueryStructField("AddDataMetricFunction", viewAddDataMetricFunction, g.KeywordOptions()).
			OptionalQueryStructField("DropDataMetricFunction", viewDropDataMetricFunction, g.KeywordOptions()).
			OptionalQueryStructField("ModifyDataMetricFunction", viewModifyDataMetricFunction, g.KeywordOptions()).
			OptionalQueryStructField("SetDataMetricSchedule", viewSetDataMetricSchedule, g.KeywordOptions()).
			OptionalQueryStructField("UnsetDataMetricSchedule", viewUnsetDataMetricSchedule, g.KeywordOptions()).
			OptionalQueryStructField("AddRowAccessPolicy", viewAddRowAccessPolicy, g.KeywordOptions()).
			OptionalQueryStructField("DropRowAccessPolicy", viewDropRowAccessPolicy, g.KeywordOptions()).
			OptionalQueryStructField("DropAndAddRowAccessPolicy", viewDropAndAddRowAccessPolicy, g.ListOptions().NoParentheses()).
			OptionalSQL("DROP ALL ROW ACCESS POLICIES").
			OptionalQueryStructField("SetAggregationPolicy", viewSetAggregationPolicy, g.KeywordOptions()).
			OptionalQueryStructField("UnsetAggregationPolicy", viewUnsetAggregationPolicy, g.KeywordOptions()).
			OptionalQueryStructField("SetMaskingPolicyOnColumn", viewSetColumnMaskingPolicy, g.KeywordOptions()).
			OptionalQueryStructField("UnsetMaskingPolicyOnColumn", viewUnsetColumnMaskingPolicy, g.KeywordOptions()).
			OptionalQueryStructField("SetProjectionPolicyOnColumn", viewSetProjectionPolicy, g.KeywordOptions()).
			OptionalQueryStructField("UnsetProjectionPolicyOnColumn", viewUnsetProjectionPolicy, g.KeywordOptions()).
			OptionalQueryStructField("SetTagsOnColumn", viewSetColumnTags, g.KeywordOptions()).
			OptionalQueryStructField("UnsetTagsOnColumn", viewUnsetColumnTags, g.KeywordOptions()).
			WithValidation(g.ValidIdentifier, "name").
			WithValidation(g.ExactlyOneValueSet, "RenameTo", "SetComment", "UnsetComment", "SetSecure", "SetChangeTracking",
				"UnsetSecure", "SetTags", "UnsetTags", "AddDataMetricFunction", "DropDataMetricFunction", "ModifyDataMetricFunction", "SetDataMetricSchedule", "UnsetDataMetricSchedule",
				"AddRowAccessPolicy", "DropRowAccessPolicy", "DropAndAddRowAccessPolicy",
				"DropAllRowAccessPolicies", "SetAggregationPolicy", "UnsetAggregationPolicy", "SetMaskingPolicyOnColumn",
				"UnsetMaskingPolicyOnColumn", "SetProjectionPolicyOnColumn", "UnsetProjectionPolicyOnColumn", "SetTagsOnColumn",
				"UnsetTagsOnColumn").
			WithValidation(g.ConflictingFields, "IfExists", "SetSecure").
			WithValidation(g.ConflictingFields, "IfExists", "UnsetSecure"),
		columnDef,
		dataMetricFunctionDef,
		modifyDataMetricFunctionDef,
	).
	DropOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/drop-view",
		g.NewQueryStruct("DropView").
			Drop().
			SQL("VIEW").
			IfExists().
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	).
	ShowOperation(
		"https://docs.snowflake.com/en/sql-reference/sql/show-views",
		viewDbRow,
		view,
		g.NewQueryStruct("ShowViews").
			Show().
			Terse().
			SQL("VIEWS").
			OptionalLike().
			OptionalExtendedIn().
			OptionalStartsWith().
			OptionalLimit(),
	).
	ShowByIdOperation().
	DescribeOperation(
		g.DescriptionMappingKindSlice,
		"https://docs.snowflake.com/en/sql-reference/sql/desc-view",
		viewDetailsDbRow,
		viewDetails,
		g.NewQueryStruct("DescribeView").
			Describe().
			SQL("VIEW").
			Name().
			WithValidation(g.ValidIdentifier, "name"),
	)

WarehouseParameters is based on https://docs.snowflake.com/en/sql-reference/parameters#object-parameters

Functions

func AsStringList added in v0.86.0

func AsStringList[T ~string](input []T) []string

func Bool

func Bool(b bool) *bool

Bool returns a pointer to the given bool.

func DefaultConfig

func DefaultConfig() *gosnowflake.Config

func ErrExactlyOneOf added in v0.75.0

func ErrExactlyOneOf(structName string, fieldNames ...string) error

func ErrOneOf added in v0.75.0

func ErrOneOf(structName string, fieldNames ...string) error

func ErrorsEqual added in v0.76.0

func ErrorsEqual(t *testing.T, expected error, actual error)

func Float64 added in v0.65.0

func Float64(f float64) *float64

Float64 returns a pointer to the given float64.

func Int

func Int(i int) *int

Int returns a pointer to the given int.

func IsStringType added in v0.87.0

func IsStringType(_type string) bool

func IsValidDataType

func IsValidDataType(v string) bool

func JoinErrors added in v0.76.0

func JoinErrors(errs ...error) error

JoinErrors returns an error that wraps the given errors. Any nil error values are discarded. JoinErrors returns nil if errs contains no non-nil values, otherwise returns sdk.Error with errs as its nested errors

func MergeConfig

func MergeConfig(baseConfig *gosnowflake.Config, mergeConfig *gosnowflake.Config) *gosnowflake.Config

func NewError added in v0.76.0

func NewError(message string, nestedErrors ...error) error

NewError creates new sdk.Error with information like filename or line number (depending on where NewError was called)

func ParseCommaSeparatedStringArray added in v0.93.0

func ParseCommaSeparatedStringArray(value string, trimQuotes bool) []string

ParseCommaSeparatedStringArray can be used to parse Snowflake output containing a list in the format of "[item1, item2, ...]", the assumptions are that: 1. The list is enclosed by [] brackets, and they shouldn't be a part of any item's value 2. Items are separated by commas, and they shouldn't be a part of any item's value 3. Items can have as many spaces in between, but after separation they will be trimmed and shouldn't be a part of any item's value

func ParseIdentifierString added in v0.95.0

func ParseIdentifierString(identifier string) ([]string, error)

TODO(SNOW-1495053): Temporarily exported, make as private

func ParseIdentifierStringWithOpts added in v0.95.0

func ParseIdentifierStringWithOpts(identifier string, opts func(*csv.Reader)) ([]string, error)

TODO(SNOW-1495053): Temporarily exported, make as private

func ParseNumberDataTypeRaw added in v0.95.0

func ParseNumberDataTypeRaw(rawDataType string) (int, int)

ParseNumberDataTypeRaw extracts precision and scale from the raw number data type input. It returns defaults if it can't parse arguments, data type is different, or no arguments were provided. TODO [SNOW-1348103 or SNOW-1348106]: visit with functions and procedures rework

func ParseTimestampWithOffset added in v0.80.0

func ParseTimestampWithOffset(s string, dateTimeFormat string) (string, error)

fix timestamp merge

func ParseVarcharDataTypeRaw added in v0.95.0

func ParseVarcharDataTypeRaw(rawDataType string) int

ParseVarcharDataTypeRaw extracts length from the raw text data type input. It returns default if it can't parse arguments, data type is different, or no length argument was provided. TODO [SNOW-1348103 or SNOW-1348106]: visit with functions and procedures rework

func Pointer added in v0.65.0

func Pointer[K any](v K) *K

Pointer is a generic function that returns a pointer to a given value.

func ProfileConfig

func ProfileConfig(profile string) (*gosnowflake.Config, error)

func String

func String(s string) *string

String returns a pointer to the given string.

func SweepAfterAcceptanceTests added in v0.90.0

func SweepAfterAcceptanceTests(client *Client, suffix string) error

func SweepAfterIntegrationTests added in v0.90.0

func SweepAfterIntegrationTests(client *Client, suffix string) error

func ToBool added in v0.74.0

func ToBool(s string) bool

ToBool converts a string to a bool.

func ToFloat64 added in v0.74.0

func ToFloat64(s string) float64

ToFloat64 converts a string to a float64.

func ToInt added in v0.74.0

func ToInt(s string) int

ToInt converts a string to an int.

func ValidObjectIdentifier added in v0.74.0

func ValidObjectIdentifier(objectIdentifier ObjectIdentifier) bool

Types

type Account added in v0.65.0

type Account struct {
	OrganizationName                     string
	AccountName                          string
	RegionGroup                          string
	SnowflakeRegion                      string
	Edition                              AccountEdition
	AccountURL                           string
	CreatedOn                            time.Time
	Comment                              string
	AccountLocator                       string
	AccountLocatorURL                    string
	ManagedAccounts                      int
	ConsumptionBillingEntityName         string
	MarketplaceConsumerBillingEntityName string
	MarketplaceProviderBillingEntityName string
	OldAccountURL                        string
	IsOrgAdmin                           bool
}

func (*Account) AccountID added in v0.65.0

func (v *Account) AccountID() AccountIdentifier

func (*Account) ID added in v0.65.0

type AccountDrop added in v0.65.0

type AccountDrop struct {
	Name   AccountObjectIdentifier `ddl:"identifier"`
	OldURL *bool                   `ddl:"keyword" sql:"DROP OLD URL"`
}

type AccountEdition added in v0.65.0

type AccountEdition string
var (
	EditionStandard         AccountEdition = "STANDARD"
	EditionEnterprise       AccountEdition = "ENTERPRISE"
	EditionBusinessCritical AccountEdition = "BUSINESS_CRITICAL"
)

type AccountIdentifier added in v0.65.0

type AccountIdentifier struct {
	// contains filtered or unexported fields
}

func NewAccountIdentifier added in v0.65.0

func NewAccountIdentifier(organizationName, accountName string) AccountIdentifier

func NewAccountIdentifierFromAccountLocator added in v0.65.0

func NewAccountIdentifierFromAccountLocator(accountLocator string) AccountIdentifier

func NewAccountIdentifierFromFullyQualifiedName added in v0.70.1

func NewAccountIdentifierFromFullyQualifiedName(fullyQualifiedName string) AccountIdentifier

func ParseAccountIdentifier added in v0.95.0

func ParseAccountIdentifier(identifier string) (AccountIdentifier, error)

ParseAccountIdentifier is implemented with an assumption that the recommended format is used that contains two parts, organization name and account name.

func (AccountIdentifier) AccountName added in v0.95.0

func (i AccountIdentifier) AccountName() string

func (AccountIdentifier) FullyQualifiedName added in v0.87.0

func (i AccountIdentifier) FullyQualifiedName() string

func (AccountIdentifier) Name added in v0.65.0

func (i AccountIdentifier) Name() string

func (AccountIdentifier) OrganizationName added in v0.95.0

func (i AccountIdentifier) OrganizationName() string

type AccountLevelParameters added in v0.65.0

type AccountLevelParameters struct {
	AccountParameters *AccountParameters `ddl:"list,no_parentheses"`
	SessionParameters *SessionParameters `ddl:"list,no_parentheses"`
	ObjectParameters  *ObjectParameters  `ddl:"list,no_parentheses"`
	UserParameters    *UserParameters    `ddl:"list,no_parentheses"`
}

type AccountLevelParametersUnset added in v0.65.0

type AccountLevelParametersUnset struct {
	AccountParameters *AccountParametersUnset `ddl:"list,no_parentheses"`
	SessionParameters *SessionParametersUnset `ddl:"list,no_parentheses"`
	ObjectParameters  *ObjectParametersUnset  `ddl:"list,no_parentheses"`
	UserParameters    *UserParametersUnset    `ddl:"list,no_parentheses"`
}

type AccountObjectIdentifier

type AccountObjectIdentifier struct {
	// contains filtered or unexported fields
}

func NewAccountObjectIdentifier

func NewAccountObjectIdentifier(name string) AccountObjectIdentifier

func NewAccountObjectIdentifierFromFullyQualifiedName added in v0.68.0

func NewAccountObjectIdentifierFromFullyQualifiedName(fullyQualifiedName string) AccountObjectIdentifier

func ParseAccountObjectIdentifier added in v0.95.0

func ParseAccountObjectIdentifier(identifier string) (AccountObjectIdentifier, error)

func (AccountObjectIdentifier) FullyQualifiedName

func (i AccountObjectIdentifier) FullyQualifiedName() string

func (AccountObjectIdentifier) Name

type AccountObjectPrivilege added in v0.68.0

type AccountObjectPrivilege string
const (

	// For DATABASE
	AccountObjectPrivilegeApplyBudget        AccountObjectPrivilege = "APPLYBUDGET"
	AccountObjectPrivilegeCreateDatabaseRole AccountObjectPrivilege = "CREATE DATABASE ROLE"
	AccountObjectPrivilegeCreateSchema       AccountObjectPrivilege = "CREATE SCHEMA"
	AccountObjectPrivilegeImportedPrivileges AccountObjectPrivilege = "IMPORTED PRIVILEGES"
	AccountObjectPrivilegeModify             AccountObjectPrivilege = "MODIFY"
	AccountObjectPrivilegeMonitor            AccountObjectPrivilege = "MONITOR"
	AccountObjectPrivilegeUsage              AccountObjectPrivilege = "USAGE"

	// For FAILOVER GROUP
	AccountObjectPrivilegeFailover AccountObjectPrivilege = "FAILOVER"

	// For INTEGRATION
	// AccountObjectPrivilegeUsage AccountObjectPrivilege = "USAGE" (duplicate)
	AccountObjectPrivilegeUseAnyRole AccountObjectPrivilege = "USE_ANY_ROLE"

	// For REPLICATION GROUP
	// AccountObjectPrivilegeModify AccountObjectPrivilege = "MODIFY" (duplicate)
	// AccountObjectPrivilegeMonitor AccountObjectPrivilege = "MONITOR" (duplicate)
	AccountObjectPrivilegeReplicate AccountObjectPrivilege = "REPLICATE"

	// For WAREHOUSE
	// AccountObjectPrivilegeApplyBudget AccountObjectPrivilege = "APPLYBUDGET" (duplicate)
	// AccountObjectPrivilegeModify   	 AccountObjectPrivilege = "MODIFY" (duplicate)
	// AccountObjectPrivilegeMonitor  	 AccountObjectPrivilege = "MONITOR" (duplicate)
	// AccountObjectPrivilegeUsage    	 AccountObjectPrivilege = "USAGE" (duplicate)
	AccountObjectPrivilegeOperate AccountObjectPrivilege = "OPERATE"
)

func (AccountObjectPrivilege) String added in v0.68.0

func (p AccountObjectPrivilege) String() string

type AccountParameter added in v0.65.0

type AccountParameter string
const (
	// Account Parameters
	AccountParameterAllowClientMFACaching                            AccountParameter = "ALLOW_CLIENT_MFA_CACHING"
	AccountParameterAllowIDToken                                     AccountParameter = "ALLOW_ID_TOKEN" // #nosec G101
	AccountParameterClientEncryptionKeySize                          AccountParameter = "CLIENT_ENCRYPTION_KEY_SIZE"
	AccountParameterEnableIdentifierFirstLogin                       AccountParameter = "ENABLE_IDENTIFIER_FIRST_LOGIN"
	AccountParameterEnableInternalStagesPrivatelink                  AccountParameter = "ENABLE_INTERNAL_STAGES_PRIVATELINK"
	AccountParameterEnableTriSecretAndRekeyOptOutForImageRepository  AccountParameter = "ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_IMAGE_REPOSITORY"   // #nosec G101
	AccountParameterEnableTriSecretAndRekeyOptOutForSpcsBlockStorage AccountParameter = "ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_SPCS_BLOCK_STORAGE" // #nosec G101
	AccountParameterEventTable                                       AccountParameter = "EVENT_TABLE"
	AccountParameterExternalOAuthAddPrivilegedRolesToBlockedList     AccountParameter = "EXTERNAL_OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST"
	AccountParameterInitialReplicationSizeLimitInTB                  AccountParameter = "INITIAL_REPLICATION_SIZE_LIMIT_IN_TB"
	AccountParameterMinDataRetentionTimeInDays                       AccountParameter = "MIN_DATA_RETENTION_TIME_IN_DAYS"
	AccountParameterNetworkPolicy                                    AccountParameter = "NETWORK_POLICY"
	AccountParameterOAuthAddPrivilegedRolesToBlockedList             AccountParameter = "OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST"
	AccountParameterPeriodicDataRekeying                             AccountParameter = "PERIODIC_DATA_REKEYING"
	AccountParameterPreventLoadFromInlineURL                         AccountParameter = "PREVENT_LOAD_FROM_INLINE_URL"
	AccountParameterPreventUnloadToInlineURL                         AccountParameter = "PREVENT_UNLOAD_TO_INLINE_URL"
	AccountParameterPreventUnloadToInternalStages                    AccountParameter = "PREVENT_UNLOAD_TO_INTERNAL_STAGES"
	AccountParameterRequireStorageIntegrationForStageCreation        AccountParameter = "REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION"
	AccountParameterRequireStorageIntegrationForStageOperation       AccountParameter = "REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION"
	AccountParameterSSOLoginPage                                     AccountParameter = "SSO_LOGIN_PAGE"

	// Session Parameters (inherited)
	AccountParameterAbortDetachedQuery                    AccountParameter = "ABORT_DETACHED_QUERY"
	AccountParameterAutocommit                            AccountParameter = "AUTOCOMMIT"
	AccountParameterBinaryInputFormat                     AccountParameter = "BINARY_INPUT_FORMAT"
	AccountParameterBinaryOutputFormat                    AccountParameter = "BINARY_OUTPUT_FORMAT"
	AccountParameterClientMetadataRequestUseConnectionCtx AccountParameter = "CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX"
	AccountParameterClientMetadataUseSessionDatabase      AccountParameter = "CLIENT_METADATA_USE_SESSION_DATABASE"
	AccountParameterClientResultColumnCaseInsensitive     AccountParameter = "CLIENT_RESULT_COLUMN_CASE_INSENSITIVE"
	AccountParameterDateInputFormat                       AccountParameter = "DATE_INPUT_FORMAT"
	AccountParameterGeographyOutputFormat                 AccountParameter = "GEOGRAPHY_OUTPUT_FORMAT"
	AccountParameterDateOutputFormat                      AccountParameter = "DATE_OUTPUT_FORMAT"
	AccountParameterErrorOnNondeterministicMerge          AccountParameter = "ERROR_ON_NONDETERMINISTIC_MERGE"
	AccountParameterErrorOnNondeterministicUpdate         AccountParameter = "ERROR_ON_NONDETERMINISTIC_UPDATE"
	AccountParameterJSONIndent                            AccountParameter = "JSON_INDENT"
	AccountParameterLockTimeout                           AccountParameter = "LOCK_TIMEOUT"
	AccountParameterMultiStatementCount                   AccountParameter = "MULTI_STATEMENT_COUNT"
	AccountParameterQueryTag                              AccountParameter = "QUERY_TAG"
	AccountParameterQuotedIdentifiersIgnoreCase           AccountParameter = "QUOTED_IDENTIFIERS_IGNORE_CASE"
	AccountParameterRowsPerResultset                      AccountParameter = "ROWS_PER_RESULTSET"
	AccountParameterS3StageVpceDnsName                    AccountParameter = "S3_STAGE_VPCE_DNS_NAME"
	AccountParameterSimulatedDataSharingConsumer          AccountParameter = "SIMULATED_DATA_SHARING_CONSUMER"
	AccountParameterStatementTimeoutInSeconds             AccountParameter = "STATEMENT_TIMEOUT_IN_SECONDS"
	AccountParameterStrictJSONOutput                      AccountParameter = "STRICT_JSON_OUTPUT"
	AccountParameterTimeInputFormat                       AccountParameter = "TIME_INPUT_FORMAT"
	AccountParameterTimeOutputFormat                      AccountParameter = "TIME_OUTPUT_FORMAT"
	AccountParameterTimestampDayIsAlways24h               AccountParameter = "TIMESTAMP_DAY_IS_ALWAYS_24H"
	AccountParameterTimestampInputFormat                  AccountParameter = "TIMESTAMP_INPUT_FORMAT"
	AccountParameterTimestampLtzOutputFormat              AccountParameter = "TIMESTAMP_LTZ_OUTPUT_FORMAT"
	AccountParameterTimestampNtzOutputFormat              AccountParameter = "TIMESTAMP_NTZ_OUTPUT_FORMAT"
	AccountParameterTimestampOutputFormat                 AccountParameter = "TIMESTAMP_OUTPUT_FORMAT"
	AccountParameterTimestampTypeMapping                  AccountParameter = "TIMESTAMP_TYPE_MAPPING"
	AccountParameterTimestampTzOutputFormat               AccountParameter = "TIMESTAMP_TZ_OUTPUT_FORMAT"
	AccountParameterTimezone                              AccountParameter = "TIMEZONE"
	AccountParameterTransactionAbortOnError               AccountParameter = "TRANSACTION_ABORT_ON_ERROR"
	AccountParameterTransactionDefaultIsolationLevel      AccountParameter = "TRANSACTION_DEFAULT_ISOLATION_LEVEL"
	AccountParameterTwoDigitCenturyStart                  AccountParameter = "TWO_DIGIT_CENTURY_START"
	AccountParameterUnsupportedDdlAction                  AccountParameter = "UNSUPPORTED_DDL_ACTION"
	AccountParameterUseCachedResult                       AccountParameter = "USE_CACHED_RESULT"
	AccountParameterWeekOfYearPolicy                      AccountParameter = "WEEK_OF_YEAR_POLICY"
	AccountParameterWeekStart                             AccountParameter = "WEEK_START"

	// Object Parameters (inherited)
	AccountParameterCatalog                                 AccountParameter = "CATALOG"
	AccountParameterDataRetentionTimeInDays                 AccountParameter = "DATA_RETENTION_TIME_IN_DAYS"
	AccountParameterDefaultDDLCollation                     AccountParameter = "DEFAULT_DDL_COLLATION"
	AccountParameterExternalVolume                          AccountParameter = "EXTERNAL_VOLUME"
	AccountParameterLogLevel                                AccountParameter = "LOG_LEVEL"
	AccountParameterMaxConcurrencyLevel                     AccountParameter = "MAX_CONCURRENCY_LEVEL"
	AccountParameterMaxDataExtensionTimeInDays              AccountParameter = "MAX_DATA_EXTENSION_TIME_IN_DAYS"
	AccountParameterPipeExecutionPaused                     AccountParameter = "PIPE_EXECUTION_PAUSED"
	AccountParameterReplaceInvalidCharacters                AccountParameter = "REPLACE_INVALID_CHARACTERS"
	AccountParameterStatementQueuedTimeoutInSeconds         AccountParameter = "STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"
	AccountParameterStorageSerializationPolicy              AccountParameter = "STORAGE_SERIALIZATION_POLICY"
	AccountParameterShareRestrictions                       AccountParameter = "SHARE_RESTRICTIONS"
	AccountParameterSuspendTaskAfterNumFailures             AccountParameter = "SUSPEND_TASK_AFTER_NUM_FAILURES"
	AccountParameterTraceLevel                              AccountParameter = "TRACE_LEVEL"
	AccountParameterUserTaskManagedInitialWarehouseSize     AccountParameter = "USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"
	AccountParameterUserTaskTimeoutMs                       AccountParameter = "USER_TASK_TIMEOUT_MS"
	AccountParameterTaskAutoRetryAttempts                   AccountParameter = "TASK_AUTO_RETRY_ATTEMPTS"
	AccountParameterUserTaskMinimumTriggerIntervalInSeconds AccountParameter = "USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"
	AccountParameterMetricLevel                             AccountParameter = "METRIC_LEVEL"
	AccountParameterEnableConsoleOutput                     AccountParameter = "ENABLE_CONSOLE_OUTPUT"

	// User Parameters (inherited)
	AccountParameterEnableUnredactedQuerySyntaxError AccountParameter = "ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR"
)

There is a hierarchical relationship between the different parameter types. Account parameters can set any of account, user, session or object parameters https://docs.snowflake.com/en/sql-reference/parameters#parameter-hierarchy-and-types Account Parameters include Session Parameters, Object Parameters and User Parameters

type AccountParameters added in v0.65.0

type AccountParameters struct {
	// Account Parameters
	AllowClientMFACaching                            *bool    `ddl:"parameter" sql:"ALLOW_CLIENT_MFA_CACHING"`
	AllowIDToken                                     *bool    `ddl:"parameter" sql:"ALLOW_ID_TOKEN"`
	ClientEncryptionKeySize                          *int     `ddl:"parameter" sql:"CLIENT_ENCRYPTION_KEY_SIZE"`
	EnableIdentifierFirstLogin                       *bool    `ddl:"parameter" sql:"ENABLE_IDENTIFIER_FIRST_LOGIN"`
	EnableInternalStagesPrivatelink                  *bool    `ddl:"parameter" sql:"ENABLE_INTERNAL_STAGES_PRIVATELINK"`
	EnableUnredactedQuerySyntaxError                 *bool    `ddl:"parameter" sql:"ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR"`
	EnableTriSecretAndRekeyOptOutForImageRepository  *bool    `ddl:"parameter" sql:"ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_IMAGE_REPOSITORY"`
	EnableTriSecretAndRekeyOptOutForSpcsBlockStorage *bool    `ddl:"parameter" sql:"ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_SPCS_BLOCK_STORAGE"`
	EventTable                                       *string  `ddl:"parameter,single_quotes" sql:"EVENT_TABLE"`
	ExternalOAuthAddPrivilegedRolesToBlockedList     *bool    `ddl:"parameter" sql:"EXTERNAL_OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST"`
	InitialReplicationSizeLimitInTB                  *float64 `ddl:"parameter" sql:"INITIAL_REPLICATION_SIZE_LIMIT_IN_TB"`
	MinDataRetentionTimeInDays                       *int     `ddl:"parameter" sql:"MIN_DATA_RETENTION_TIME_IN_DAYS"`
	NetworkPolicy                                    *string  `ddl:"parameter,single_quotes" sql:"NETWORK_POLICY"`
	OAuthAddPrivilegedRolesToBlockedList             *bool    `ddl:"parameter" sql:"OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST"`
	PeriodicDataRekeying                             *bool    `ddl:"parameter" sql:"PERIODIC_DATA_REKEYING"`
	PreventLoadFromInlineURL                         *bool    `ddl:"parameter" sql:"PREVENT_LOAD_FROM_INLINE_URL"`
	PreventUnloadToInlineURL                         *bool    `ddl:"parameter" sql:"PREVENT_UNLOAD_TO_INLINE_URL"`
	PreventUnloadToInternalStages                    *bool    `ddl:"parameter" sql:"PREVENT_UNLOAD_TO_INTERNAL_STAGES"`
	RequireStorageIntegrationForStageCreation        *bool    `ddl:"parameter" sql:"REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION"`
	RequireStorageIntegrationForStageOperation       *bool    `ddl:"parameter" sql:"REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION"`
	SSOLoginPage                                     *bool    `ddl:"parameter" sql:"SSO_LOGIN_PAGE"`
}

AccountParameters is based on https://docs.snowflake.com/en/sql-reference/parameters#account-parameters.

type AccountParametersUnset added in v0.65.0

type AccountParametersUnset struct {
	AllowClientMFACaching                            *bool `ddl:"keyword" sql:"ALLOW_CLIENT_MFA_CACHING"`
	AllowIDToken                                     *bool `ddl:"keyword" sql:"ALLOW_ID_TOKEN"`
	ClientEncryptionKeySize                          *bool `ddl:"keyword" sql:"CLIENT_ENCRYPTION_KEY_SIZE"`
	EnableIdentifierFirstLogin                       *bool `ddl:"keyword" sql:"ENABLE_IDENTIFIER_FIRST_LOGIN"`
	EnableInternalStagesPrivatelink                  *bool `ddl:"keyword" sql:"ENABLE_INTERNAL_STAGES_PRIVATELINK"`
	EnableTriSecretAndRekeyOptOutForImageRepository  *bool `ddl:"keyword" sql:"ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_IMAGE_REPOSITORY"`
	EnableTriSecretAndRekeyOptOutForSpcsBlockStorage *bool `ddl:"keyword" sql:"ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_SPCS_BLOCK_STORAGE"`
	EventTable                                       *bool `ddl:"keyword" sql:"EVENT_TABLE"`
	ExternalOAuthAddPrivilegedRolesToBlockedList     *bool `ddl:"keyword" sql:"EXTERNAL_OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST"`
	InitialReplicationSizeLimitInTB                  *bool `ddl:"keyword" sql:"INITIAL_REPLICATION_SIZE_LIMIT_IN_TB"`
	MinDataRetentionTimeInDays                       *bool `ddl:"keyword" sql:"MIN_DATA_RETENTION_TIME_IN_DAYS"`
	NetworkPolicy                                    *bool `ddl:"keyword" sql:"NETWORK_POLICY"`
	PeriodicDataRekeying                             *bool `ddl:"keyword" sql:"PERIODIC_DATA_REKEYING"`
	PreventUnloadToInlineURL                         *bool `ddl:"keyword" sql:"PREVENT_UNLOAD_TO_INLINE_URL"`
	PreventUnloadToInternalStages                    *bool `ddl:"keyword" sql:"PREVENT_UNLOAD_TO_INTERNAL_STAGES"`
	RequireStorageIntegrationForStageCreation        *bool `ddl:"keyword" sql:"REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION"`
	RequireStorageIntegrationForStageOperation       *bool `ddl:"keyword" sql:"REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION"`
	SSOLoginPage                                     *bool `ddl:"keyword" sql:"SSO_LOGIN_PAGE"`
}

type AccountRename added in v0.65.0

type AccountRename struct {
	Name       AccountObjectIdentifier `ddl:"identifier"`
	NewName    AccountObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	SaveOldURL *bool                   `ddl:"parameter" sql:"SAVE_OLD_URL"`
}

type AccountRoleGrantOn added in v0.68.0

type AccountRoleGrantOn struct {
	Account       *bool                 `ddl:"keyword" sql:"ACCOUNT"`
	AccountObject *GrantOnAccountObject `ddl:"-"`
	Schema        *GrantOnSchema        `ddl:"-"`
	SchemaObject  *GrantOnSchemaObject  `ddl:"-"`
}

type AccountRoleGrantPrivileges added in v0.68.0

type AccountRoleGrantPrivileges struct {
	GlobalPrivileges        []GlobalPrivilege        `ddl:"-"`
	AccountObjectPrivileges []AccountObjectPrivilege `ddl:"-"`
	SchemaPrivileges        []SchemaPrivilege        `ddl:"-"`
	SchemaObjectPrivileges  []SchemaObjectPrivilege  `ddl:"-"`
	AllPrivileges           *bool                    `ddl:"keyword" sql:"ALL PRIVILEGES"`
}

type AccountSet added in v0.65.0

type AccountSet struct {
	Parameters           *AccountLevelParameters `ddl:"list,no_parentheses"`
	ResourceMonitor      AccountObjectIdentifier `ddl:"identifier,equals" sql:"RESOURCE_MONITOR"`
	PasswordPolicy       SchemaObjectIdentifier  `ddl:"identifier" sql:"PASSWORD POLICY"`
	SessionPolicy        SchemaObjectIdentifier  `ddl:"identifier" sql:"SESSION POLICY"`
	AuthenticationPolicy SchemaObjectIdentifier  `ddl:"identifier" sql:"AUTHENTICATION POLICY"`
}

type AccountUnset added in v0.65.0

type AccountUnset struct {
	Parameters           *AccountLevelParametersUnset `ddl:"list,no_parentheses"`
	PasswordPolicy       *bool                        `ddl:"keyword" sql:"PASSWORD POLICY"`
	SessionPolicy        *bool                        `ddl:"keyword" sql:"SESSION POLICY"`
	AuthenticationPolicy *bool                        `ddl:"keyword" sql:"AUTHENTICATION POLICY"`
}

type Accounts added in v0.65.0

type Accounts interface {
	Create(ctx context.Context, id AccountObjectIdentifier, opts *CreateAccountOptions) error
	Alter(ctx context.Context, opts *AlterAccountOptions) error
	Show(ctx context.Context, opts *ShowAccountOptions) ([]Account, error)
	ShowByID(ctx context.Context, id AccountObjectIdentifier) (*Account, error)
	Drop(ctx context.Context, id AccountObjectIdentifier, gracePeriodInDays int, opts *DropAccountOptions) error
	Undrop(ctx context.Context, id AccountObjectIdentifier) error
}

type AddDelegatedAuthorization added in v0.70.0

type AddDelegatedAuthorization struct {
	Role        string `ddl:"parameter,no_equals" sql:"ADD DELEGATED AUTHORIZATION OF ROLE"`
	Integration string `ddl:"parameter,no_equals" sql:"TO SECURITY INTEGRATION"`
}

type AddNetworkRule added in v0.89.0

type AddNetworkRule struct {
	AllowedNetworkRuleList []SchemaObjectIdentifier `ddl:"parameter,parentheses" sql:"ALLOWED_NETWORK_RULE_LIST"`
	BlockedNetworkRuleList []SchemaObjectIdentifier `ddl:"parameter,parentheses" sql:"BLOCKED_NETWORK_RULE_LIST"`
}

type AddNetworkRuleRequest added in v0.89.0

type AddNetworkRuleRequest struct {
	AllowedNetworkRuleList []SchemaObjectIdentifier
	BlockedNetworkRuleList []SchemaObjectIdentifier
}

func NewAddNetworkRuleRequest added in v0.89.0

func NewAddNetworkRuleRequest() *AddNetworkRuleRequest

func (*AddNetworkRuleRequest) WithAllowedNetworkRuleList added in v0.89.0

func (s *AddNetworkRuleRequest) WithAllowedNetworkRuleList(AllowedNetworkRuleList []SchemaObjectIdentifier) *AddNetworkRuleRequest

func (*AddNetworkRuleRequest) WithBlockedNetworkRuleList added in v0.89.0

func (s *AddNetworkRuleRequest) WithBlockedNetworkRuleList(BlockedNetworkRuleList []SchemaObjectIdentifier) *AddNetworkRuleRequest

type AddPatchForVersion added in v0.84.0

type AddPatchForVersion struct {
	VersionIdentifier *string `ddl:"keyword,no_quotes"`
	Using             string  `ddl:"parameter,single_quotes,no_equals" sql:"USING"`
	Label             *string `ddl:"parameter,single_quotes" sql:"LABEL"`
}

type AddPatchForVersionRequest added in v0.84.0

type AddPatchForVersionRequest struct {
	VersionIdentifier *string // required
	Using             string  // required
	Label             *string
}

func NewAddPatchForVersionRequest added in v0.84.0

func NewAddPatchForVersionRequest(
	VersionIdentifier *string,
	Using string,
) *AddPatchForVersionRequest

func (*AddPatchForVersionRequest) WithLabel added in v0.84.0

type AddRowAccessPolicyRequest added in v0.78.0

type AddRowAccessPolicyRequest struct {
	PolicyName string   // required
	ColumnName []string // required
}

func NewAddRowAccessPolicyRequest added in v0.78.0

func NewAddRowAccessPolicyRequest(
	policyName string,
	columnName []string,
) *AddRowAccessPolicyRequest

type AddSearchOptimization added in v0.78.0

type AddSearchOptimization struct {

	// Optional
	On []string `ddl:"keyword" sql:"ON"`
	// contains filtered or unexported fields
}

type AddVersion added in v0.84.0

type AddVersion struct {
	VersionIdentifier *string `ddl:"keyword,no_quotes"`
	Using             string  `ddl:"parameter,single_quotes,no_equals" sql:"USING"`
	Label             *string `ddl:"parameter,single_quotes" sql:"LABEL"`
}

type AddVersionRequest added in v0.84.0

type AddVersionRequest struct {
	VersionIdentifier *string
	Using             string // required
	Label             *string
}

func NewAddVersionRequest added in v0.84.0

func NewAddVersionRequest(
	Using string,
) *AddVersionRequest

func (*AddVersionRequest) WithLabel added in v0.84.0

func (s *AddVersionRequest) WithLabel(Label *string) *AddVersionRequest

func (*AddVersionRequest) WithVersionIdentifier added in v0.84.0

func (s *AddVersionRequest) WithVersionIdentifier(VersionIdentifier *string) *AddVersionRequest

type Alert added in v0.68.0

type Alert struct {
	CreatedOn     time.Time
	Name          string
	DatabaseName  string
	SchemaName    string
	Owner         string
	Comment       *string
	Warehouse     string
	Schedule      string
	State         AlertState
	Condition     string
	Action        string
	OwnerRoleType string
}

func (*Alert) ID added in v0.68.0

func (v *Alert) ID() SchemaObjectIdentifier

func (*Alert) ObjectType added in v0.68.0

func (v *Alert) ObjectType() ObjectType

type AlertAction added in v0.68.0

type AlertAction string
var (
	// AlertActionResume makes a suspended alert active.
	AlertActionResume AlertAction = "RESUME"
	// AlertActionSuspend puts the alert into a “Suspended” state.
	AlertActionSuspend AlertAction = "SUSPEND"
)

type AlertCondition added in v0.68.0

type AlertCondition struct {
	Condition []string `ddl:"keyword,parentheses,no_comma" sql:"EXISTS"`
}

type AlertDetails added in v0.68.0

type AlertDetails struct {
	CreatedOn    time.Time
	Name         string
	DatabaseName string
	SchemaName   string
	Owner        string
	Comment      *string
	Warehouse    string
	Schedule     string
	State        string
	Condition    string
	Action       string
}

type AlertSet added in v0.68.0

type AlertSet struct {
	Warehouse *AccountObjectIdentifier `ddl:"identifier,equals" sql:"WAREHOUSE"`
	Schedule  *string                  `ddl:"parameter,single_quotes" sql:"SCHEDULE"`
	Comment   *string                  `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type AlertState added in v0.68.0

type AlertState string
var (
	AlertStateStarted   AlertState = "started"
	AlertStateSuspended AlertState = "suspended"
)

type AlertUnset added in v0.68.0

type AlertUnset struct {
	Warehouse *bool `ddl:"keyword" sql:"WAREHOUSE"`
	Schedule  *bool `ddl:"keyword" sql:"SCHEDULE"`
	Comment   *bool `ddl:"keyword" sql:"COMMENT"`
}

type Alerts added in v0.68.0

type AllowedIPList added in v0.90.0

type AllowedIPList struct {
	AllowedIPList []IP `ddl:"list,must_parentheses"`
}

type AllowedIPListRequest added in v0.90.0

type AllowedIPListRequest struct {
	AllowedIPList []IPRequest
}

func NewAllowedIPListRequest added in v0.90.0

func NewAllowedIPListRequest() *AllowedIPListRequest

func (*AllowedIPListRequest) WithAllowedIPList added in v0.90.0

func (s *AllowedIPListRequest) WithAllowedIPList(AllowedIPList []IPRequest) *AllowedIPListRequest

type AllowedNetworkRuleList added in v0.90.0

type AllowedNetworkRuleList struct {
	AllowedNetworkRuleList []SchemaObjectIdentifier `ddl:"list,must_parentheses"`
}

type AllowedNetworkRuleListRequest added in v0.90.0

type AllowedNetworkRuleListRequest struct {
	AllowedNetworkRuleList []SchemaObjectIdentifier
}

func NewAllowedNetworkRuleListRequest added in v0.90.0

func NewAllowedNetworkRuleListRequest() *AllowedNetworkRuleListRequest

func (*AllowedNetworkRuleListRequest) WithAllowedNetworkRuleList added in v0.90.0

func (s *AllowedNetworkRuleListRequest) WithAllowedNetworkRuleList(AllowedNetworkRuleList []SchemaObjectIdentifier) *AllowedNetworkRuleListRequest

type AllowedRolesList added in v0.92.0

type AllowedRolesList struct {
	AllowedRolesList []AccountObjectIdentifier `ddl:"list,must_parentheses"`
}

type AllowedRolesListRequest added in v0.92.0

type AllowedRolesListRequest struct {
	AllowedRolesList []AccountObjectIdentifier // required
}

func NewAllowedRolesListRequest added in v0.92.0

func NewAllowedRolesListRequest(
	AllowedRolesList []AccountObjectIdentifier,
) *AllowedRolesListRequest

type AllowedScope added in v0.92.0

type AllowedScope struct {
	Scope string `ddl:"keyword,single_quotes"`
}

type AllowedValue added in v0.74.0

type AllowedValue struct {
	Value string `ddl:"keyword,single_quotes"`
}

type AllowedValues added in v0.74.0

type AllowedValues struct {
	Values []AllowedValue `ddl:"list,comma"`
}

type AlterAccountOptions added in v0.66.0

type AlterAccountOptions struct {
	Set      *AccountSet        `ddl:"keyword" sql:"SET"`
	Unset    *AccountUnset      `ddl:"list,no_parentheses" sql:"UNSET"`
	SetTag   []TagAssociation   `ddl:"keyword" sql:"SET TAG"`
	UnsetTag []ObjectIdentifier `ddl:"keyword" sql:"UNSET TAG"`
	Rename   *AccountRename     `ddl:"-"`
	Drop     *AccountDrop       `ddl:"-"`
	// contains filtered or unexported fields
}

AlterAccountOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-account.

type AlterAlertOptions added in v0.68.0

type AlterAlertOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	// One of
	Action          *AlertAction `ddl:"keyword"`
	Set             *AlertSet    `ddl:"keyword" sql:"SET"`
	Unset           *AlertUnset  `ddl:"keyword" sql:"UNSET"`
	ModifyCondition *[]string    `ddl:"keyword,parentheses,no_comma" sql:"MODIFY CONDITION EXISTS"`
	ModifyAction    *string      `ddl:"parameter,no_equals" sql:"MODIFY ACTION"`
	// contains filtered or unexported fields
}

AlterAlertOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-alert.

type AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationOptions added in v0.92.0

type AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetTags   []TagAssociation                                                 `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier                                               `ddl:"keyword" sql:"UNSET TAG"`
	Set       *ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSet   `ddl:"list,no_parentheses" sql:"SET"`
	Unset     *ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-api-auth.

type AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest added in v0.92.0

type AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest struct {
	IfExists *bool

	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	Set       *ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest
	Unset     *ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest added in v0.92.0

func NewAlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest

func (*AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithIfExists added in v0.92.0

func (*AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithSetTags added in v0.92.0

func (*AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithUnsetTags added in v0.92.0

type AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationOptions added in v0.92.0

type AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetTags   []TagAssociation                                            `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier                                          `ddl:"keyword" sql:"UNSET TAG"`
	Set       *ApiAuthenticationWithClientCredentialsFlowIntegrationSet   `ddl:"list,no_parentheses" sql:"SET"`
	Unset     *ApiAuthenticationWithClientCredentialsFlowIntegrationUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-api-auth.

type AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest added in v0.92.0

type AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest struct {
	IfExists *bool

	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	Set       *ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest
	Unset     *ApiAuthenticationWithClientCredentialsFlowIntegrationUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest added in v0.92.0

func NewAlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest

func (*AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithIfExists added in v0.92.0

func (*AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithSetTags added in v0.92.0

func (*AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithUnsetTags added in v0.92.0

type AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationOptions added in v0.92.0

type AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetTags   []TagAssociation                                    `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier                                  `ddl:"keyword" sql:"UNSET TAG"`
	Set       *ApiAuthenticationWithJwtBearerFlowIntegrationSet   `ddl:"list,no_parentheses" sql:"SET"`
	Unset     *ApiAuthenticationWithJwtBearerFlowIntegrationUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-api-auth.

type AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest added in v0.92.0

type AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest struct {
	IfExists *bool

	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	Set       *ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest
	Unset     *ApiAuthenticationWithJwtBearerFlowIntegrationUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest added in v0.92.0

func NewAlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest

func (*AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithIfExists added in v0.92.0

func (*AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithSetTags added in v0.92.0

func (*AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithUnsetTags added in v0.92.0

type AlterApiIntegrationOptions added in v0.85.0

type AlterApiIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set       *ApiIntegrationSet   `ddl:"keyword" sql:"SET"`
	Unset     *ApiIntegrationUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	SetTags   []TagAssociation     `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier   `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterApiIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-api-integration.

type AlterApiIntegrationRequest added in v0.85.0

type AlterApiIntegrationRequest struct {
	IfExists *bool

	Set       *ApiIntegrationSetRequest
	Unset     *ApiIntegrationUnsetRequest
	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterApiIntegrationRequest added in v0.85.0

func NewAlterApiIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterApiIntegrationRequest

func (*AlterApiIntegrationRequest) WithIfExists added in v0.85.0

func (s *AlterApiIntegrationRequest) WithIfExists(IfExists *bool) *AlterApiIntegrationRequest

func (*AlterApiIntegrationRequest) WithSet added in v0.85.0

func (*AlterApiIntegrationRequest) WithSetTags added in v0.85.0

func (*AlterApiIntegrationRequest) WithUnset added in v0.85.0

func (*AlterApiIntegrationRequest) WithUnsetTags added in v0.85.0

type AlterApplicationOptions added in v0.85.0

type AlterApplicationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set             *ApplicationSet        `ddl:"keyword" sql:"SET"`
	Unset           *ApplicationUnset      `ddl:"list,no_parentheses" sql:"UNSET"`
	Upgrade         *bool                  `ddl:"keyword" sql:"UPGRADE"`
	UpgradeVersion  *ApplicationVersion    `ddl:"keyword" sql:"UPGRADE USING"`
	UnsetReferences *ApplicationReferences `ddl:"keyword" sql:"UNSET REFERENCES"`
	SetTags         []TagAssociation       `ddl:"keyword" sql:"SET TAG"`
	UnsetTags       []ObjectIdentifier     `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterApplicationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-application.

type AlterApplicationPackageOptions added in v0.84.0

type AlterApplicationPackageOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set                        *ApplicationPackageSet      `ddl:"keyword" sql:"SET"`
	Unset                      *ApplicationPackageUnset    `ddl:"list,no_parentheses" sql:"UNSET"`
	ModifyReleaseDirective     *ModifyReleaseDirective     `ddl:"keyword" sql:"MODIFY RELEASE DIRECTIVE"`
	SetDefaultReleaseDirective *SetDefaultReleaseDirective `ddl:"keyword" sql:"SET DEFAULT RELEASE DIRECTIVE"`
	SetReleaseDirective        *SetReleaseDirective        `ddl:"keyword" sql:"SET RELEASE DIRECTIVE"`
	UnsetReleaseDirective      *UnsetReleaseDirective      `ddl:"keyword" sql:"UNSET RELEASE DIRECTIVE"`
	AddVersion                 *AddVersion                 `ddl:"keyword" sql:"ADD VERSION"`
	DropVersion                *DropVersion                `ddl:"keyword" sql:"DROP VERSION"`
	AddPatchForVersion         *AddPatchForVersion         `ddl:"keyword" sql:"ADD PATCH FOR VERSION"`
	SetTags                    []TagAssociation            `ddl:"keyword" sql:"SET TAG"`
	UnsetTags                  []ObjectIdentifier          `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterApplicationPackageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-application-package.

type AlterApplicationPackageRequest added in v0.84.0

type AlterApplicationPackageRequest struct {
	IfExists *bool

	Set                        *ApplicationPackageSetRequest
	Unset                      *ApplicationPackageUnsetRequest
	ModifyReleaseDirective     *ModifyReleaseDirectiveRequest
	SetDefaultReleaseDirective *SetDefaultReleaseDirectiveRequest
	SetReleaseDirective        *SetReleaseDirectiveRequest
	UnsetReleaseDirective      *UnsetReleaseDirectiveRequest
	AddVersion                 *AddVersionRequest
	DropVersion                *DropVersionRequest
	AddPatchForVersion         *AddPatchForVersionRequest
	SetTags                    []TagAssociation
	UnsetTags                  []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterApplicationPackageRequest added in v0.84.0

func NewAlterApplicationPackageRequest(
	name AccountObjectIdentifier,
) *AlterApplicationPackageRequest

func (*AlterApplicationPackageRequest) WithAddPatchForVersion added in v0.84.0

func (s *AlterApplicationPackageRequest) WithAddPatchForVersion(AddPatchForVersion *AddPatchForVersionRequest) *AlterApplicationPackageRequest

func (*AlterApplicationPackageRequest) WithAddVersion added in v0.84.0

func (*AlterApplicationPackageRequest) WithDropVersion added in v0.84.0

func (*AlterApplicationPackageRequest) WithIfExists added in v0.84.0

func (*AlterApplicationPackageRequest) WithModifyReleaseDirective added in v0.84.0

func (s *AlterApplicationPackageRequest) WithModifyReleaseDirective(ModifyReleaseDirective *ModifyReleaseDirectiveRequest) *AlterApplicationPackageRequest

func (*AlterApplicationPackageRequest) WithSet added in v0.84.0

func (*AlterApplicationPackageRequest) WithSetDefaultReleaseDirective added in v0.84.0

func (s *AlterApplicationPackageRequest) WithSetDefaultReleaseDirective(SetDefaultReleaseDirective *SetDefaultReleaseDirectiveRequest) *AlterApplicationPackageRequest

func (*AlterApplicationPackageRequest) WithSetReleaseDirective added in v0.84.0

func (s *AlterApplicationPackageRequest) WithSetReleaseDirective(SetReleaseDirective *SetReleaseDirectiveRequest) *AlterApplicationPackageRequest

func (*AlterApplicationPackageRequest) WithSetTags added in v0.84.0

func (*AlterApplicationPackageRequest) WithUnset added in v0.84.0

func (*AlterApplicationPackageRequest) WithUnsetReleaseDirective added in v0.84.0

func (s *AlterApplicationPackageRequest) WithUnsetReleaseDirective(UnsetReleaseDirective *UnsetReleaseDirectiveRequest) *AlterApplicationPackageRequest

func (*AlterApplicationPackageRequest) WithUnsetTags added in v0.84.0

type AlterApplicationRequest added in v0.85.0

type AlterApplicationRequest struct {
	IfExists *bool

	Set             *ApplicationSetRequest
	Unset           *ApplicationUnsetRequest
	Upgrade         *bool
	UpgradeVersion  *ApplicationVersionRequest
	UnsetReferences *ApplicationReferencesRequest
	SetTags         []TagAssociation
	UnsetTags       []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterApplicationRequest added in v0.85.0

func NewAlterApplicationRequest(
	name AccountObjectIdentifier,
) *AlterApplicationRequest

func (*AlterApplicationRequest) WithIfExists added in v0.85.0

func (s *AlterApplicationRequest) WithIfExists(IfExists *bool) *AlterApplicationRequest

func (*AlterApplicationRequest) WithSet added in v0.85.0

func (*AlterApplicationRequest) WithSetTags added in v0.85.0

func (*AlterApplicationRequest) WithUnset added in v0.85.0

func (*AlterApplicationRequest) WithUnsetReferences added in v0.85.0

func (s *AlterApplicationRequest) WithUnsetReferences(UnsetReferences *ApplicationReferencesRequest) *AlterApplicationRequest

func (*AlterApplicationRequest) WithUnsetTags added in v0.85.0

func (s *AlterApplicationRequest) WithUnsetTags(UnsetTags []ObjectIdentifier) *AlterApplicationRequest

func (*AlterApplicationRequest) WithUpgrade added in v0.85.0

func (s *AlterApplicationRequest) WithUpgrade(Upgrade *bool) *AlterApplicationRequest

func (*AlterApplicationRequest) WithUpgradeVersion added in v0.85.0

func (s *AlterApplicationRequest) WithUpgradeVersion(UpgradeVersion *ApplicationVersionRequest) *AlterApplicationRequest

type AlterAuthenticationPolicyOptions added in v0.96.0

type AlterAuthenticationPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set      *AuthenticationPolicySet   `ddl:"keyword" sql:"SET"`
	Unset    *AuthenticationPolicyUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	RenameTo *SchemaObjectIdentifier    `ddl:"identifier" sql:"RENAME TO"`
	// contains filtered or unexported fields
}

AlterAuthenticationPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-authentication-policy.

type AlterAuthenticationPolicyRequest added in v0.96.0

type AlterAuthenticationPolicyRequest struct {
	IfExists *bool

	Set      *AuthenticationPolicySetRequest
	Unset    *AuthenticationPolicyUnsetRequest
	RenameTo *SchemaObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterAuthenticationPolicyRequest added in v0.96.0

func NewAlterAuthenticationPolicyRequest(
	name SchemaObjectIdentifier,
) *AlterAuthenticationPolicyRequest

func (*AlterAuthenticationPolicyRequest) WithIfExists added in v0.96.0

func (*AlterAuthenticationPolicyRequest) WithRenameTo added in v0.96.0

func (*AlterAuthenticationPolicyRequest) WithSet added in v0.96.0

func (*AlterAuthenticationPolicyRequest) WithUnset added in v0.96.0

type AlterCortexSearchServiceOptions added in v0.93.0

type AlterCortexSearchServiceOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set *CortexSearchServiceSet `ddl:"keyword" sql:"SET"`
	// contains filtered or unexported fields
}

AlterCortexSearchServiceOptions is based on https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/alter-cortex-search.

type AlterCortexSearchServiceRequest added in v0.93.0

type AlterCortexSearchServiceRequest struct {
	IfExists *bool

	Set *CortexSearchServiceSetRequest
	// contains filtered or unexported fields
}

func NewAlterCortexSearchServiceRequest added in v0.93.0

func NewAlterCortexSearchServiceRequest(
	name SchemaObjectIdentifier,
) *AlterCortexSearchServiceRequest

func (*AlterCortexSearchServiceRequest) WithIfExists added in v0.93.0

func (*AlterCortexSearchServiceRequest) WithSet added in v0.93.0

type AlterDatabaseFailoverOptions added in v0.66.0

type AlterDatabaseFailoverOptions struct {
	EnableFailover  *EnableFailover  `ddl:"keyword" sql:"ENABLE FAILOVER"`
	DisableFailover *DisableFailover `ddl:"keyword" sql:"DISABLE FAILOVER"`
	Primary         *bool            `ddl:"keyword" sql:"PRIMARY"`
	// contains filtered or unexported fields
}

AlterDatabaseFailoverOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-database.

type AlterDatabaseOptions added in v0.66.0

type AlterDatabaseOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	NewName  *AccountObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	SwapWith *AccountObjectIdentifier `ddl:"identifier" sql:"SWAP WITH"`
	Set      *DatabaseSet             `ddl:"list,no_parentheses" sql:"SET"`
	Unset    *DatabaseUnset           `ddl:"list,no_parentheses" sql:"UNSET"`
	SetTag   []TagAssociation         `ddl:"keyword" sql:"SET TAG"`
	UnsetTag []ObjectIdentifier       `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterDatabaseOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-database.

type AlterDatabaseReplicationOptions added in v0.66.0

type AlterDatabaseReplicationOptions struct {
	EnableReplication  *EnableReplication  `ddl:"keyword" sql:"ENABLE REPLICATION"`
	DisableReplication *DisableReplication `ddl:"keyword" sql:"DISABLE REPLICATION"`
	Refresh            *bool               `ddl:"keyword" sql:"REFRESH"`
	// contains filtered or unexported fields
}

AlterDatabaseReplicationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-database.

type AlterDatabaseRoleRequest added in v0.70.0

type AlterDatabaseRoleRequest struct {
	// contains filtered or unexported fields
}

func NewAlterDatabaseRoleRequest added in v0.70.0

func NewAlterDatabaseRoleRequest(
	name DatabaseObjectIdentifier,
) *AlterDatabaseRoleRequest

func (*AlterDatabaseRoleRequest) WithIfExists added in v0.70.0

func (s *AlterDatabaseRoleRequest) WithIfExists(ifExists bool) *AlterDatabaseRoleRequest

func (*AlterDatabaseRoleRequest) WithRename added in v0.70.0

func (*AlterDatabaseRoleRequest) WithSet added in v0.95.0

func (*AlterDatabaseRoleRequest) WithSetTags added in v0.95.0

func (*AlterDatabaseRoleRequest) WithUnset added in v0.95.0

func (*AlterDatabaseRoleRequest) WithUnsetTags added in v0.95.0

type AlterDirectoryTableStageOptions added in v0.76.0

type AlterDirectoryTableStageOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetDirectory *DirectoryTableSet     `ddl:"list,parentheses,no_comma" sql:"SET DIRECTORY ="`
	Refresh      *DirectoryTableRefresh `ddl:"keyword" sql:"REFRESH"`
	// contains filtered or unexported fields
}

AlterDirectoryTableStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-stage.

type AlterDirectoryTableStageRequest added in v0.76.0

type AlterDirectoryTableStageRequest struct {
	IfExists *bool

	SetDirectory *DirectoryTableSetRequest
	Refresh      *DirectoryTableRefreshRequest
	// contains filtered or unexported fields
}

func NewAlterDirectoryTableStageRequest added in v0.76.0

func NewAlterDirectoryTableStageRequest(
	name SchemaObjectIdentifier,
) *AlterDirectoryTableStageRequest

func (*AlterDirectoryTableStageRequest) WithIfExists added in v0.76.0

func (*AlterDirectoryTableStageRequest) WithRefresh added in v0.76.0

func (*AlterDirectoryTableStageRequest) WithSetDirectory added in v0.76.0

type AlterDynamicTableRequest added in v0.72.0

type AlterDynamicTableRequest struct {
	// contains filtered or unexported fields
}

func NewAlterDynamicTableRequest added in v0.72.0

func NewAlterDynamicTableRequest(
	name SchemaObjectIdentifier,
) *AlterDynamicTableRequest

func (*AlterDynamicTableRequest) WithRefresh added in v0.72.0

func (s *AlterDynamicTableRequest) WithRefresh(refresh *bool) *AlterDynamicTableRequest

func (*AlterDynamicTableRequest) WithResume added in v0.72.0

func (s *AlterDynamicTableRequest) WithResume(resume *bool) *AlterDynamicTableRequest

func (*AlterDynamicTableRequest) WithSet added in v0.72.0

func (*AlterDynamicTableRequest) WithSuspend added in v0.72.0

func (s *AlterDynamicTableRequest) WithSuspend(suspend *bool) *AlterDynamicTableRequest

type AlterEventTableOptions added in v0.78.0

type AlterEventTableOptions struct {
	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Set                       *EventTableSet                       `ddl:"keyword" sql:"SET"`
	Unset                     *EventTableUnset                     `ddl:"keyword" sql:"UNSET"`
	AddRowAccessPolicy        *EventTableAddRowAccessPolicy        `ddl:"keyword"`
	DropRowAccessPolicy       *EventTableDropRowAccessPolicy       `ddl:"keyword"`
	DropAndAddRowAccessPolicy *EventTableDropAndAddRowAccessPolicy `ddl:"list,no_parentheses"`
	DropAllRowAccessPolicies  *bool                                `ddl:"keyword" sql:"DROP ALL ROW ACCESS POLICIES"`
	ClusteringAction          *EventTableClusteringAction          `ddl:"keyword"`
	SearchOptimizationAction  *EventTableSearchOptimizationAction  `ddl:"keyword"`
	SetTags                   []TagAssociation                     `ddl:"keyword" sql:"SET TAG"`
	UnsetTags                 []ObjectIdentifier                   `ddl:"keyword" sql:"UNSET TAG"`
	RenameTo                  *SchemaObjectIdentifier              `ddl:"identifier" sql:"RENAME TO"`
	// contains filtered or unexported fields
}

AlterEventTableOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-table-event-table.

type AlterEventTableRequest added in v0.78.0

type AlterEventTableRequest struct {
	IfNotExists *bool

	Set                       *EventTableSetRequest
	Unset                     *EventTableUnsetRequest
	AddRowAccessPolicy        *EventTableAddRowAccessPolicyRequest
	DropRowAccessPolicy       *EventTableDropRowAccessPolicyRequest
	DropAndAddRowAccessPolicy *EventTableDropAndAddRowAccessPolicyRequest
	DropAllRowAccessPolicies  *bool
	ClusteringAction          *EventTableClusteringActionRequest
	SearchOptimizationAction  *EventTableSearchOptimizationActionRequest
	SetTags                   []TagAssociation
	UnsetTags                 []ObjectIdentifier
	RenameTo                  *SchemaObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterEventTableRequest added in v0.78.0

func NewAlterEventTableRequest(
	name SchemaObjectIdentifier,
) *AlterEventTableRequest

func (*AlterEventTableRequest) WithAddRowAccessPolicy added in v0.78.0

func (s *AlterEventTableRequest) WithAddRowAccessPolicy(AddRowAccessPolicy *EventTableAddRowAccessPolicyRequest) *AlterEventTableRequest

func (*AlterEventTableRequest) WithClusteringAction added in v0.78.0

func (s *AlterEventTableRequest) WithClusteringAction(ClusteringAction *EventTableClusteringActionRequest) *AlterEventTableRequest

func (*AlterEventTableRequest) WithDropAllRowAccessPolicies added in v0.78.0

func (s *AlterEventTableRequest) WithDropAllRowAccessPolicies(DropAllRowAccessPolicies *bool) *AlterEventTableRequest

func (*AlterEventTableRequest) WithDropAndAddRowAccessPolicy added in v0.78.0

func (s *AlterEventTableRequest) WithDropAndAddRowAccessPolicy(DropAndAddRowAccessPolicy *EventTableDropAndAddRowAccessPolicyRequest) *AlterEventTableRequest

func (*AlterEventTableRequest) WithDropRowAccessPolicy added in v0.78.0

func (s *AlterEventTableRequest) WithDropRowAccessPolicy(DropRowAccessPolicy *EventTableDropRowAccessPolicyRequest) *AlterEventTableRequest

func (*AlterEventTableRequest) WithIfNotExists added in v0.78.0

func (s *AlterEventTableRequest) WithIfNotExists(IfNotExists *bool) *AlterEventTableRequest

func (*AlterEventTableRequest) WithRenameTo added in v0.78.0

func (*AlterEventTableRequest) WithSearchOptimizationAction added in v0.78.0

func (s *AlterEventTableRequest) WithSearchOptimizationAction(SearchOptimizationAction *EventTableSearchOptimizationActionRequest) *AlterEventTableRequest

func (*AlterEventTableRequest) WithSet added in v0.78.0

func (*AlterEventTableRequest) WithSetTags added in v0.78.0

func (*AlterEventTableRequest) WithUnset added in v0.78.0

func (*AlterEventTableRequest) WithUnsetTags added in v0.78.0

func (s *AlterEventTableRequest) WithUnsetTags(UnsetTags []ObjectIdentifier) *AlterEventTableRequest

type AlterExternalAzureStageStageOptions added in v0.76.0

type AlterExternalAzureStageStageOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	ExternalStageParams *ExternalAzureStageParams
	FileFormat          *StageFileFormat  `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyOptions         *StageCopyOptions `ddl:"list,parentheses,no_comma" sql:"COPY_OPTIONS ="`
	Comment             *string           `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

AlterExternalAzureStageStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-stage.

type AlterExternalAzureStageStageRequest added in v0.76.0

type AlterExternalAzureStageStageRequest struct {
	IfExists *bool

	ExternalStageParams *ExternalAzureStageParamsRequest
	FileFormat          *StageFileFormatRequest
	CopyOptions         *StageCopyOptionsRequest
	Comment             *string
	// contains filtered or unexported fields
}

func NewAlterExternalAzureStageStageRequest added in v0.76.0

func NewAlterExternalAzureStageStageRequest(
	name SchemaObjectIdentifier,
) *AlterExternalAzureStageStageRequest

func (*AlterExternalAzureStageStageRequest) WithComment added in v0.76.0

func (*AlterExternalAzureStageStageRequest) WithCopyOptions added in v0.76.0

func (*AlterExternalAzureStageStageRequest) WithExternalStageParams added in v0.76.0

func (*AlterExternalAzureStageStageRequest) WithFileFormat added in v0.76.0

func (*AlterExternalAzureStageStageRequest) WithIfExists added in v0.76.0

type AlterExternalFunctionOptions added in v0.85.0

type AlterExternalFunctionOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set   *ExternalFunctionSet   `ddl:"keyword" sql:"SET"`
	Unset *ExternalFunctionUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterExternalFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-function.

type AlterExternalFunctionRequest added in v0.85.0

type AlterExternalFunctionRequest struct {
	IfExists *bool

	Set   *ExternalFunctionSetRequest
	Unset *ExternalFunctionUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterExternalFunctionRequest added in v0.85.0

func NewAlterExternalFunctionRequest(
	name SchemaObjectIdentifierWithArguments,
) *AlterExternalFunctionRequest

func (*AlterExternalFunctionRequest) WithIfExists added in v0.85.0

func (*AlterExternalFunctionRequest) WithSet added in v0.85.0

func (*AlterExternalFunctionRequest) WithUnset added in v0.85.0

type AlterExternalGCSStageStageOptions added in v0.76.0

type AlterExternalGCSStageStageOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	ExternalStageParams *ExternalGCSStageParams
	FileFormat          *StageFileFormat  `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyOptions         *StageCopyOptions `ddl:"list,parentheses,no_comma" sql:"COPY_OPTIONS ="`
	Comment             *string           `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

AlterExternalGCSStageStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-stage.

type AlterExternalGCSStageStageRequest added in v0.76.0

type AlterExternalGCSStageStageRequest struct {
	IfExists *bool

	ExternalStageParams *ExternalGCSStageParamsRequest
	FileFormat          *StageFileFormatRequest
	CopyOptions         *StageCopyOptionsRequest
	Comment             *string
	// contains filtered or unexported fields
}

func NewAlterExternalGCSStageStageRequest added in v0.76.0

func NewAlterExternalGCSStageStageRequest(
	name SchemaObjectIdentifier,
) *AlterExternalGCSStageStageRequest

func (*AlterExternalGCSStageStageRequest) WithComment added in v0.76.0

func (*AlterExternalGCSStageStageRequest) WithCopyOptions added in v0.76.0

func (*AlterExternalGCSStageStageRequest) WithExternalStageParams added in v0.76.0

func (*AlterExternalGCSStageStageRequest) WithFileFormat added in v0.76.0

func (*AlterExternalGCSStageStageRequest) WithIfExists added in v0.76.0

type AlterExternalOauthSecurityIntegrationOptions added in v0.92.0

type AlterExternalOauthSecurityIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetTags   []TagAssociation               `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier             `ddl:"keyword" sql:"UNSET TAG"`
	Set       *ExternalOauthIntegrationSet   `ddl:"list,no_parentheses" sql:"SET"`
	Unset     *ExternalOauthIntegrationUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterExternalOauthSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-oauth-external.

type AlterExternalOauthSecurityIntegrationRequest added in v0.92.0

type AlterExternalOauthSecurityIntegrationRequest struct {
	IfExists *bool

	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	Set       *ExternalOauthIntegrationSetRequest
	Unset     *ExternalOauthIntegrationUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterExternalOauthSecurityIntegrationRequest added in v0.92.0

func NewAlterExternalOauthSecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterExternalOauthSecurityIntegrationRequest

func (*AlterExternalOauthSecurityIntegrationRequest) WithIfExists added in v0.92.0

func (*AlterExternalOauthSecurityIntegrationRequest) WithSet added in v0.92.0

func (*AlterExternalOauthSecurityIntegrationRequest) WithSetTags added in v0.92.0

func (*AlterExternalOauthSecurityIntegrationRequest) WithUnset added in v0.92.0

func (*AlterExternalOauthSecurityIntegrationRequest) WithUnsetTags added in v0.92.0

type AlterExternalS3StageStageOptions added in v0.76.0

type AlterExternalS3StageStageOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	ExternalStageParams *ExternalS3StageParams
	FileFormat          *StageFileFormat  `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyOptions         *StageCopyOptions `ddl:"list,parentheses,no_comma" sql:"COPY_OPTIONS ="`
	Comment             *string           `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

AlterExternalS3StageStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-stage.

type AlterExternalS3StageStageRequest added in v0.76.0

type AlterExternalS3StageStageRequest struct {
	IfExists *bool

	ExternalStageParams *ExternalS3StageParamsRequest
	FileFormat          *StageFileFormatRequest
	CopyOptions         *StageCopyOptionsRequest
	Comment             *string
	// contains filtered or unexported fields
}

func NewAlterExternalS3StageStageRequest added in v0.76.0

func NewAlterExternalS3StageStageRequest(
	name SchemaObjectIdentifier,
) *AlterExternalS3StageStageRequest

func (*AlterExternalS3StageStageRequest) WithComment added in v0.76.0

func (*AlterExternalS3StageStageRequest) WithCopyOptions added in v0.76.0

func (*AlterExternalS3StageStageRequest) WithExternalStageParams added in v0.76.0

func (*AlterExternalS3StageStageRequest) WithFileFormat added in v0.76.0

func (*AlterExternalS3StageStageRequest) WithIfExists added in v0.76.0

type AlterExternalTableOptions added in v0.72.0

type AlterExternalTableOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	// One of
	Refresh     *RefreshExternalTable `ddl:"keyword" sql:"REFRESH"`
	AddFiles    []ExternalTableFile   `ddl:"keyword,no_quotes,parentheses" sql:"ADD FILES"`
	RemoveFiles []ExternalTableFile   `ddl:"keyword,no_quotes,parentheses" sql:"REMOVE FILES"`
	AutoRefresh *bool                 `ddl:"parameter" sql:"SET AUTO_REFRESH"`
	SetTag      []TagAssociation      `ddl:"keyword" sql:"SET TAG"`
	UnsetTag    []ObjectIdentifier    `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterExternalTableOptions based on https://docs.snowflake.com/en/sql-reference/sql/alter-external-table

type AlterExternalTablePartitionOptions added in v0.72.0

type AlterExternalTablePartitionOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	AddPartitions []Partition `ddl:"keyword,parentheses" sql:"ADD PARTITION"`
	DropPartition *bool       `ddl:"keyword" sql:"DROP PARTITION"`
	Location      string      `ddl:"parameter,no_equals,single_quotes" sql:"LOCATION"`
	// contains filtered or unexported fields
}

AlterExternalTablePartitionOptions based on https://docs.snowflake.com/en/sql-reference/sql/alter-external-table

type AlterExternalTablePartitionRequest added in v0.72.0

type AlterExternalTablePartitionRequest struct {
	// contains filtered or unexported fields
}

func NewAlterExternalTablePartitionRequest added in v0.72.0

func NewAlterExternalTablePartitionRequest(
	name SchemaObjectIdentifier,
) *AlterExternalTablePartitionRequest

func (*AlterExternalTablePartitionRequest) WithAddPartitions added in v0.72.0

func (*AlterExternalTablePartitionRequest) WithDropPartition added in v0.72.0

func (s *AlterExternalTablePartitionRequest) WithDropPartition(dropPartition bool) *AlterExternalTablePartitionRequest

func (*AlterExternalTablePartitionRequest) WithIfExists added in v0.72.0

func (*AlterExternalTablePartitionRequest) WithLocation added in v0.72.0

type AlterExternalTableRequest added in v0.72.0

type AlterExternalTableRequest struct {
	// contains filtered or unexported fields
}

func NewAlterExternalTableRequest added in v0.72.0

func NewAlterExternalTableRequest(
	name SchemaObjectIdentifier,
) *AlterExternalTableRequest

func (*AlterExternalTableRequest) WithAddFiles added in v0.72.0

func (*AlterExternalTableRequest) WithAutoRefresh added in v0.72.0

func (s *AlterExternalTableRequest) WithAutoRefresh(autoRefresh bool) *AlterExternalTableRequest

func (*AlterExternalTableRequest) WithIfExists added in v0.72.0

func (s *AlterExternalTableRequest) WithIfExists(ifExists bool) *AlterExternalTableRequest

func (*AlterExternalTableRequest) WithRefresh added in v0.72.0

func (*AlterExternalTableRequest) WithRemoveFiles added in v0.72.0

func (*AlterExternalTableRequest) WithSetTag added in v0.72.0

func (*AlterExternalTableRequest) WithUnsetTag added in v0.72.0

type AlterExternalVolumeOptions added in v0.96.0

type AlterExternalVolumeOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	RemoveStorageLocation *string                        `ddl:"parameter,single_quotes,no_equals" sql:"REMOVE STORAGE_LOCATION"`
	Set                   *AlterExternalVolumeSet        `ddl:"keyword" sql:"SET"`
	AddStorageLocation    *ExternalVolumeStorageLocation `ddl:"parameter" sql:"ADD STORAGE_LOCATION"`
	// contains filtered or unexported fields
}

AlterExternalVolumeOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-external-volume.

type AlterExternalVolumeRequest added in v0.96.0

type AlterExternalVolumeRequest struct {
	IfExists *bool

	RemoveStorageLocation *string
	Set                   *AlterExternalVolumeSetRequest
	AddStorageLocation    *ExternalVolumeStorageLocationRequest
	// contains filtered or unexported fields
}

func NewAlterExternalVolumeRequest added in v0.96.0

func NewAlterExternalVolumeRequest(
	name AccountObjectIdentifier,
) *AlterExternalVolumeRequest

func (*AlterExternalVolumeRequest) WithAddStorageLocation added in v0.96.0

func (*AlterExternalVolumeRequest) WithIfExists added in v0.96.0

func (s *AlterExternalVolumeRequest) WithIfExists(IfExists bool) *AlterExternalVolumeRequest

func (*AlterExternalVolumeRequest) WithRemoveStorageLocation added in v0.96.0

func (s *AlterExternalVolumeRequest) WithRemoveStorageLocation(RemoveStorageLocation string) *AlterExternalVolumeRequest

func (*AlterExternalVolumeRequest) WithSet added in v0.96.0

type AlterExternalVolumeSet added in v0.96.0

type AlterExternalVolumeSet struct {
	AllowWrites *bool   `ddl:"parameter" sql:"ALLOW_WRITES"`
	Comment     *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type AlterExternalVolumeSetRequest added in v0.96.0

type AlterExternalVolumeSetRequest struct {
	AllowWrites *bool
	Comment     *string
}

func NewAlterExternalVolumeSetRequest added in v0.96.0

func NewAlterExternalVolumeSetRequest() *AlterExternalVolumeSetRequest

func (*AlterExternalVolumeSetRequest) WithAllowWrites added in v0.96.0

func (s *AlterExternalVolumeSetRequest) WithAllowWrites(AllowWrites bool) *AlterExternalVolumeSetRequest

func (*AlterExternalVolumeSetRequest) WithComment added in v0.96.0

type AlterFileFormatOptions added in v0.68.0

type AlterFileFormatOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Rename *AlterFileFormatRenameOptions
	Set    *FileFormatTypeOptions `ddl:"list,no_comma" sql:"SET"`
	// contains filtered or unexported fields
}

AlterFileFormatOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-file-format.

type AlterFileFormatRenameOptions added in v0.68.0

type AlterFileFormatRenameOptions struct {
	NewName SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
}

type AlterFunctionOptions added in v0.82.0

type AlterFunctionOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	RenameTo        *SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	SetComment      *string                 `ddl:"parameter,single_quotes" sql:"SET COMMENT"`
	SetLogLevel     *string                 `ddl:"parameter,single_quotes" sql:"SET LOG_LEVEL"`
	SetTraceLevel   *string                 `ddl:"parameter,single_quotes" sql:"SET TRACE_LEVEL"`
	SetSecure       *bool                   `ddl:"keyword" sql:"SET SECURE"`
	UnsetSecure     *bool                   `ddl:"keyword" sql:"UNSET SECURE"`
	UnsetLogLevel   *bool                   `ddl:"keyword" sql:"UNSET LOG_LEVEL"`
	UnsetTraceLevel *bool                   `ddl:"keyword" sql:"UNSET TRACE_LEVEL"`
	UnsetComment    *bool                   `ddl:"keyword" sql:"UNSET COMMENT"`
	SetTags         []TagAssociation        `ddl:"keyword" sql:"SET TAG"`
	UnsetTags       []ObjectIdentifier      `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-function.

type AlterFunctionRequest added in v0.82.0

type AlterFunctionRequest struct {
	IfExists *bool

	RenameTo        *SchemaObjectIdentifier
	SetComment      *string
	SetLogLevel     *string
	SetTraceLevel   *string
	SetSecure       *bool
	UnsetSecure     *bool
	UnsetLogLevel   *bool
	UnsetTraceLevel *bool
	UnsetComment    *bool
	SetTags         []TagAssociation
	UnsetTags       []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterFunctionRequest added in v0.82.0

func NewAlterFunctionRequest(
	name SchemaObjectIdentifierWithArguments,
) *AlterFunctionRequest

func (*AlterFunctionRequest) WithIfExists added in v0.82.0

func (s *AlterFunctionRequest) WithIfExists(IfExists bool) *AlterFunctionRequest

func (*AlterFunctionRequest) WithRenameTo added in v0.82.0

func (*AlterFunctionRequest) WithSetComment added in v0.82.0

func (s *AlterFunctionRequest) WithSetComment(SetComment string) *AlterFunctionRequest

func (*AlterFunctionRequest) WithSetLogLevel added in v0.82.0

func (s *AlterFunctionRequest) WithSetLogLevel(SetLogLevel string) *AlterFunctionRequest

func (*AlterFunctionRequest) WithSetSecure added in v0.82.0

func (s *AlterFunctionRequest) WithSetSecure(SetSecure bool) *AlterFunctionRequest

func (*AlterFunctionRequest) WithSetTags added in v0.82.0

func (s *AlterFunctionRequest) WithSetTags(SetTags []TagAssociation) *AlterFunctionRequest

func (*AlterFunctionRequest) WithSetTraceLevel added in v0.82.0

func (s *AlterFunctionRequest) WithSetTraceLevel(SetTraceLevel string) *AlterFunctionRequest

func (*AlterFunctionRequest) WithUnsetComment added in v0.82.0

func (s *AlterFunctionRequest) WithUnsetComment(UnsetComment bool) *AlterFunctionRequest

func (*AlterFunctionRequest) WithUnsetLogLevel added in v0.82.0

func (s *AlterFunctionRequest) WithUnsetLogLevel(UnsetLogLevel bool) *AlterFunctionRequest

func (*AlterFunctionRequest) WithUnsetSecure added in v0.82.0

func (s *AlterFunctionRequest) WithUnsetSecure(UnsetSecure bool) *AlterFunctionRequest

func (*AlterFunctionRequest) WithUnsetTags added in v0.82.0

func (s *AlterFunctionRequest) WithUnsetTags(UnsetTags []ObjectIdentifier) *AlterFunctionRequest

func (*AlterFunctionRequest) WithUnsetTraceLevel added in v0.82.0

func (s *AlterFunctionRequest) WithUnsetTraceLevel(UnsetTraceLevel bool) *AlterFunctionRequest

type AlterInternalStageStageOptions added in v0.76.0

type AlterInternalStageStageOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	// TODO (SNOW-1019005): Move parameters below to the AlterStageOptions as they're common across stage types (+ remove from other alter option structs)
	FileFormat  *StageFileFormat  `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyOptions *StageCopyOptions `ddl:"list,parentheses,no_comma" sql:"COPY_OPTIONS ="`
	Comment     *string           `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

AlterInternalStageStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-stage.

type AlterInternalStageStageRequest added in v0.76.0

type AlterInternalStageStageRequest struct {
	IfExists *bool

	FileFormat  *StageFileFormatRequest
	CopyOptions *StageCopyOptionsRequest
	Comment     *string
	// contains filtered or unexported fields
}

func NewAlterInternalStageStageRequest added in v0.76.0

func NewAlterInternalStageStageRequest(
	name SchemaObjectIdentifier,
) *AlterInternalStageStageRequest

func (*AlterInternalStageStageRequest) WithComment added in v0.76.0

func (*AlterInternalStageStageRequest) WithCopyOptions added in v0.76.0

func (*AlterInternalStageStageRequest) WithFileFormat added in v0.76.0

func (*AlterInternalStageStageRequest) WithIfExists added in v0.76.0

type AlterMaskingPolicyOptions added in v0.66.0

type AlterMaskingPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	NewName  *SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	Set      *MaskingPolicySet       `ddl:"keyword" sql:"SET"`
	Unset    *MaskingPolicyUnset     `ddl:"keyword" sql:"UNSET"`
	SetTag   []TagAssociation        `ddl:"keyword" sql:"SET TAG"`
	UnsetTag []ObjectIdentifier      `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterMaskingPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-masking-policy.

type AlterMaterializedViewOptions added in v0.85.0

type AlterMaterializedViewOptions struct {
	RenameTo          *SchemaObjectIdentifier    `ddl:"identifier" sql:"RENAME TO"`
	ClusterBy         *MaterializedViewClusterBy `ddl:"keyword"`
	DropClusteringKey *bool                      `ddl:"keyword" sql:"DROP CLUSTERING KEY"`
	SuspendRecluster  *bool                      `ddl:"keyword" sql:"SUSPEND RECLUSTER"`
	ResumeRecluster   *bool                      `ddl:"keyword" sql:"RESUME RECLUSTER"`
	Suspend           *bool                      `ddl:"keyword" sql:"SUSPEND"`
	Resume            *bool                      `ddl:"keyword" sql:"RESUME"`
	Set               *MaterializedViewSet       `ddl:"keyword" sql:"SET"`
	Unset             *MaterializedViewUnset     `ddl:"keyword" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterMaterializedViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-materialized-view.

type AlterMaterializedViewRequest added in v0.85.0

type AlterMaterializedViewRequest struct {
	RenameTo          *SchemaObjectIdentifier
	ClusterBy         *MaterializedViewClusterByRequest
	DropClusteringKey *bool
	SuspendRecluster  *bool
	ResumeRecluster   *bool
	Suspend           *bool
	Resume            *bool
	Set               *MaterializedViewSetRequest
	Unset             *MaterializedViewUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterMaterializedViewRequest added in v0.85.0

func NewAlterMaterializedViewRequest(
	name SchemaObjectIdentifier,
) *AlterMaterializedViewRequest

func (*AlterMaterializedViewRequest) WithClusterBy added in v0.85.0

func (*AlterMaterializedViewRequest) WithDropClusteringKey added in v0.85.0

func (s *AlterMaterializedViewRequest) WithDropClusteringKey(DropClusteringKey *bool) *AlterMaterializedViewRequest

func (*AlterMaterializedViewRequest) WithRenameTo added in v0.85.0

func (*AlterMaterializedViewRequest) WithResume added in v0.85.0

func (*AlterMaterializedViewRequest) WithResumeRecluster added in v0.85.0

func (s *AlterMaterializedViewRequest) WithResumeRecluster(ResumeRecluster *bool) *AlterMaterializedViewRequest

func (*AlterMaterializedViewRequest) WithSet added in v0.85.0

func (*AlterMaterializedViewRequest) WithSuspend added in v0.85.0

func (*AlterMaterializedViewRequest) WithSuspendRecluster added in v0.85.0

func (s *AlterMaterializedViewRequest) WithSuspendRecluster(SuspendRecluster *bool) *AlterMaterializedViewRequest

func (*AlterMaterializedViewRequest) WithUnset added in v0.85.0

type AlterNetworkPolicyOptions added in v0.72.0

type AlterNetworkPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set      *NetworkPolicySet        `ddl:"keyword" sql:"SET"`
	Unset    *NetworkPolicyUnset      `ddl:"list,no_parentheses" sql:"UNSET"`
	Add      *AddNetworkRule          `ddl:"keyword" sql:"ADD"`
	Remove   *RemoveNetworkRule       `ddl:"keyword" sql:"REMOVE"`
	RenameTo *AccountObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	// contains filtered or unexported fields
}

AlterNetworkPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-network-policy.

type AlterNetworkPolicyRequest added in v0.72.0

type AlterNetworkPolicyRequest struct {
	IfExists *bool

	Set      *NetworkPolicySetRequest
	Unset    *NetworkPolicyUnsetRequest
	Add      *AddNetworkRuleRequest
	Remove   *RemoveNetworkRuleRequest
	RenameTo *AccountObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterNetworkPolicyRequest added in v0.72.0

func NewAlterNetworkPolicyRequest(
	name AccountObjectIdentifier,
) *AlterNetworkPolicyRequest

func (*AlterNetworkPolicyRequest) WithAdd added in v0.89.0

func (*AlterNetworkPolicyRequest) WithIfExists added in v0.72.0

func (s *AlterNetworkPolicyRequest) WithIfExists(IfExists bool) *AlterNetworkPolicyRequest

func (*AlterNetworkPolicyRequest) WithRemove added in v0.89.0

func (*AlterNetworkPolicyRequest) WithRenameTo added in v0.72.0

func (*AlterNetworkPolicyRequest) WithSet added in v0.72.0

func (*AlterNetworkPolicyRequest) WithUnset added in v0.90.0

type AlterNetworkRuleOptions added in v0.87.0

type AlterNetworkRuleOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set   *NetworkRuleSet   `ddl:"list" sql:"SET"`
	Unset *NetworkRuleUnset `ddl:"list" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterNetworkRuleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-network-rule.

type AlterNetworkRuleRequest added in v0.87.0

type AlterNetworkRuleRequest struct {
	IfExists *bool

	Set   *NetworkRuleSetRequest
	Unset *NetworkRuleUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterNetworkRuleRequest added in v0.87.0

func NewAlterNetworkRuleRequest(
	name SchemaObjectIdentifier,
) *AlterNetworkRuleRequest

func (*AlterNetworkRuleRequest) WithIfExists added in v0.87.0

func (s *AlterNetworkRuleRequest) WithIfExists(IfExists *bool) *AlterNetworkRuleRequest

func (*AlterNetworkRuleRequest) WithSet added in v0.87.0

func (*AlterNetworkRuleRequest) WithUnset added in v0.87.0

type AlterNotificationIntegrationOptions added in v0.85.0

type AlterNotificationIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set              *NotificationIntegrationSet              `ddl:"keyword" sql:"SET"`
	UnsetEmailParams *NotificationIntegrationUnsetEmailParams `ddl:"list,no_parentheses" sql:"UNSET"`
	SetTags          []TagAssociation                         `ddl:"keyword" sql:"SET TAG"`
	UnsetTags        []ObjectIdentifier                       `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterNotificationIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-notification-integration.

type AlterNotificationIntegrationRequest added in v0.85.0

type AlterNotificationIntegrationRequest struct {
	IfExists *bool

	Set              *NotificationIntegrationSetRequest
	UnsetEmailParams *NotificationIntegrationUnsetEmailParamsRequest
	SetTags          []TagAssociation
	UnsetTags        []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterNotificationIntegrationRequest added in v0.85.0

func NewAlterNotificationIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterNotificationIntegrationRequest

func (*AlterNotificationIntegrationRequest) WithIfExists added in v0.85.0

func (*AlterNotificationIntegrationRequest) WithSet added in v0.85.0

func (*AlterNotificationIntegrationRequest) WithSetTags added in v0.85.0

func (*AlterNotificationIntegrationRequest) WithUnsetEmailParams added in v0.85.0

func (*AlterNotificationIntegrationRequest) WithUnsetTags added in v0.85.0

type AlterOauthForCustomClientsSecurityIntegrationOptions added in v0.92.0

type AlterOauthForCustomClientsSecurityIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetTags   []TagAssociation                       `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier                     `ddl:"keyword" sql:"UNSET TAG"`
	Set       *OauthForCustomClientsIntegrationSet   `ddl:"list,no_parentheses" sql:"SET"`
	Unset     *OauthForCustomClientsIntegrationUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterOauthForCustomClientsSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-oauth-snowflake.

type AlterOauthForCustomClientsSecurityIntegrationRequest added in v0.92.0

type AlterOauthForCustomClientsSecurityIntegrationRequest struct {
	IfExists *bool

	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	Set       *OauthForCustomClientsIntegrationSetRequest
	Unset     *OauthForCustomClientsIntegrationUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterOauthForCustomClientsSecurityIntegrationRequest added in v0.92.0

func NewAlterOauthForCustomClientsSecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterOauthForCustomClientsSecurityIntegrationRequest

func (*AlterOauthForCustomClientsSecurityIntegrationRequest) WithIfExists added in v0.92.0

func (*AlterOauthForCustomClientsSecurityIntegrationRequest) WithSet added in v0.92.0

func (*AlterOauthForCustomClientsSecurityIntegrationRequest) WithSetTags added in v0.92.0

func (*AlterOauthForCustomClientsSecurityIntegrationRequest) WithUnset added in v0.92.0

func (*AlterOauthForCustomClientsSecurityIntegrationRequest) WithUnsetTags added in v0.92.0

type AlterOauthForPartnerApplicationsSecurityIntegrationOptions added in v0.92.0

type AlterOauthForPartnerApplicationsSecurityIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetTags   []TagAssociation                             `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier                           `ddl:"keyword" sql:"UNSET TAG"`
	Set       *OauthForPartnerApplicationsIntegrationSet   `ddl:"list,no_parentheses" sql:"SET"`
	Unset     *OauthForPartnerApplicationsIntegrationUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterOauthForPartnerApplicationsSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-oauth-snowflake.

type AlterOauthForPartnerApplicationsSecurityIntegrationRequest added in v0.92.0

type AlterOauthForPartnerApplicationsSecurityIntegrationRequest struct {
	IfExists *bool

	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	Set       *OauthForPartnerApplicationsIntegrationSetRequest
	Unset     *OauthForPartnerApplicationsIntegrationUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterOauthForPartnerApplicationsSecurityIntegrationRequest added in v0.92.0

func NewAlterOauthForPartnerApplicationsSecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterOauthForPartnerApplicationsSecurityIntegrationRequest

func (*AlterOauthForPartnerApplicationsSecurityIntegrationRequest) WithIfExists added in v0.92.0

func (*AlterOauthForPartnerApplicationsSecurityIntegrationRequest) WithSetTags added in v0.92.0

func (*AlterOauthForPartnerApplicationsSecurityIntegrationRequest) WithUnset added in v0.92.0

func (*AlterOauthForPartnerApplicationsSecurityIntegrationRequest) WithUnsetTags added in v0.92.0

type AlterPasswordPolicyOptions added in v0.66.0

type AlterPasswordPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	NewName *SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	Set     *PasswordPolicySet      `ddl:"list,no_parentheses" sql:"SET"`
	Unset   *PasswordPolicyUnset    `ddl:"list,no_parentheses" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterPasswordPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-password-policy.

type AlterPipeOptions added in v0.72.0

type AlterPipeOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	// One of
	Set      *PipeSet           `ddl:"list,no_parentheses" sql:"SET"`
	Unset    *PipeUnset         `ddl:"list,no_parentheses" sql:"UNSET"`
	SetTag   []TagAssociation   `ddl:"keyword" sql:"SET TAG"`
	UnsetTag []ObjectIdentifier `ddl:"keyword" sql:"UNSET TAG"`
	Refresh  *PipeRefresh       `ddl:"keyword" sql:"REFRESH"`
	// contains filtered or unexported fields
}

AlterPipeOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-pipe.

type AlterProcedureOptions added in v0.79.0

type AlterProcedureOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	RenameTo      *SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	SetComment    *string                 `ddl:"parameter,single_quotes" sql:"SET COMMENT"`
	SetLogLevel   *string                 `ddl:"parameter,single_quotes" sql:"SET LOG_LEVEL"`
	SetTraceLevel *string                 `ddl:"parameter,single_quotes" sql:"SET TRACE_LEVEL"`
	UnsetComment  *bool                   `ddl:"keyword" sql:"UNSET COMMENT"`
	SetTags       []TagAssociation        `ddl:"keyword" sql:"SET TAG"`
	UnsetTags     []ObjectIdentifier      `ddl:"keyword" sql:"UNSET TAG"`
	ExecuteAs     *ExecuteAs              `ddl:"keyword"`
	// contains filtered or unexported fields
}

AlterProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-procedure.

type AlterProcedureRequest added in v0.79.0

type AlterProcedureRequest struct {
	IfExists *bool

	RenameTo      *SchemaObjectIdentifier
	SetComment    *string
	SetLogLevel   *string
	SetTraceLevel *string
	UnsetComment  *bool
	SetTags       []TagAssociation
	UnsetTags     []ObjectIdentifier
	ExecuteAs     *ExecuteAs
	// contains filtered or unexported fields
}

func NewAlterProcedureRequest added in v0.79.0

func NewAlterProcedureRequest(
	name SchemaObjectIdentifierWithArguments,
) *AlterProcedureRequest

func (*AlterProcedureRequest) WithExecuteAs added in v0.79.0

func (s *AlterProcedureRequest) WithExecuteAs(ExecuteAs ExecuteAs) *AlterProcedureRequest

func (*AlterProcedureRequest) WithIfExists added in v0.79.0

func (s *AlterProcedureRequest) WithIfExists(IfExists bool) *AlterProcedureRequest

func (*AlterProcedureRequest) WithRenameTo added in v0.79.0

func (*AlterProcedureRequest) WithSetComment added in v0.79.0

func (s *AlterProcedureRequest) WithSetComment(SetComment string) *AlterProcedureRequest

func (*AlterProcedureRequest) WithSetLogLevel added in v0.79.0

func (s *AlterProcedureRequest) WithSetLogLevel(SetLogLevel string) *AlterProcedureRequest

func (*AlterProcedureRequest) WithSetTags added in v0.79.0

func (s *AlterProcedureRequest) WithSetTags(SetTags []TagAssociation) *AlterProcedureRequest

func (*AlterProcedureRequest) WithSetTraceLevel added in v0.79.0

func (s *AlterProcedureRequest) WithSetTraceLevel(SetTraceLevel string) *AlterProcedureRequest

func (*AlterProcedureRequest) WithUnsetComment added in v0.79.0

func (s *AlterProcedureRequest) WithUnsetComment(UnsetComment bool) *AlterProcedureRequest

func (*AlterProcedureRequest) WithUnsetTags added in v0.79.0

func (s *AlterProcedureRequest) WithUnsetTags(UnsetTags []ObjectIdentifier) *AlterProcedureRequest

type AlterResourceMonitorOptions added in v0.66.0

type AlterResourceMonitorOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set      *ResourceMonitorSet   `ddl:"keyword" sql:"SET"`
	Unset    *ResourceMonitorUnset `ddl:"keyword" sql:"SET"`
	Triggers []TriggerDefinition   `ddl:"keyword,no_comma" sql:"TRIGGERS"`
	// contains filtered or unexported fields
}

AlterResourceMonitorOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-resource-monitor.

type AlterRoleOptions added in v0.72.0

type AlterRoleOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	// One of
	RenameTo     *AccountObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	SetComment   *string                  `ddl:"parameter,single_quotes" sql:"SET COMMENT"`
	SetTags      []TagAssociation         `ddl:"keyword" sql:"SET TAG"`
	UnsetComment *bool                    `ddl:"keyword" sql:"UNSET COMMENT"`
	UnsetTags    []ObjectIdentifier       `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterRoleOptions based on https://docs.snowflake.com/en/sql-reference/sql/alter-role

type AlterRoleRequest added in v0.72.0

type AlterRoleRequest struct {
	IfExists *bool

	RenameTo     *AccountObjectIdentifier
	SetComment   *string
	SetTags      []TagAssociation
	UnsetComment *bool
	UnsetTags    []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterRoleRequest added in v0.72.0

func NewAlterRoleRequest(name AccountObjectIdentifier) *AlterRoleRequest

func (*AlterRoleRequest) WithIfExists added in v0.72.0

func (s *AlterRoleRequest) WithIfExists(ifExists bool) *AlterRoleRequest

func (*AlterRoleRequest) WithRenameTo added in v0.72.0

func (s *AlterRoleRequest) WithRenameTo(renameTo AccountObjectIdentifier) *AlterRoleRequest

func (*AlterRoleRequest) WithSetComment added in v0.72.0

func (s *AlterRoleRequest) WithSetComment(setComment string) *AlterRoleRequest

func (*AlterRoleRequest) WithSetTags added in v0.72.0

func (s *AlterRoleRequest) WithSetTags(setTags []TagAssociation) *AlterRoleRequest

func (*AlterRoleRequest) WithUnsetComment added in v0.72.0

func (s *AlterRoleRequest) WithUnsetComment(unsetComment bool) *AlterRoleRequest

func (*AlterRoleRequest) WithUnsetTags added in v0.72.0

func (s *AlterRoleRequest) WithUnsetTags(unsetTags []ObjectIdentifier) *AlterRoleRequest

type AlterRowAccessPolicyOptions added in v0.84.0

type AlterRowAccessPolicyOptions struct {
	RenameTo     *SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	SetBody      *string                 `ddl:"parameter,no_quotes,no_equals" sql:"SET BODY ->"`
	SetTags      []TagAssociation        `ddl:"keyword" sql:"SET TAG"`
	UnsetTags    []ObjectIdentifier      `ddl:"keyword" sql:"UNSET TAG"`
	SetComment   *string                 `ddl:"parameter,single_quotes" sql:"SET COMMENT"`
	UnsetComment *bool                   `ddl:"keyword" sql:"UNSET COMMENT"`
	// contains filtered or unexported fields
}

AlterRowAccessPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-row-access-policy.

type AlterRowAccessPolicyRequest added in v0.84.0

type AlterRowAccessPolicyRequest struct {
	RenameTo     *SchemaObjectIdentifier
	SetBody      *string
	SetTags      []TagAssociation
	UnsetTags    []ObjectIdentifier
	SetComment   *string
	UnsetComment *bool
	// contains filtered or unexported fields
}

func NewAlterRowAccessPolicyRequest added in v0.84.0

func NewAlterRowAccessPolicyRequest(
	name SchemaObjectIdentifier,
) *AlterRowAccessPolicyRequest

func (*AlterRowAccessPolicyRequest) WithRenameTo added in v0.84.0

func (*AlterRowAccessPolicyRequest) WithSetBody added in v0.84.0

func (*AlterRowAccessPolicyRequest) WithSetComment added in v0.84.0

func (s *AlterRowAccessPolicyRequest) WithSetComment(SetComment *string) *AlterRowAccessPolicyRequest

func (*AlterRowAccessPolicyRequest) WithSetTags added in v0.84.0

func (*AlterRowAccessPolicyRequest) WithUnsetComment added in v0.84.0

func (s *AlterRowAccessPolicyRequest) WithUnsetComment(UnsetComment *bool) *AlterRowAccessPolicyRequest

func (*AlterRowAccessPolicyRequest) WithUnsetTags added in v0.84.0

type AlterSaml2SecurityIntegrationOptions added in v0.92.0

type AlterSaml2SecurityIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetTags                         []TagAssociation       `ddl:"keyword" sql:"SET TAG"`
	UnsetTags                       []ObjectIdentifier     `ddl:"keyword" sql:"UNSET TAG"`
	Set                             *Saml2IntegrationSet   `ddl:"list,no_parentheses" sql:"SET"`
	Unset                           *Saml2IntegrationUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	RefreshSaml2SnowflakePrivateKey *bool                  `ddl:"keyword" sql:"REFRESH SAML2_SNOWFLAKE_PRIVATE_KEY"`
	// contains filtered or unexported fields
}

AlterSaml2SecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-saml2.

type AlterSaml2SecurityIntegrationRequest added in v0.92.0

type AlterSaml2SecurityIntegrationRequest struct {
	IfExists *bool

	SetTags                         []TagAssociation
	UnsetTags                       []ObjectIdentifier
	Set                             *Saml2IntegrationSetRequest
	Unset                           *Saml2IntegrationUnsetRequest
	RefreshSaml2SnowflakePrivateKey *bool
	// contains filtered or unexported fields
}

func NewAlterSaml2SecurityIntegrationRequest added in v0.92.0

func NewAlterSaml2SecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterSaml2SecurityIntegrationRequest

func (*AlterSaml2SecurityIntegrationRequest) WithIfExists added in v0.92.0

func (*AlterSaml2SecurityIntegrationRequest) WithRefreshSaml2SnowflakePrivateKey added in v0.92.0

func (s *AlterSaml2SecurityIntegrationRequest) WithRefreshSaml2SnowflakePrivateKey(RefreshSaml2SnowflakePrivateKey bool) *AlterSaml2SecurityIntegrationRequest

func (*AlterSaml2SecurityIntegrationRequest) WithSet added in v0.92.0

func (*AlterSaml2SecurityIntegrationRequest) WithSetTags added in v0.92.0

func (*AlterSaml2SecurityIntegrationRequest) WithUnset added in v0.92.0

func (*AlterSaml2SecurityIntegrationRequest) WithUnsetTags added in v0.92.0

type AlterSchemaOptions added in v0.70.0

type AlterSchemaOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	NewName  *DatabaseObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	SwapWith *DatabaseObjectIdentifier `ddl:"identifier" sql:"SWAP WITH"`
	Set      *SchemaSet                `ddl:"list,no_parentheses" sql:"SET"`
	Unset    *SchemaUnset              `ddl:"list,no_parentheses" sql:"UNSET"`
	SetTag   []TagAssociation          `ddl:"keyword" sql:"SET TAG"`
	UnsetTag []ObjectIdentifier        `ddl:"keyword" sql:"UNSET TAG"`
	// One of
	EnableManagedAccess  *bool `ddl:"keyword" sql:"ENABLE MANAGED ACCESS"`
	DisableManagedAccess *bool `ddl:"keyword" sql:"DISABLE MANAGED ACCESS"`
	// contains filtered or unexported fields
}

AlterSchemaOptions based on https://docs.snowflake.com/en/sql-reference/sql/alter-schema

type AlterScimSecurityIntegrationOptions added in v0.92.0

type AlterScimSecurityIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetTags   []TagAssociation      `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier    `ddl:"keyword" sql:"UNSET TAG"`
	Set       *ScimIntegrationSet   `ddl:"list,no_parentheses" sql:"SET"`
	Unset     *ScimIntegrationUnset `ddl:"list,no_parentheses" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterScimSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-security-integration-scim.

type AlterScimSecurityIntegrationRequest added in v0.92.0

type AlterScimSecurityIntegrationRequest struct {
	IfExists *bool

	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	Set       *ScimIntegrationSetRequest
	Unset     *ScimIntegrationUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterScimSecurityIntegrationRequest added in v0.92.0

func NewAlterScimSecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterScimSecurityIntegrationRequest

func (*AlterScimSecurityIntegrationRequest) WithIfExists added in v0.92.0

func (*AlterScimSecurityIntegrationRequest) WithSet added in v0.92.0

func (*AlterScimSecurityIntegrationRequest) WithSetTags added in v0.92.0

func (*AlterScimSecurityIntegrationRequest) WithUnset added in v0.92.0

func (*AlterScimSecurityIntegrationRequest) WithUnsetTags added in v0.92.0

type AlterSecretOptions added in v0.97.0

type AlterSecretOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set   *SecretSet   `ddl:"keyword" sql:"SET"`
	Unset *SecretUnset `ddl:"keyword"`
	// contains filtered or unexported fields
}

AlterSecretOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-secret.

type AlterSecretRequest added in v0.97.0

type AlterSecretRequest struct {
	IfExists *bool

	Set   *SecretSetRequest
	Unset *SecretUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterSecretRequest added in v0.97.0

func NewAlterSecretRequest(
	name SchemaObjectIdentifier,
) *AlterSecretRequest

func (*AlterSecretRequest) WithIfExists added in v0.97.0

func (s *AlterSecretRequest) WithIfExists(IfExists bool) *AlterSecretRequest

func (*AlterSecretRequest) WithSet added in v0.97.0

func (*AlterSecretRequest) WithUnset added in v0.97.0

type AlterSequenceOptions added in v0.85.0

type AlterSequenceOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	RenameTo     *SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	SetIncrement *int                    `ddl:"parameter,no_quotes" sql:"SET INCREMENT"`
	Set          *SequenceSet            `ddl:"keyword" sql:"SET"`
	UnsetComment *bool                   `ddl:"keyword" sql:"UNSET COMMENT"`
	// contains filtered or unexported fields
}

AlterSequenceOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-sequence.

type AlterSequenceRequest added in v0.85.0

type AlterSequenceRequest struct {
	IfExists *bool

	RenameTo     *SchemaObjectIdentifier
	SetIncrement *int
	Set          *SequenceSetRequest
	UnsetComment *bool
	// contains filtered or unexported fields
}

func NewAlterSequenceRequest added in v0.85.0

func NewAlterSequenceRequest(
	name SchemaObjectIdentifier,
) *AlterSequenceRequest

func (*AlterSequenceRequest) WithIfExists added in v0.85.0

func (s *AlterSequenceRequest) WithIfExists(IfExists *bool) *AlterSequenceRequest

func (*AlterSequenceRequest) WithRenameTo added in v0.85.0

func (*AlterSequenceRequest) WithSet added in v0.85.0

func (*AlterSequenceRequest) WithSetIncrement added in v0.85.0

func (s *AlterSequenceRequest) WithSetIncrement(SetIncrement *int) *AlterSequenceRequest

func (*AlterSequenceRequest) WithUnsetComment added in v0.85.0

func (s *AlterSequenceRequest) WithUnsetComment(UnsetComment *bool) *AlterSequenceRequest

type AlterSessionOptions added in v0.65.0

type AlterSessionOptions struct {
	Set   *SessionSet   `ddl:"keyword" sql:"SET"`
	Unset *SessionUnset `ddl:"keyword" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterSessionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-session.

type AlterSessionPolicyOptions added in v0.66.0

type AlterSessionPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	RenameTo  *SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	Set       *SessionPolicySet       `ddl:"keyword" sql:"SET"`
	SetTags   []TagAssociation        `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier      `ddl:"keyword" sql:"UNSET TAG"`
	Unset     *SessionPolicyUnset     `ddl:"keyword" sql:"UNSET"`
	// contains filtered or unexported fields
}

AlterSessionPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-session-policy.

type AlterSessionPolicyRequest added in v0.72.0

type AlterSessionPolicyRequest struct {
	IfExists *bool

	RenameTo  *SchemaObjectIdentifier
	Set       *SessionPolicySetRequest
	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	Unset     *SessionPolicyUnsetRequest
	// contains filtered or unexported fields
}

func NewAlterSessionPolicyRequest added in v0.72.0

func NewAlterSessionPolicyRequest(
	name SchemaObjectIdentifier,
) *AlterSessionPolicyRequest

func (*AlterSessionPolicyRequest) WithIfExists added in v0.72.0

func (s *AlterSessionPolicyRequest) WithIfExists(IfExists *bool) *AlterSessionPolicyRequest

func (*AlterSessionPolicyRequest) WithRenameTo added in v0.72.0

func (*AlterSessionPolicyRequest) WithSet added in v0.72.0

func (*AlterSessionPolicyRequest) WithSetTags added in v0.72.0

func (*AlterSessionPolicyRequest) WithUnset added in v0.72.0

func (*AlterSessionPolicyRequest) WithUnsetTags added in v0.72.0

type AlterShareOptions added in v0.66.0

type AlterShareOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Add      *ShareAdd          `ddl:"keyword" sql:"ADD"`
	Remove   *ShareRemove       `ddl:"keyword" sql:"REMOVE"`
	Set      *ShareSet          `ddl:"keyword" sql:"SET"`
	Unset    *ShareUnset        `ddl:"keyword" sql:"UNSET"`
	SetTag   []TagAssociation   `ddl:"keyword" sql:"SET TAG"`
	UnsetTag []ObjectIdentifier `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterShareOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-share.

type AlterSourceFailoverGroupOptions added in v0.66.0

type AlterSourceFailoverGroupOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	NewName AccountObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	Set     *FailoverGroupSet       `ddl:"keyword" sql:"SET"`
	Unset   *FailoverGroupUnset     `ddl:"list,no_parentheses" sql:"UNSET"`
	Add     *FailoverGroupAdd       `ddl:"keyword" sql:"ADD"`
	Move    *FailoverGroupMove      `ddl:"keyword" sql:"MOVE"`
	Remove  *FailoverGroupRemove    `ddl:"keyword" sql:"REMOVE"`
	// contains filtered or unexported fields
}

AlterSourceFailoverGroupOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-failover-group.

type AlterStageOptions added in v0.76.0

type AlterStageOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	RenameTo  *SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	SetTags   []TagAssociation        `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier      `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-stage.

type AlterStageRequest added in v0.76.0

type AlterStageRequest struct {
	IfExists *bool

	RenameTo  *SchemaObjectIdentifier
	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterStageRequest added in v0.76.0

func NewAlterStageRequest(
	name SchemaObjectIdentifier,
) *AlterStageRequest

func (*AlterStageRequest) WithIfExists added in v0.76.0

func (s *AlterStageRequest) WithIfExists(IfExists *bool) *AlterStageRequest

func (*AlterStageRequest) WithRenameTo added in v0.76.0

func (s *AlterStageRequest) WithRenameTo(RenameTo *SchemaObjectIdentifier) *AlterStageRequest

func (*AlterStageRequest) WithSetTags added in v0.76.0

func (s *AlterStageRequest) WithSetTags(SetTags []TagAssociation) *AlterStageRequest

func (*AlterStageRequest) WithUnsetTags added in v0.76.0

func (s *AlterStageRequest) WithUnsetTags(UnsetTags []ObjectIdentifier) *AlterStageRequest

type AlterStorageIntegrationOptions added in v0.84.0

type AlterStorageIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set       *StorageIntegrationSet   `ddl:"keyword" sql:"SET"`
	Unset     *StorageIntegrationUnset `ddl:"list" sql:"UNSET"`
	SetTags   []TagAssociation         `ddl:"keyword" sql:"SET TAG"`
	UnsetTags []ObjectIdentifier       `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterStorageIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-storage-integration.

type AlterStorageIntegrationRequest added in v0.84.0

type AlterStorageIntegrationRequest struct {
	IfExists *bool

	Set       *StorageIntegrationSetRequest
	Unset     *StorageIntegrationUnsetRequest
	SetTags   []TagAssociation
	UnsetTags []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterStorageIntegrationRequest added in v0.84.0

func NewAlterStorageIntegrationRequest(
	name AccountObjectIdentifier,
) *AlterStorageIntegrationRequest

func (*AlterStorageIntegrationRequest) WithIfExists added in v0.84.0

func (*AlterStorageIntegrationRequest) WithSet added in v0.84.0

func (*AlterStorageIntegrationRequest) WithSetTags added in v0.84.0

func (*AlterStorageIntegrationRequest) WithUnset added in v0.84.0

func (*AlterStorageIntegrationRequest) WithUnsetTags added in v0.84.0

type AlterStreamOptions added in v0.74.0

type AlterStreamOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	SetComment   *string            `ddl:"parameter,single_quotes" sql:"SET COMMENT"`
	UnsetComment *bool              `ddl:"keyword" sql:"UNSET COMMENT"`
	SetTags      []TagAssociation   `ddl:"keyword" sql:"SET TAG"`
	UnsetTags    []ObjectIdentifier `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterStreamOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-stream.

type AlterStreamRequest added in v0.74.0

type AlterStreamRequest struct {
	IfExists *bool

	SetComment   *string
	UnsetComment *bool
	SetTags      []TagAssociation
	UnsetTags    []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterStreamRequest added in v0.74.0

func NewAlterStreamRequest(
	name SchemaObjectIdentifier,
) *AlterStreamRequest

func (*AlterStreamRequest) WithIfExists added in v0.74.0

func (s *AlterStreamRequest) WithIfExists(IfExists bool) *AlterStreamRequest

func (*AlterStreamRequest) WithSetComment added in v0.74.0

func (s *AlterStreamRequest) WithSetComment(SetComment string) *AlterStreamRequest

func (*AlterStreamRequest) WithSetTags added in v0.74.0

func (s *AlterStreamRequest) WithSetTags(SetTags []TagAssociation) *AlterStreamRequest

func (*AlterStreamRequest) WithUnsetComment added in v0.74.0

func (s *AlterStreamRequest) WithUnsetComment(UnsetComment bool) *AlterStreamRequest

func (*AlterStreamRequest) WithUnsetTags added in v0.74.0

func (s *AlterStreamRequest) WithUnsetTags(UnsetTags []ObjectIdentifier) *AlterStreamRequest

type AlterStreamlitOptions added in v0.85.0

type AlterStreamlitOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Set      *StreamlitSet           `ddl:"keyword" sql:"SET"`
	Unset    *StreamlitUnset         `ddl:"list,no_parentheses" sql:"UNSET"`
	RenameTo *SchemaObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`
	// contains filtered or unexported fields
}

AlterStreamlitOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-streamlit.

type AlterStreamlitRequest added in v0.85.0

type AlterStreamlitRequest struct {
	IfExists *bool

	Set      *StreamlitSetRequest
	Unset    *StreamlitUnsetRequest
	RenameTo *SchemaObjectIdentifier
	// contains filtered or unexported fields
}

func NewAlterStreamlitRequest added in v0.85.0

func NewAlterStreamlitRequest(
	name SchemaObjectIdentifier,
) *AlterStreamlitRequest

func (*AlterStreamlitRequest) WithIfExists added in v0.85.0

func (s *AlterStreamlitRequest) WithIfExists(IfExists bool) *AlterStreamlitRequest

func (*AlterStreamlitRequest) WithRenameTo added in v0.85.0

func (*AlterStreamlitRequest) WithSet added in v0.85.0

func (*AlterStreamlitRequest) WithUnset added in v0.94.0

type AlterTableRequest added in v0.78.0

type AlterTableRequest struct {
	IfExists *bool

	NewName                   *SchemaObjectIdentifier
	SwapWith                  *SchemaObjectIdentifier
	ClusteringAction          *TableClusteringActionRequest
	ColumnAction              *TableColumnActionRequest
	ConstraintAction          *TableConstraintActionRequest
	ExternalTableAction       *TableExternalTableActionRequest
	SearchOptimizationAction  *TableSearchOptimizationActionRequest
	Set                       *TableSetRequest
	SetTags                   []TagAssociationRequest
	UnsetTags                 []ObjectIdentifier
	Unset                     *TableUnsetRequest
	AddRowAccessPolicy        *TableAddRowAccessPolicyRequest
	DropRowAccessPolicy       *TableDropRowAccessPolicyRequest
	DropAndAddRowAccessPolicy *TableDropAndAddRowAccessPolicy
	DropAllAccessRowPolicies  *bool
	// contains filtered or unexported fields
}

func NewAlterTableRequest added in v0.78.0

func NewAlterTableRequest(
	name SchemaObjectIdentifier,
) *AlterTableRequest

func (*AlterTableRequest) WithAddRowAccessPolicy added in v0.78.0

func (s *AlterTableRequest) WithAddRowAccessPolicy(addRowAccessPolicy *TableAddRowAccessPolicyRequest) *AlterTableRequest

func (*AlterTableRequest) WithClusteringAction added in v0.78.0

func (s *AlterTableRequest) WithClusteringAction(clusteringAction *TableClusteringActionRequest) *AlterTableRequest

func (*AlterTableRequest) WithColumnAction added in v0.78.0

func (s *AlterTableRequest) WithColumnAction(columnAction *TableColumnActionRequest) *AlterTableRequest

func (*AlterTableRequest) WithConstraintAction added in v0.78.0

func (s *AlterTableRequest) WithConstraintAction(constraintAction *TableConstraintActionRequest) *AlterTableRequest

func (*AlterTableRequest) WithDropAllAccessRowPolicies added in v0.78.0

func (s *AlterTableRequest) WithDropAllAccessRowPolicies(dropAllAccessRowPolicies *bool) *AlterTableRequest

func (*AlterTableRequest) WithDropAndAddRowAccessPolicy added in v0.78.0

func (s *AlterTableRequest) WithDropAndAddRowAccessPolicy(dropAndAddRowAccessPolicy *TableDropAndAddRowAccessPolicy) *AlterTableRequest

func (*AlterTableRequest) WithDropRowAccessPolicy added in v0.78.0

func (s *AlterTableRequest) WithDropRowAccessPolicy(dropRowAccessPolicy *TableDropRowAccessPolicyRequest) *AlterTableRequest

func (*AlterTableRequest) WithExternalTableAction added in v0.78.0

func (s *AlterTableRequest) WithExternalTableAction(externalTableAction *TableExternalTableActionRequest) *AlterTableRequest

func (*AlterTableRequest) WithIfExists added in v0.78.0

func (s *AlterTableRequest) WithIfExists(ifExists *bool) *AlterTableRequest

func (*AlterTableRequest) WithNewName added in v0.78.0

func (*AlterTableRequest) WithSearchOptimizationAction added in v0.78.0

func (s *AlterTableRequest) WithSearchOptimizationAction(searchOptimizationAction *TableSearchOptimizationActionRequest) *AlterTableRequest

func (*AlterTableRequest) WithSet added in v0.78.0

func (*AlterTableRequest) WithSetTags added in v0.78.0

func (s *AlterTableRequest) WithSetTags(setTags []TagAssociationRequest) *AlterTableRequest

func (*AlterTableRequest) WithSwapWith added in v0.78.0

func (s *AlterTableRequest) WithSwapWith(swapWith *SchemaObjectIdentifier) *AlterTableRequest

func (*AlterTableRequest) WithUnset added in v0.78.0

func (*AlterTableRequest) WithUnsetTags added in v0.78.0

func (s *AlterTableRequest) WithUnsetTags(unsetTags []ObjectIdentifier) *AlterTableRequest

type AlterTagRequest added in v0.74.0

type AlterTagRequest struct {
	// contains filtered or unexported fields
}

func NewAlterTagRequest added in v0.74.0

func NewAlterTagRequest(name SchemaObjectIdentifier) *AlterTagRequest

func (*AlterTagRequest) WithAdd added in v0.74.0

func (s *AlterTagRequest) WithAdd(values []string) *AlterTagRequest

func (*AlterTagRequest) WithDrop added in v0.74.0

func (s *AlterTagRequest) WithDrop(values []string) *AlterTagRequest

func (*AlterTagRequest) WithRename added in v0.74.0

func (*AlterTagRequest) WithSet added in v0.74.0

func (s *AlterTagRequest) WithSet(request *TagSetRequest) *AlterTagRequest

func (*AlterTagRequest) WithUnset added in v0.74.0

func (s *AlterTagRequest) WithUnset(request *TagUnsetRequest) *AlterTagRequest

type AlterTargetFailoverGroupOptions added in v0.66.0

type AlterTargetFailoverGroupOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Refresh *bool `ddl:"keyword" sql:"REFRESH"`
	Primary *bool `ddl:"keyword" sql:"PRIMARY"`
	Suspend *bool `ddl:"keyword" sql:"SUSPEND"`
	Resume  *bool `ddl:"keyword" sql:"RESUME"`
	// contains filtered or unexported fields
}

AlterTargetFailoverGroupOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-failover-group.

type AlterTaskOptions added in v0.73.0

type AlterTaskOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Resume        *bool                    `ddl:"keyword" sql:"RESUME"`
	Suspend       *bool                    `ddl:"keyword" sql:"SUSPEND"`
	RemoveAfter   []SchemaObjectIdentifier `ddl:"parameter,no_equals" sql:"REMOVE AFTER"`
	AddAfter      []SchemaObjectIdentifier `ddl:"parameter,no_equals" sql:"ADD AFTER"`
	Set           *TaskSet                 `ddl:"list,no_parentheses" sql:"SET"`
	Unset         *TaskUnset               `ddl:"list,no_parentheses" sql:"UNSET"`
	SetTags       []TagAssociation         `ddl:"keyword" sql:"SET TAG"`
	UnsetTags     []ObjectIdentifier       `ddl:"keyword" sql:"UNSET TAG"`
	SetFinalize   *SchemaObjectIdentifier  `ddl:"identifier,equals" sql:"SET FINALIZE"`
	UnsetFinalize *bool                    `ddl:"keyword" sql:"UNSET FINALIZE"`
	ModifyAs      *string                  `ddl:"parameter,no_quotes,no_equals" sql:"MODIFY AS"`
	ModifyWhen    *string                  `ddl:"parameter,no_quotes,no_equals" sql:"MODIFY WHEN"`
	RemoveWhen    *bool                    `ddl:"keyword" sql:"REMOVE WHEN"`
	// contains filtered or unexported fields
}

AlterTaskOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-task.

type AlterTaskRequest added in v0.73.0

type AlterTaskRequest struct {
	IfExists *bool

	Resume        *bool
	Suspend       *bool
	RemoveAfter   []SchemaObjectIdentifier
	AddAfter      []SchemaObjectIdentifier
	Set           *TaskSetRequest
	Unset         *TaskUnsetRequest
	SetTags       []TagAssociation
	UnsetTags     []ObjectIdentifier
	SetFinalize   *SchemaObjectIdentifier
	UnsetFinalize *bool
	ModifyAs      *string
	ModifyWhen    *string
	RemoveWhen    *bool
	// contains filtered or unexported fields
}

func NewAlterTaskRequest added in v0.73.0

func NewAlterTaskRequest(
	name SchemaObjectIdentifier,
) *AlterTaskRequest

func (*AlterTaskRequest) GetName added in v0.97.0

func (*AlterTaskRequest) WithAddAfter added in v0.73.0

func (s *AlterTaskRequest) WithAddAfter(AddAfter []SchemaObjectIdentifier) *AlterTaskRequest

func (*AlterTaskRequest) WithIfExists added in v0.73.0

func (s *AlterTaskRequest) WithIfExists(IfExists bool) *AlterTaskRequest

func (*AlterTaskRequest) WithModifyAs added in v0.73.0

func (s *AlterTaskRequest) WithModifyAs(ModifyAs string) *AlterTaskRequest

func (*AlterTaskRequest) WithModifyWhen added in v0.73.0

func (s *AlterTaskRequest) WithModifyWhen(ModifyWhen string) *AlterTaskRequest

func (*AlterTaskRequest) WithRemoveAfter added in v0.73.0

func (s *AlterTaskRequest) WithRemoveAfter(RemoveAfter []SchemaObjectIdentifier) *AlterTaskRequest

func (*AlterTaskRequest) WithRemoveWhen added in v0.97.0

func (s *AlterTaskRequest) WithRemoveWhen(RemoveWhen bool) *AlterTaskRequest

func (*AlterTaskRequest) WithResume added in v0.73.0

func (s *AlterTaskRequest) WithResume(Resume bool) *AlterTaskRequest

func (*AlterTaskRequest) WithSet added in v0.73.0

func (*AlterTaskRequest) WithSetFinalize added in v0.97.0

func (s *AlterTaskRequest) WithSetFinalize(SetFinalize SchemaObjectIdentifier) *AlterTaskRequest

func (*AlterTaskRequest) WithSetTags added in v0.73.0

func (s *AlterTaskRequest) WithSetTags(SetTags []TagAssociation) *AlterTaskRequest

func (*AlterTaskRequest) WithSuspend added in v0.73.0

func (s *AlterTaskRequest) WithSuspend(Suspend bool) *AlterTaskRequest

func (*AlterTaskRequest) WithUnset added in v0.73.0

func (s *AlterTaskRequest) WithUnset(Unset TaskUnsetRequest) *AlterTaskRequest

func (*AlterTaskRequest) WithUnsetFinalize added in v0.97.0

func (s *AlterTaskRequest) WithUnsetFinalize(UnsetFinalize bool) *AlterTaskRequest

func (*AlterTaskRequest) WithUnsetTags added in v0.73.0

func (s *AlterTaskRequest) WithUnsetTags(UnsetTags []ObjectIdentifier) *AlterTaskRequest

type AlterUserOptions added in v0.66.0

type AlterUserOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	// one of
	NewName                      AccountObjectIdentifier       `ddl:"identifier" sql:"RENAME TO"`
	ResetPassword                *bool                         `ddl:"keyword" sql:"RESET PASSWORD"`
	AbortAllQueries              *bool                         `ddl:"keyword" sql:"ABORT ALL QUERIES"`
	AddDelegatedAuthorization    *AddDelegatedAuthorization    `ddl:"keyword"`
	RemoveDelegatedAuthorization *RemoveDelegatedAuthorization `ddl:"keyword"`
	Set                          *UserSet                      `ddl:"keyword" sql:"SET"`
	Unset                        *UserUnset                    `ddl:"list" sql:"UNSET"`
	SetTag                       []TagAssociation              `ddl:"keyword" sql:"SET TAG"`
	UnsetTag                     []ObjectIdentifier            `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterUserOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-user.

type AlterViewOptions added in v0.76.0

type AlterViewOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	RenameTo                      *SchemaObjectIdentifier        `ddl:"identifier" sql:"RENAME TO"`
	SetComment                    *string                        `ddl:"parameter,single_quotes" sql:"SET COMMENT"`
	UnsetComment                  *bool                          `ddl:"keyword" sql:"UNSET COMMENT"`
	SetSecure                     *bool                          `ddl:"keyword" sql:"SET SECURE"`
	SetChangeTracking             *bool                          `ddl:"parameter" sql:"SET CHANGE_TRACKING"`
	UnsetSecure                   *bool                          `ddl:"keyword" sql:"UNSET SECURE"`
	SetTags                       []TagAssociation               `ddl:"keyword" sql:"SET TAG"`
	UnsetTags                     []ObjectIdentifier             `ddl:"keyword" sql:"UNSET TAG"`
	AddDataMetricFunction         *ViewAddDataMetricFunction     `ddl:"keyword"`
	DropDataMetricFunction        *ViewDropDataMetricFunction    `ddl:"keyword"`
	ModifyDataMetricFunction      *ViewModifyDataMetricFunctions `ddl:"keyword"`
	SetDataMetricSchedule         *ViewSetDataMetricSchedule     `ddl:"keyword"`
	UnsetDataMetricSchedule       *ViewUnsetDataMetricSchedule   `ddl:"keyword"`
	AddRowAccessPolicy            *ViewAddRowAccessPolicy        `ddl:"keyword"`
	DropRowAccessPolicy           *ViewDropRowAccessPolicy       `ddl:"keyword"`
	DropAndAddRowAccessPolicy     *ViewDropAndAddRowAccessPolicy `ddl:"list,no_parentheses"`
	DropAllRowAccessPolicies      *bool                          `ddl:"keyword" sql:"DROP ALL ROW ACCESS POLICIES"`
	SetAggregationPolicy          *ViewSetAggregationPolicy      `ddl:"keyword"`
	UnsetAggregationPolicy        *ViewUnsetAggregationPolicy    `ddl:"keyword"`
	SetMaskingPolicyOnColumn      *ViewSetColumnMaskingPolicy    `ddl:"keyword"`
	UnsetMaskingPolicyOnColumn    *ViewUnsetColumnMaskingPolicy  `ddl:"keyword"`
	SetProjectionPolicyOnColumn   *ViewSetProjectionPolicy       `ddl:"keyword"`
	UnsetProjectionPolicyOnColumn *ViewUnsetProjectionPolicy     `ddl:"keyword"`
	SetTagsOnColumn               *ViewSetColumnTags             `ddl:"keyword"`
	UnsetTagsOnColumn             *ViewUnsetColumnTags           `ddl:"keyword"`
	// contains filtered or unexported fields
}

AlterViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-view.

type AlterViewRequest added in v0.76.0

type AlterViewRequest struct {
	IfExists *bool

	RenameTo                      *SchemaObjectIdentifier
	SetComment                    *string
	UnsetComment                  *bool
	SetSecure                     *bool
	SetChangeTracking             *bool
	UnsetSecure                   *bool
	SetTags                       []TagAssociation
	UnsetTags                     []ObjectIdentifier
	AddDataMetricFunction         *ViewAddDataMetricFunctionRequest
	DropDataMetricFunction        *ViewDropDataMetricFunctionRequest
	ModifyDataMetricFunction      *ViewModifyDataMetricFunctionsRequest
	SetDataMetricSchedule         *ViewSetDataMetricScheduleRequest
	UnsetDataMetricSchedule       *ViewUnsetDataMetricScheduleRequest
	AddRowAccessPolicy            *ViewAddRowAccessPolicyRequest
	DropRowAccessPolicy           *ViewDropRowAccessPolicyRequest
	DropAndAddRowAccessPolicy     *ViewDropAndAddRowAccessPolicyRequest
	DropAllRowAccessPolicies      *bool
	SetAggregationPolicy          *ViewSetAggregationPolicyRequest
	UnsetAggregationPolicy        *ViewUnsetAggregationPolicyRequest
	SetMaskingPolicyOnColumn      *ViewSetColumnMaskingPolicyRequest
	UnsetMaskingPolicyOnColumn    *ViewUnsetColumnMaskingPolicyRequest
	SetProjectionPolicyOnColumn   *ViewSetProjectionPolicyRequest
	UnsetProjectionPolicyOnColumn *ViewUnsetProjectionPolicyRequest
	SetTagsOnColumn               *ViewSetColumnTagsRequest
	UnsetTagsOnColumn             *ViewUnsetColumnTagsRequest
	// contains filtered or unexported fields
}

func NewAlterViewRequest added in v0.76.0

func NewAlterViewRequest(
	name SchemaObjectIdentifier,
) *AlterViewRequest

func (*AlterViewRequest) WithAddDataMetricFunction added in v0.95.0

func (s *AlterViewRequest) WithAddDataMetricFunction(AddDataMetricFunction ViewAddDataMetricFunctionRequest) *AlterViewRequest

func (*AlterViewRequest) WithAddRowAccessPolicy added in v0.76.0

func (s *AlterViewRequest) WithAddRowAccessPolicy(AddRowAccessPolicy ViewAddRowAccessPolicyRequest) *AlterViewRequest

func (*AlterViewRequest) WithDropAllRowAccessPolicies added in v0.76.0

func (s *AlterViewRequest) WithDropAllRowAccessPolicies(DropAllRowAccessPolicies bool) *AlterViewRequest

func (*AlterViewRequest) WithDropAndAddRowAccessPolicy added in v0.76.0

func (s *AlterViewRequest) WithDropAndAddRowAccessPolicy(DropAndAddRowAccessPolicy ViewDropAndAddRowAccessPolicyRequest) *AlterViewRequest

func (*AlterViewRequest) WithDropDataMetricFunction added in v0.95.0

func (s *AlterViewRequest) WithDropDataMetricFunction(DropDataMetricFunction ViewDropDataMetricFunctionRequest) *AlterViewRequest

func (*AlterViewRequest) WithDropRowAccessPolicy added in v0.76.0

func (s *AlterViewRequest) WithDropRowAccessPolicy(DropRowAccessPolicy ViewDropRowAccessPolicyRequest) *AlterViewRequest

func (*AlterViewRequest) WithIfExists added in v0.76.0

func (s *AlterViewRequest) WithIfExists(IfExists bool) *AlterViewRequest

func (*AlterViewRequest) WithModifyDataMetricFunction added in v0.95.0

func (s *AlterViewRequest) WithModifyDataMetricFunction(ModifyDataMetricFunction ViewModifyDataMetricFunctionsRequest) *AlterViewRequest

func (*AlterViewRequest) WithRenameTo added in v0.76.0

func (s *AlterViewRequest) WithRenameTo(RenameTo SchemaObjectIdentifier) *AlterViewRequest

func (*AlterViewRequest) WithSetAggregationPolicy added in v0.95.0

func (s *AlterViewRequest) WithSetAggregationPolicy(SetAggregationPolicy ViewSetAggregationPolicyRequest) *AlterViewRequest

func (*AlterViewRequest) WithSetChangeTracking added in v0.76.0

func (s *AlterViewRequest) WithSetChangeTracking(SetChangeTracking bool) *AlterViewRequest

func (*AlterViewRequest) WithSetComment added in v0.76.0

func (s *AlterViewRequest) WithSetComment(SetComment string) *AlterViewRequest

func (*AlterViewRequest) WithSetDataMetricSchedule added in v0.95.0

func (s *AlterViewRequest) WithSetDataMetricSchedule(SetDataMetricSchedule ViewSetDataMetricScheduleRequest) *AlterViewRequest

func (*AlterViewRequest) WithSetMaskingPolicyOnColumn added in v0.76.0

func (s *AlterViewRequest) WithSetMaskingPolicyOnColumn(SetMaskingPolicyOnColumn ViewSetColumnMaskingPolicyRequest) *AlterViewRequest

func (*AlterViewRequest) WithSetProjectionPolicyOnColumn added in v0.95.0

func (s *AlterViewRequest) WithSetProjectionPolicyOnColumn(SetProjectionPolicyOnColumn ViewSetProjectionPolicyRequest) *AlterViewRequest

func (*AlterViewRequest) WithSetSecure added in v0.76.0

func (s *AlterViewRequest) WithSetSecure(SetSecure bool) *AlterViewRequest

func (*AlterViewRequest) WithSetTags added in v0.76.0

func (s *AlterViewRequest) WithSetTags(SetTags []TagAssociation) *AlterViewRequest

func (*AlterViewRequest) WithSetTagsOnColumn added in v0.76.0

func (s *AlterViewRequest) WithSetTagsOnColumn(SetTagsOnColumn ViewSetColumnTagsRequest) *AlterViewRequest

func (*AlterViewRequest) WithUnsetAggregationPolicy added in v0.95.0

func (s *AlterViewRequest) WithUnsetAggregationPolicy(UnsetAggregationPolicy ViewUnsetAggregationPolicyRequest) *AlterViewRequest

func (*AlterViewRequest) WithUnsetComment added in v0.76.0

func (s *AlterViewRequest) WithUnsetComment(UnsetComment bool) *AlterViewRequest

func (*AlterViewRequest) WithUnsetDataMetricSchedule added in v0.95.0

func (s *AlterViewRequest) WithUnsetDataMetricSchedule(UnsetDataMetricSchedule ViewUnsetDataMetricScheduleRequest) *AlterViewRequest

func (*AlterViewRequest) WithUnsetMaskingPolicyOnColumn added in v0.76.0

func (s *AlterViewRequest) WithUnsetMaskingPolicyOnColumn(UnsetMaskingPolicyOnColumn ViewUnsetColumnMaskingPolicyRequest) *AlterViewRequest

func (*AlterViewRequest) WithUnsetProjectionPolicyOnColumn added in v0.95.0

func (s *AlterViewRequest) WithUnsetProjectionPolicyOnColumn(UnsetProjectionPolicyOnColumn ViewUnsetProjectionPolicyRequest) *AlterViewRequest

func (*AlterViewRequest) WithUnsetSecure added in v0.76.0

func (s *AlterViewRequest) WithUnsetSecure(UnsetSecure bool) *AlterViewRequest

func (*AlterViewRequest) WithUnsetTags added in v0.76.0

func (s *AlterViewRequest) WithUnsetTags(UnsetTags []ObjectIdentifier) *AlterViewRequest

func (*AlterViewRequest) WithUnsetTagsOnColumn added in v0.76.0

func (s *AlterViewRequest) WithUnsetTagsOnColumn(UnsetTagsOnColumn ViewUnsetColumnTagsRequest) *AlterViewRequest

type AlterWarehouseOptions added in v0.66.0

type AlterWarehouseOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Suspend         *bool                    `ddl:"keyword" sql:"SUSPEND"`
	Resume          *bool                    `ddl:"keyword" sql:"RESUME"`
	IfSuspended     *bool                    `ddl:"keyword" sql:"IF SUSPENDED"`
	AbortAllQueries *bool                    `ddl:"keyword" sql:"ABORT ALL QUERIES"`
	NewName         *AccountObjectIdentifier `ddl:"identifier" sql:"RENAME TO"`

	Set      *WarehouseSet      `ddl:"keyword" sql:"SET"`
	Unset    *WarehouseUnset    `ddl:"list,no_parentheses" sql:"UNSET"`
	SetTag   []TagAssociation   `ddl:"keyword" sql:"SET TAG"`
	UnsetTag []ObjectIdentifier `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

AlterWarehouseOptions is based on https://docs.snowflake.com/en/sql-reference/sql/alter-warehouse.

type AmazonPushParams added in v0.85.0

type AmazonPushParams struct {
	AwsSnsTopicArn string `ddl:"parameter,single_quotes" sql:"AWS_SNS_TOPIC_ARN"`
	AwsSnsRoleArn  string `ddl:"parameter,single_quotes" sql:"AWS_SNS_ROLE_ARN"`
	// contains filtered or unexported fields
}

type AmazonPushParamsRequest added in v0.85.0

type AmazonPushParamsRequest struct {
	AwsSnsTopicArn string // required
	AwsSnsRoleArn  string // required
}

func NewAmazonPushParamsRequest added in v0.85.0

func NewAmazonPushParamsRequest(
	AwsSnsTopicArn string,
	AwsSnsRoleArn string,
) *AmazonPushParamsRequest

type ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption added in v0.92.0

type ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption string
const (
	ApiAuthenticationSecurityIntegrationOauthClientAuthMethodClientSecretPost ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption = "CLIENT_SECRET_POST"
)

func ToApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption added in v0.93.0

func ToApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption(s string) (ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption, error)

type ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSet added in v0.92.0

type ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSet struct {
	Enabled                     *bool                                                            `ddl:"parameter" sql:"ENABLED"`
	OauthAuthorizationEndpoint  *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_AUTHORIZATION_ENDPOINT"`
	OauthTokenEndpoint          *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_TOKEN_ENDPOINT"`
	OauthClientAuthMethod       *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption `ddl:"parameter" sql:"OAUTH_CLIENT_AUTH_METHOD"`
	OauthClientId               *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_ID"`
	OauthClientSecret           *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_SECRET"`
	OauthGrantAuthorizationCode *bool                                                            `ddl:"keyword" sql:"OAUTH_GRANT = AUTHORIZATION_CODE"`
	OauthAccessTokenValidity    *int                                                             `ddl:"parameter" sql:"OAUTH_ACCESS_TOKEN_VALIDITY"`
	OauthRefreshTokenValidity   *int                                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	OauthAllowedScopes          []AllowedScope                                                   `ddl:"parameter,parentheses" sql:"OAUTH_ALLOWED_SCOPES"`
	Comment                     *string                                                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest added in v0.92.0

type ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest struct {
	Enabled                     *bool
	OauthAuthorizationEndpoint  *string
	OauthTokenEndpoint          *string
	OauthClientAuthMethod       *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption
	OauthClientId               *string
	OauthClientSecret           *string
	OauthGrantAuthorizationCode *bool
	OauthAccessTokenValidity    *int
	OauthRefreshTokenValidity   *int
	OauthAllowedScopes          []AllowedScope
	Comment                     *string
}

func NewApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest added in v0.92.0

func NewApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest() *ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithComment added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithEnabled added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithOauthAccessTokenValidity added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithOauthAllowedScopes added in v0.93.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithOauthAuthorizationEndpoint added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithOauthClientAuthMethod added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithOauthClientId added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithOauthClientSecret added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithOauthGrantAuthorizationCode added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationSetRequest) WithOauthTokenEndpoint added in v0.92.0

type ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnset added in v0.92.0

type ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnset struct {
	Enabled *bool `ddl:"keyword" sql:"ENABLED"`
	Comment *bool `ddl:"keyword" sql:"COMMENT"`
}

type ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnsetRequest added in v0.92.0

type ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnsetRequest struct {
	Enabled *bool
	Comment *bool
}

func NewApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnsetRequest added in v0.92.0

func NewApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnsetRequest() *ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnsetRequest

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnsetRequest) WithComment added in v0.92.0

func (*ApiAuthenticationWithAuthorizationCodeGrantFlowIntegrationUnsetRequest) WithEnabled added in v0.92.0

type ApiAuthenticationWithClientCredentialsFlowIntegrationSet added in v0.92.0

type ApiAuthenticationWithClientCredentialsFlowIntegrationSet struct {
	Enabled                     *bool                                                            `ddl:"parameter" sql:"ENABLED"`
	OauthTokenEndpoint          *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_TOKEN_ENDPOINT"`
	OauthClientAuthMethod       *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption `ddl:"parameter" sql:"OAUTH_CLIENT_AUTH_METHOD"`
	OauthClientId               *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_ID"`
	OauthClientSecret           *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_SECRET"`
	OauthGrantClientCredentials *bool                                                            `ddl:"keyword" sql:"OAUTH_GRANT = CLIENT_CREDENTIALS"`
	OauthAccessTokenValidity    *int                                                             `ddl:"parameter" sql:"OAUTH_ACCESS_TOKEN_VALIDITY"`
	OauthRefreshTokenValidity   *int                                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	OauthAllowedScopes          []AllowedScope                                                   `ddl:"parameter,parentheses" sql:"OAUTH_ALLOWED_SCOPES"`
	Comment                     *string                                                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest added in v0.92.0

type ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest struct {
	Enabled                     *bool
	OauthTokenEndpoint          *string
	OauthClientAuthMethod       *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption
	OauthClientId               *string
	OauthClientSecret           *string
	OauthGrantClientCredentials *bool
	OauthAccessTokenValidity    *int
	OauthRefreshTokenValidity   *int
	OauthAllowedScopes          []AllowedScope
	Comment                     *string
}

func NewApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest added in v0.92.0

func NewApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest() *ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithComment added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithEnabled added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithOauthAccessTokenValidity added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithOauthAllowedScopes added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithOauthClientAuthMethod added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithOauthClientId added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithOauthClientSecret added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithOauthGrantClientCredentials added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationSetRequest) WithOauthTokenEndpoint added in v0.92.0

type ApiAuthenticationWithClientCredentialsFlowIntegrationUnset added in v0.92.0

type ApiAuthenticationWithClientCredentialsFlowIntegrationUnset struct {
	Enabled *bool `ddl:"keyword" sql:"ENABLED"`
	Comment *bool `ddl:"keyword" sql:"COMMENT"`
}

type ApiAuthenticationWithClientCredentialsFlowIntegrationUnsetRequest added in v0.92.0

type ApiAuthenticationWithClientCredentialsFlowIntegrationUnsetRequest struct {
	Enabled *bool
	Comment *bool
}

func NewApiAuthenticationWithClientCredentialsFlowIntegrationUnsetRequest added in v0.92.0

func NewApiAuthenticationWithClientCredentialsFlowIntegrationUnsetRequest() *ApiAuthenticationWithClientCredentialsFlowIntegrationUnsetRequest

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationUnsetRequest) WithComment added in v0.92.0

func (*ApiAuthenticationWithClientCredentialsFlowIntegrationUnsetRequest) WithEnabled added in v0.92.0

type ApiAuthenticationWithJwtBearerFlowIntegrationSet added in v0.92.0

type ApiAuthenticationWithJwtBearerFlowIntegrationSet struct {
	Enabled                    *bool                                                            `ddl:"parameter" sql:"ENABLED"`
	OauthAuthorizationEndpoint *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_AUTHORIZATION_ENDPOINT"`
	OauthTokenEndpoint         *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_TOKEN_ENDPOINT"`
	OauthClientAuthMethod      *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption `ddl:"parameter" sql:"OAUTH_CLIENT_AUTH_METHOD"`
	OauthClientId              *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_ID"`
	OauthClientSecret          *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_SECRET"`
	OauthGrantJwtBearer        *bool                                                            `ddl:"keyword" sql:"OAUTH_GRANT = JWT_BEARER"`
	OauthAccessTokenValidity   *int                                                             `ddl:"parameter" sql:"OAUTH_ACCESS_TOKEN_VALIDITY"`
	OauthRefreshTokenValidity  *int                                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	Comment                    *string                                                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest added in v0.92.0

type ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest struct {
	Enabled                    *bool
	OauthAuthorizationEndpoint *string
	OauthTokenEndpoint         *string
	OauthClientAuthMethod      *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption
	OauthClientId              *string
	OauthClientSecret          *string
	OauthGrantJwtBearer        *bool
	OauthAccessTokenValidity   *int
	OauthRefreshTokenValidity  *int
	Comment                    *string
}

func NewApiAuthenticationWithJwtBearerFlowIntegrationSetRequest added in v0.92.0

func NewApiAuthenticationWithJwtBearerFlowIntegrationSetRequest() *ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithComment added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithEnabled added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithOauthAccessTokenValidity added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithOauthAuthorizationEndpoint added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithOauthClientAuthMethod added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithOauthClientId added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithOauthClientSecret added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithOauthGrantJwtBearer added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationSetRequest) WithOauthTokenEndpoint added in v0.92.0

type ApiAuthenticationWithJwtBearerFlowIntegrationUnset added in v0.92.0

type ApiAuthenticationWithJwtBearerFlowIntegrationUnset struct {
	Enabled *bool `ddl:"keyword" sql:"ENABLED"`
	Comment *bool `ddl:"keyword" sql:"COMMENT"`
}

type ApiAuthenticationWithJwtBearerFlowIntegrationUnsetRequest added in v0.92.0

type ApiAuthenticationWithJwtBearerFlowIntegrationUnsetRequest struct {
	Enabled *bool
	Comment *bool
}

func NewApiAuthenticationWithJwtBearerFlowIntegrationUnsetRequest added in v0.92.0

func NewApiAuthenticationWithJwtBearerFlowIntegrationUnsetRequest() *ApiAuthenticationWithJwtBearerFlowIntegrationUnsetRequest

func (*ApiAuthenticationWithJwtBearerFlowIntegrationUnsetRequest) WithComment added in v0.92.0

func (*ApiAuthenticationWithJwtBearerFlowIntegrationUnsetRequest) WithEnabled added in v0.92.0

type ApiIntegration added in v0.85.0

type ApiIntegration struct {
	Name      string
	ApiType   string
	Category  string
	Enabled   bool
	Comment   string
	CreatedOn time.Time
}

func (*ApiIntegration) ID added in v0.85.0

type ApiIntegrationAwsApiProviderType added in v0.85.0

type ApiIntegrationAwsApiProviderType string
var (
	ApiIntegrationAwsApiGateway           ApiIntegrationAwsApiProviderType = "aws_api_gateway"
	ApiIntegrationAwsPrivateApiGateway    ApiIntegrationAwsApiProviderType = "aws_private_api_gateway"
	ApiIntegrationAwsGovApiGateway        ApiIntegrationAwsApiProviderType = "aws_gov_api_gateway"
	ApiIntegrationAwsGovPrivateApiGateway ApiIntegrationAwsApiProviderType = "aws_gov_private_api_gateway"
)

type ApiIntegrationEndpointPrefix added in v0.85.0

type ApiIntegrationEndpointPrefix struct {
	Path string `ddl:"keyword,single_quotes"`
}

type ApiIntegrationProperty added in v0.85.0

type ApiIntegrationProperty struct {
	Name    string
	Type    string
	Value   string
	Default string
}

type ApiIntegrationScope added in v0.97.0

type ApiIntegrationScope struct {
	Scope string `ddl:"keyword,single_quotes"`
}

type ApiIntegrationSet added in v0.85.0

type ApiIntegrationSet struct {
	AwsParams          *SetAwsApiParams               `ddl:"keyword"`
	AzureParams        *SetAzureApiParams             `ddl:"keyword"`
	GoogleParams       *SetGoogleApiParams            `ddl:"keyword"`
	Enabled            *bool                          `ddl:"parameter" sql:"ENABLED"`
	ApiAllowedPrefixes []ApiIntegrationEndpointPrefix `ddl:"parameter,parentheses" sql:"API_ALLOWED_PREFIXES"`
	ApiBlockedPrefixes []ApiIntegrationEndpointPrefix `ddl:"parameter,parentheses" sql:"API_BLOCKED_PREFIXES"`
	Comment            *string                        `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type ApiIntegrationSetRequest added in v0.85.0

type ApiIntegrationSetRequest struct {
	AwsParams          *SetAwsApiParamsRequest
	AzureParams        *SetAzureApiParamsRequest
	GoogleParams       *SetGoogleApiParamsRequest
	Enabled            *bool
	ApiAllowedPrefixes []ApiIntegrationEndpointPrefix
	ApiBlockedPrefixes []ApiIntegrationEndpointPrefix
	Comment            *string
}

func NewApiIntegrationSetRequest added in v0.85.0

func NewApiIntegrationSetRequest() *ApiIntegrationSetRequest

func (*ApiIntegrationSetRequest) WithApiAllowedPrefixes added in v0.85.0

func (s *ApiIntegrationSetRequest) WithApiAllowedPrefixes(ApiAllowedPrefixes []ApiIntegrationEndpointPrefix) *ApiIntegrationSetRequest

func (*ApiIntegrationSetRequest) WithApiBlockedPrefixes added in v0.85.0

func (s *ApiIntegrationSetRequest) WithApiBlockedPrefixes(ApiBlockedPrefixes []ApiIntegrationEndpointPrefix) *ApiIntegrationSetRequest

func (*ApiIntegrationSetRequest) WithAwsParams added in v0.85.0

func (*ApiIntegrationSetRequest) WithAzureParams added in v0.85.0

func (*ApiIntegrationSetRequest) WithComment added in v0.85.0

func (s *ApiIntegrationSetRequest) WithComment(Comment *string) *ApiIntegrationSetRequest

func (*ApiIntegrationSetRequest) WithEnabled added in v0.85.0

func (s *ApiIntegrationSetRequest) WithEnabled(Enabled *bool) *ApiIntegrationSetRequest

func (*ApiIntegrationSetRequest) WithGoogleParams added in v0.85.0

type ApiIntegrationUnset added in v0.85.0

type ApiIntegrationUnset struct {
	ApiKey             *bool `ddl:"keyword" sql:"API_KEY"`
	Enabled            *bool `ddl:"keyword" sql:"ENABLED"`
	ApiBlockedPrefixes *bool `ddl:"keyword" sql:"API_BLOCKED_PREFIXES"`
	Comment            *bool `ddl:"keyword" sql:"COMMENT"`
}

type ApiIntegrationUnsetRequest added in v0.85.0

type ApiIntegrationUnsetRequest struct {
	ApiKey             *bool
	Enabled            *bool
	ApiBlockedPrefixes *bool
	Comment            *bool
}

func NewApiIntegrationUnsetRequest added in v0.85.0

func NewApiIntegrationUnsetRequest() *ApiIntegrationUnsetRequest

func (*ApiIntegrationUnsetRequest) WithApiBlockedPrefixes added in v0.85.0

func (s *ApiIntegrationUnsetRequest) WithApiBlockedPrefixes(ApiBlockedPrefixes *bool) *ApiIntegrationUnsetRequest

func (*ApiIntegrationUnsetRequest) WithApiKey added in v0.85.0

func (*ApiIntegrationUnsetRequest) WithComment added in v0.85.0

func (*ApiIntegrationUnsetRequest) WithEnabled added in v0.85.0

type ApiIntegrations added in v0.85.0

type Application added in v0.85.0

type Application struct {
	CreatedOn     string
	Name          string
	IsDefault     bool
	IsCurrent     bool
	SourceType    string
	Source        string
	Owner         string
	Comment       string
	Version       string
	Label         string
	Patch         int
	Options       string
	RetentionTime int
}

func (*Application) ID added in v0.90.0

type ApplicationPackage added in v0.84.0

type ApplicationPackage struct {
	CreatedOn        string
	Name             string
	IsDefault        bool
	IsCurrent        bool
	Distribution     string
	Owner            string
	Comment          string
	RetentionTime    int
	Options          string
	DroppedOn        string
	ApplicationClass string
}

func (*ApplicationPackage) ID added in v0.90.0

type ApplicationPackageSet added in v0.84.0

type ApplicationPackageSet struct {
	DataRetentionTimeInDays    *int          `ddl:"parameter,no_quotes" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays *int          `ddl:"parameter,no_quotes" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	DefaultDdlCollation        *string       `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	Comment                    *string       `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Distribution               *Distribution `ddl:"parameter" sql:"DISTRIBUTION"`
}

type ApplicationPackageSetRequest added in v0.84.0

type ApplicationPackageSetRequest struct {
	DataRetentionTimeInDays    *int
	MaxDataExtensionTimeInDays *int
	DefaultDdlCollation        *string
	Comment                    *string
	Distribution               *Distribution
}

func NewApplicationPackageSetRequest added in v0.84.0

func NewApplicationPackageSetRequest() *ApplicationPackageSetRequest

func (*ApplicationPackageSetRequest) WithComment added in v0.84.0

func (*ApplicationPackageSetRequest) WithDataRetentionTimeInDays added in v0.84.0

func (s *ApplicationPackageSetRequest) WithDataRetentionTimeInDays(DataRetentionTimeInDays *int) *ApplicationPackageSetRequest

func (*ApplicationPackageSetRequest) WithDefaultDdlCollation added in v0.84.0

func (s *ApplicationPackageSetRequest) WithDefaultDdlCollation(DefaultDdlCollation *string) *ApplicationPackageSetRequest

func (*ApplicationPackageSetRequest) WithDistribution added in v0.84.0

func (s *ApplicationPackageSetRequest) WithDistribution(Distribution *Distribution) *ApplicationPackageSetRequest

func (*ApplicationPackageSetRequest) WithMaxDataExtensionTimeInDays added in v0.84.0

func (s *ApplicationPackageSetRequest) WithMaxDataExtensionTimeInDays(MaxDataExtensionTimeInDays *int) *ApplicationPackageSetRequest

type ApplicationPackageUnset added in v0.84.0

type ApplicationPackageUnset struct {
	DataRetentionTimeInDays    *bool `ddl:"keyword" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays *bool `ddl:"keyword" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	DefaultDdlCollation        *bool `ddl:"keyword" sql:"DEFAULT_DDL_COLLATION"`
	Comment                    *bool `ddl:"keyword" sql:"COMMENT"`
	Distribution               *bool `ddl:"keyword" sql:"DISTRIBUTION"`
}

type ApplicationPackageUnsetRequest added in v0.84.0

type ApplicationPackageUnsetRequest struct {
	DataRetentionTimeInDays    *bool
	MaxDataExtensionTimeInDays *bool
	DefaultDdlCollation        *bool
	Comment                    *bool
	Distribution               *bool
}

func NewApplicationPackageUnsetRequest added in v0.84.0

func NewApplicationPackageUnsetRequest() *ApplicationPackageUnsetRequest

func (*ApplicationPackageUnsetRequest) WithComment added in v0.84.0

func (*ApplicationPackageUnsetRequest) WithDataRetentionTimeInDays added in v0.84.0

func (s *ApplicationPackageUnsetRequest) WithDataRetentionTimeInDays(DataRetentionTimeInDays *bool) *ApplicationPackageUnsetRequest

func (*ApplicationPackageUnsetRequest) WithDefaultDdlCollation added in v0.84.0

func (s *ApplicationPackageUnsetRequest) WithDefaultDdlCollation(DefaultDdlCollation *bool) *ApplicationPackageUnsetRequest

func (*ApplicationPackageUnsetRequest) WithDistribution added in v0.84.0

func (s *ApplicationPackageUnsetRequest) WithDistribution(Distribution *bool) *ApplicationPackageUnsetRequest

func (*ApplicationPackageUnsetRequest) WithMaxDataExtensionTimeInDays added in v0.84.0

func (s *ApplicationPackageUnsetRequest) WithMaxDataExtensionTimeInDays(MaxDataExtensionTimeInDays *bool) *ApplicationPackageUnsetRequest

type ApplicationPackages added in v0.84.0

type ApplicationProperty added in v0.85.0

type ApplicationProperty struct {
	Property string
	Value    string
}

type ApplicationReference added in v0.85.0

type ApplicationReference struct {
	Reference string `ddl:"keyword,single_quotes"`
}

type ApplicationReferenceRequest added in v0.85.0

type ApplicationReferenceRequest struct {
	Reference string
}

func NewApplicationReferenceRequest added in v0.85.0

func NewApplicationReferenceRequest() *ApplicationReferenceRequest

func (*ApplicationReferenceRequest) WithReference added in v0.85.0

func (s *ApplicationReferenceRequest) WithReference(Reference string) *ApplicationReferenceRequest

type ApplicationReferences added in v0.85.0

type ApplicationReferences struct {
	References []ApplicationReference `ddl:"parameter,parentheses,no_equals"`
}

type ApplicationReferencesRequest added in v0.85.0

type ApplicationReferencesRequest struct {
	References []ApplicationReferenceRequest
}

func NewApplicationReferencesRequest added in v0.85.0

func NewApplicationReferencesRequest() *ApplicationReferencesRequest

func (*ApplicationReferencesRequest) WithReferences added in v0.85.0

type ApplicationRole added in v0.76.0

type ApplicationRole struct {
	CreatedOn     time.Time
	Name          string
	Owner         string
	Comment       string
	OwnerRoleType string
}

type ApplicationRoles added in v0.76.0

type ApplicationRoles interface {
	Grant(ctx context.Context, request *GrantApplicationRoleRequest) error
	Revoke(ctx context.Context, request *RevokeApplicationRoleRequest) error
	Show(ctx context.Context, request *ShowApplicationRoleRequest) ([]ApplicationRole, error)
	ShowByID(ctx context.Context, id DatabaseObjectIdentifier) (*ApplicationRole, error)
}

ApplicationRoles is an interface that allows for querying application roles. It does not allow for other DDL queries (CREATE, ALTER, DROP, ...) to be called, because they are not possible to be called from the program level. Application roles are a special case where they're only usable inside application context (e.g. setup.sql). Right now, they can be only manipulated from the program context by applying debug_mode parameter to the application, but it's a hacky solution and even with that you're limited with GRANT and REVOKE options. That's why we're only exposing SHOW operations, because only they are the only allowed operations to be called from the program context.

type ApplicationSet added in v0.85.0

type ApplicationSet struct {
	Comment                 *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	ShareEventsWithProvider *bool   `ddl:"parameter" sql:"SHARE_EVENTS_WITH_PROVIDER"`
	DebugMode               *bool   `ddl:"parameter" sql:"DEBUG_MODE"`
}

type ApplicationSetRequest added in v0.85.0

type ApplicationSetRequest struct {
	Comment                 *string
	ShareEventsWithProvider *bool
	DebugMode               *bool
}

func NewApplicationSetRequest added in v0.85.0

func NewApplicationSetRequest() *ApplicationSetRequest

func (*ApplicationSetRequest) WithComment added in v0.85.0

func (s *ApplicationSetRequest) WithComment(Comment *string) *ApplicationSetRequest

func (*ApplicationSetRequest) WithDebugMode added in v0.85.0

func (s *ApplicationSetRequest) WithDebugMode(DebugMode *bool) *ApplicationSetRequest

func (*ApplicationSetRequest) WithShareEventsWithProvider added in v0.85.0

func (s *ApplicationSetRequest) WithShareEventsWithProvider(ShareEventsWithProvider *bool) *ApplicationSetRequest

type ApplicationUnset added in v0.85.0

type ApplicationUnset struct {
	Comment                 *bool `ddl:"keyword" sql:"COMMENT"`
	ShareEventsWithProvider *bool `ddl:"keyword" sql:"SHARE_EVENTS_WITH_PROVIDER"`
	DebugMode               *bool `ddl:"keyword" sql:"DEBUG_MODE"`
}

type ApplicationUnsetRequest added in v0.85.0

type ApplicationUnsetRequest struct {
	Comment                 *bool
	ShareEventsWithProvider *bool
	DebugMode               *bool
}

func NewApplicationUnsetRequest added in v0.85.0

func NewApplicationUnsetRequest() *ApplicationUnsetRequest

func (*ApplicationUnsetRequest) WithComment added in v0.85.0

func (s *ApplicationUnsetRequest) WithComment(Comment *bool) *ApplicationUnsetRequest

func (*ApplicationUnsetRequest) WithDebugMode added in v0.85.0

func (s *ApplicationUnsetRequest) WithDebugMode(DebugMode *bool) *ApplicationUnsetRequest

func (*ApplicationUnsetRequest) WithShareEventsWithProvider added in v0.85.0

func (s *ApplicationUnsetRequest) WithShareEventsWithProvider(ShareEventsWithProvider *bool) *ApplicationUnsetRequest

type ApplicationVersion added in v0.85.0

type ApplicationVersion struct {
	VersionDirectory *string          `ddl:"keyword,single_quotes"`
	VersionAndPatch  *VersionAndPatch `ddl:"keyword,no_quotes"`
}

type ApplicationVersionRequest added in v0.85.0

type ApplicationVersionRequest struct {
	VersionDirectory *string
	VersionAndPatch  *VersionAndPatchRequest
}

func NewApplicationVersionRequest added in v0.85.0

func NewApplicationVersionRequest() *ApplicationVersionRequest

func (*ApplicationVersionRequest) WithVersionAndPatch added in v0.85.0

func (s *ApplicationVersionRequest) WithVersionAndPatch(VersionAndPatch *VersionAndPatchRequest) *ApplicationVersionRequest

func (*ApplicationVersionRequest) WithVersionDirectory added in v0.85.0

func (s *ApplicationVersionRequest) WithVersionDirectory(VersionDirectory *string) *ApplicationVersionRequest

type Applications added in v0.85.0

type Attributes added in v0.93.0

type Attributes struct {
	Columns []string `ddl:"list,no_parentheses,no_equals"`
	// contains filtered or unexported fields
}

type AttributesRequest added in v0.93.0

type AttributesRequest struct {
	Columns []string
}

func NewAttributesRequest added in v0.93.0

func NewAttributesRequest() *AttributesRequest

func (*AttributesRequest) WithColumns added in v0.93.0

func (s *AttributesRequest) WithColumns(Columns []string) *AttributesRequest

type AudienceList added in v0.92.0

type AudienceList struct {
	AudienceList []AudienceListItem `ddl:"list,must_parentheses"`
}

type AudienceListItem added in v0.92.0

type AudienceListItem struct {
	Item string `ddl:"keyword,single_quotes"`
}

type AudienceListRequest added in v0.92.0

type AudienceListRequest struct {
	AudienceList []AudienceListItem // required
}

func NewAudienceListRequest added in v0.92.0

func NewAudienceListRequest(
	AudienceList []AudienceListItem,
) *AudienceListRequest

type AuthenticationMethods added in v0.96.0

type AuthenticationMethods struct {
	Method AuthenticationMethodsOption `ddl:"keyword,single_quotes"`
}

type AuthenticationMethodsOption added in v0.96.0

type AuthenticationMethodsOption string
const (
	AuthenticationMethodsAll      AuthenticationMethodsOption = "ALL"
	AuthenticationMethodsSaml     AuthenticationMethodsOption = "SAML"
	AuthenticationMethodsPassword AuthenticationMethodsOption = "PASSWORD"
	AuthenticationMethodsOauth    AuthenticationMethodsOption = "OAUTH"
	AuthenticationMethodsKeyPair  AuthenticationMethodsOption = "KEYPAIR"
)

type AuthenticationPolicy added in v0.96.0

type AuthenticationPolicy struct {
	CreatedOn     string
	Name          string
	Comment       string
	DatabaseName  string
	SchemaName    string
	Owner         string
	OwnerRoleType string
	Options       string
}

func (*AuthenticationPolicy) ID added in v0.96.0

type AuthenticationPolicyDescription added in v0.96.0

type AuthenticationPolicyDescription struct {
	Property    string
	Value       string
	Default     string
	Description string
}

type AuthenticationPolicySet added in v0.96.0

type AuthenticationPolicySet struct {
	AuthenticationMethods    []AuthenticationMethods      `ddl:"parameter,parentheses" sql:"AUTHENTICATION_METHODS"`
	MfaAuthenticationMethods []MfaAuthenticationMethods   `ddl:"parameter,parentheses" sql:"MFA_AUTHENTICATION_METHODS"`
	MfaEnrollment            *MfaEnrollmentOption         `ddl:"parameter" sql:"MFA_ENROLLMENT"`
	ClientTypes              []ClientTypes                `ddl:"parameter,parentheses" sql:"CLIENT_TYPES"`
	SecurityIntegrations     []SecurityIntegrationsOption `ddl:"parameter,parentheses" sql:"SECURITY_INTEGRATIONS"`
	Comment                  *string                      `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type AuthenticationPolicySetRequest added in v0.96.0

type AuthenticationPolicySetRequest struct {
	AuthenticationMethods    []AuthenticationMethods
	MfaAuthenticationMethods []MfaAuthenticationMethods
	MfaEnrollment            *MfaEnrollmentOption
	ClientTypes              []ClientTypes
	SecurityIntegrations     []SecurityIntegrationsOption
	Comment                  *string
}

func NewAuthenticationPolicySetRequest added in v0.96.0

func NewAuthenticationPolicySetRequest() *AuthenticationPolicySetRequest

func (*AuthenticationPolicySetRequest) WithAuthenticationMethods added in v0.96.0

func (s *AuthenticationPolicySetRequest) WithAuthenticationMethods(AuthenticationMethods []AuthenticationMethods) *AuthenticationPolicySetRequest

func (*AuthenticationPolicySetRequest) WithClientTypes added in v0.96.0

func (*AuthenticationPolicySetRequest) WithComment added in v0.96.0

func (*AuthenticationPolicySetRequest) WithMfaAuthenticationMethods added in v0.96.0

func (s *AuthenticationPolicySetRequest) WithMfaAuthenticationMethods(MfaAuthenticationMethods []MfaAuthenticationMethods) *AuthenticationPolicySetRequest

func (*AuthenticationPolicySetRequest) WithMfaEnrollment added in v0.96.0

func (*AuthenticationPolicySetRequest) WithSecurityIntegrations added in v0.96.0

func (s *AuthenticationPolicySetRequest) WithSecurityIntegrations(SecurityIntegrations []SecurityIntegrationsOption) *AuthenticationPolicySetRequest

type AuthenticationPolicyUnset added in v0.96.0

type AuthenticationPolicyUnset struct {
	ClientTypes              *bool `ddl:"keyword" sql:"CLIENT_TYPES"`
	AuthenticationMethods    *bool `ddl:"keyword" sql:"AUTHENTICATION_METHODS"`
	SecurityIntegrations     *bool `ddl:"keyword" sql:"SECURITY_INTEGRATIONS"`
	MfaAuthenticationMethods *bool `ddl:"keyword" sql:"MFA_AUTHENTICATION_METHODS"`
	MfaEnrollment            *bool `ddl:"keyword" sql:"MFA_ENROLLMENT"`
	Comment                  *bool `ddl:"keyword" sql:"COMMENT"`
}

type AuthenticationPolicyUnsetRequest added in v0.96.0

type AuthenticationPolicyUnsetRequest struct {
	ClientTypes              *bool
	AuthenticationMethods    *bool
	SecurityIntegrations     *bool
	MfaAuthenticationMethods *bool
	MfaEnrollment            *bool
	Comment                  *bool
}

func NewAuthenticationPolicyUnsetRequest added in v0.96.0

func NewAuthenticationPolicyUnsetRequest() *AuthenticationPolicyUnsetRequest

func (*AuthenticationPolicyUnsetRequest) WithAuthenticationMethods added in v0.96.0

func (s *AuthenticationPolicyUnsetRequest) WithAuthenticationMethods(AuthenticationMethods bool) *AuthenticationPolicyUnsetRequest

func (*AuthenticationPolicyUnsetRequest) WithClientTypes added in v0.96.0

func (*AuthenticationPolicyUnsetRequest) WithComment added in v0.96.0

func (*AuthenticationPolicyUnsetRequest) WithMfaAuthenticationMethods added in v0.96.0

func (s *AuthenticationPolicyUnsetRequest) WithMfaAuthenticationMethods(MfaAuthenticationMethods bool) *AuthenticationPolicyUnsetRequest

func (*AuthenticationPolicyUnsetRequest) WithMfaEnrollment added in v0.96.0

func (s *AuthenticationPolicyUnsetRequest) WithMfaEnrollment(MfaEnrollment bool) *AuthenticationPolicyUnsetRequest

func (*AuthenticationPolicyUnsetRequest) WithSecurityIntegrations added in v0.96.0

func (s *AuthenticationPolicyUnsetRequest) WithSecurityIntegrations(SecurityIntegrations bool) *AuthenticationPolicyUnsetRequest

type AutomatedDataLoadsParams added in v0.85.0

type AutomatedDataLoadsParams struct {
	GoogleAutoParams *GoogleAutoParams `ddl:"keyword"`
	AzureAutoParams  *AzureAutoParams  `ddl:"keyword"`
	// contains filtered or unexported fields
}

type AutomatedDataLoadsParamsRequest added in v0.85.0

type AutomatedDataLoadsParamsRequest struct {
	GoogleAutoParams *GoogleAutoParamsRequest
	AzureAutoParams  *AzureAutoParamsRequest
}

func NewAutomatedDataLoadsParamsRequest added in v0.85.0

func NewAutomatedDataLoadsParamsRequest() *AutomatedDataLoadsParamsRequest

func (*AutomatedDataLoadsParamsRequest) WithAzureAutoParams added in v0.85.0

func (*AutomatedDataLoadsParamsRequest) WithGoogleAutoParams added in v0.85.0

type AvroCompression added in v0.68.0

type AvroCompression string
var (
	AvroCompressionAuto       AvroCompression = "AUTO"
	AvroCompressionGzip       AvroCompression = "GZIP"
	AvroCompressionBrotli     AvroCompression = "BROTLI"
	AvroCompressionZstd       AvroCompression = "ZSTD"
	AvroCompressionDeflate    AvroCompression = "DEFLATE"
	AvroCompressionRawDeflate AvroCompression = "RAW_DEFLATE"
	AvroCompressionNone       AvroCompression = "NONE"
)

type AwsApiParams added in v0.85.0

type AwsApiParams struct {
	ApiProvider   ApiIntegrationAwsApiProviderType `ddl:"parameter,no_quotes" sql:"API_PROVIDER"`
	ApiAwsRoleArn string                           `ddl:"parameter,single_quotes" sql:"API_AWS_ROLE_ARN"`
	ApiKey        *string                          `ddl:"parameter,single_quotes" sql:"API_KEY"`
}

type AwsApiParamsRequest added in v0.85.0

type AwsApiParamsRequest struct {
	ApiProvider   ApiIntegrationAwsApiProviderType // required
	ApiAwsRoleArn string                           // required
	ApiKey        *string
}

func NewAwsApiParamsRequest added in v0.85.0

func NewAwsApiParamsRequest(
	ApiProvider ApiIntegrationAwsApiProviderType,
	ApiAwsRoleArn string,
) *AwsApiParamsRequest

func (*AwsApiParamsRequest) WithApiKey added in v0.85.0

func (s *AwsApiParamsRequest) WithApiKey(ApiKey *string) *AwsApiParamsRequest

type AzureApiParams added in v0.85.0

type AzureApiParams struct {
	AzureTenantId        string  `ddl:"parameter,single_quotes" sql:"AZURE_TENANT_ID"`
	AzureAdApplicationId string  `ddl:"parameter,single_quotes" sql:"AZURE_AD_APPLICATION_ID"`
	ApiKey               *string `ddl:"parameter,single_quotes" sql:"API_KEY"`
	// contains filtered or unexported fields
}

type AzureApiParamsRequest added in v0.85.0

type AzureApiParamsRequest struct {
	AzureTenantId        string // required
	AzureAdApplicationId string // required
	ApiKey               *string
}

func NewAzureApiParamsRequest added in v0.85.0

func NewAzureApiParamsRequest(
	AzureTenantId string,
	AzureAdApplicationId string,
) *AzureApiParamsRequest

func (*AzureApiParamsRequest) WithApiKey added in v0.85.0

func (s *AzureApiParamsRequest) WithApiKey(ApiKey *string) *AzureApiParamsRequest

type AzureAutoParams added in v0.85.0

type AzureAutoParams struct {
	AzureStorageQueuePrimaryUri string `ddl:"parameter,single_quotes" sql:"AZURE_STORAGE_QUEUE_PRIMARY_URI"`
	AzureTenantId               string `ddl:"parameter,single_quotes" sql:"AZURE_TENANT_ID"`
	// contains filtered or unexported fields
}

type AzureAutoParamsRequest added in v0.85.0

type AzureAutoParamsRequest struct {
	AzureStorageQueuePrimaryUri string // required
	AzureTenantId               string // required
}

func NewAzureAutoParamsRequest added in v0.85.0

func NewAzureAutoParamsRequest(
	AzureStorageQueuePrimaryUri string,
	AzureTenantId string,
) *AzureAutoParamsRequest

type AzurePushParams added in v0.85.0

type AzurePushParams struct {
	AzureEventGridTopicEndpoint string `ddl:"parameter,single_quotes" sql:"AZURE_EVENT_GRID_TOPIC_ENDPOINT"`
	AzureTenantId               string `ddl:"parameter,single_quotes" sql:"AZURE_TENANT_ID"`
	// contains filtered or unexported fields
}

type AzurePushParamsRequest added in v0.85.0

type AzurePushParamsRequest struct {
	AzureEventGridTopicEndpoint string // required
	AzureTenantId               string // required
}

func NewAzurePushParamsRequest added in v0.85.0

func NewAzurePushParamsRequest(
	AzureEventGridTopicEndpoint string,
	AzureTenantId string,
) *AzurePushParamsRequest

type AzureStorageLocationParams added in v0.96.0

type AzureStorageLocationParams struct {
	Name                 string `ddl:"parameter,single_quotes" sql:"NAME"`
	StorageProviderAzure string `ddl:"static" sql:"STORAGE_PROVIDER = 'AZURE'"`
	AzureTenantId        string `ddl:"parameter,single_quotes" sql:"AZURE_TENANT_ID"`
	StorageBaseUrl       string `ddl:"parameter,single_quotes" sql:"STORAGE_BASE_URL"`
}

type AzureStorageLocationParamsRequest added in v0.96.0

type AzureStorageLocationParamsRequest struct {
	Name           string // required
	AzureTenantId  string // required
	StorageBaseUrl string // required
}

func NewAzureStorageLocationParamsRequest added in v0.96.0

func NewAzureStorageLocationParamsRequest(
	Name string,
	AzureTenantId string,
	StorageBaseUrl string,
) *AzureStorageLocationParamsRequest

type AzureStorageParams added in v0.84.0

type AzureStorageParams struct {
	AzureTenantId *string `ddl:"parameter,single_quotes" sql:"AZURE_TENANT_ID"`
	// contains filtered or unexported fields
}

type AzureStorageParamsRequest added in v0.84.0

type AzureStorageParamsRequest struct {
	AzureTenantId *string // required
}

func NewAzureStorageParamsRequest added in v0.84.0

func NewAzureStorageParamsRequest(
	AzureTenantId *string,
) *AzureStorageParamsRequest

type BinaryFormat added in v0.68.0

type BinaryFormat string
var (
	BinaryFormatHex    BinaryFormat = "HEX"
	BinaryFormatBase64 BinaryFormat = "BASE64"
	BinaryFormatUTF8   BinaryFormat = "UTF8"
)

type BinaryInputFormat added in v0.65.0

type BinaryInputFormat string
const (
	BinaryInputFormatHex    BinaryInputFormat = "HEX"
	BinaryInputFormatBase64 BinaryInputFormat = "BASE64"
	BinaryInputFormatUTF8   BinaryInputFormat = "UTF8"
)

func ToBinaryInputFormat added in v0.95.0

func ToBinaryInputFormat(s string) (BinaryInputFormat, error)

type BinaryOutputFormat added in v0.71.0

type BinaryOutputFormat string
const (
	BinaryOutputFormatHex    BinaryOutputFormat = "HEX"
	BinaryOutputFormatBase64 BinaryOutputFormat = "BASE64"
)

func ToBinaryOutputFormat added in v0.95.0

func ToBinaryOutputFormat(s string) (BinaryOutputFormat, error)

type BlockedIPList added in v0.90.0

type BlockedIPList struct {
	BlockedIPList []IP `ddl:"list,must_parentheses"`
}

type BlockedIPListRequest added in v0.90.0

type BlockedIPListRequest struct {
	BlockedIPList []IPRequest
}

func NewBlockedIPListRequest added in v0.90.0

func NewBlockedIPListRequest() *BlockedIPListRequest

func (*BlockedIPListRequest) WithBlockedIPList added in v0.90.0

func (s *BlockedIPListRequest) WithBlockedIPList(BlockedIPList []IPRequest) *BlockedIPListRequest

type BlockedNetworkRuleList added in v0.90.0

type BlockedNetworkRuleList struct {
	BlockedNetworkRuleList []SchemaObjectIdentifier `ddl:"list,must_parentheses"`
}

type BlockedNetworkRuleListRequest added in v0.90.0

type BlockedNetworkRuleListRequest struct {
	BlockedNetworkRuleList []SchemaObjectIdentifier
}

func NewBlockedNetworkRuleListRequest added in v0.90.0

func NewBlockedNetworkRuleListRequest() *BlockedNetworkRuleListRequest

func (*BlockedNetworkRuleListRequest) WithBlockedNetworkRuleList added in v0.90.0

func (s *BlockedNetworkRuleListRequest) WithBlockedNetworkRuleList(BlockedNetworkRuleList []SchemaObjectIdentifier) *BlockedNetworkRuleListRequest

type BlockedRolesList added in v0.92.0

type BlockedRolesList struct {
	BlockedRolesList []AccountObjectIdentifier `ddl:"list,must_parentheses"`
}

type BlockedRolesListRequest added in v0.92.0

type BlockedRolesListRequest struct {
	BlockedRolesList []AccountObjectIdentifier // required
}

func NewBlockedRolesListRequest added in v0.92.0

func NewBlockedRolesListRequest(
	BlockedRolesList []AccountObjectIdentifier,
) *BlockedRolesListRequest

type BoolProperty added in v0.70.0

type BoolProperty struct {
	Value        bool
	DefaultValue bool
	Description  string
}

type CSVCompression added in v0.68.0

type CSVCompression string
var (
	CSVCompressionAuto       CSVCompression = "AUTO"
	CSVCompressionGzip       CSVCompression = "GZIP"
	CSVCompressionBz2        CSVCompression = "BZ2"
	CSVCompressionBrotli     CSVCompression = "BROTLI"
	CSVCompressionZstd       CSVCompression = "ZSTD"
	CSVCompressionDeflate    CSVCompression = "DEFLATE"
	CSVCompressionRawDeflate CSVCompression = "RAW_DEFLATE"
	CSVCompressionNone       CSVCompression = "NONE"
)

type CSVEncoding added in v0.68.0

type CSVEncoding string
var (
	CSVEncodingBIG5        CSVEncoding = "BIG5"
	CSVEncodingEUCJP       CSVEncoding = "EUCJP"
	CSVEncodingEUCKR       CSVEncoding = "EUCKR"
	CSVEncodingGB18030     CSVEncoding = "GB18030"
	CSVEncodingIBM420      CSVEncoding = "IBM420"
	CSVEncodingIBM424      CSVEncoding = "IBM424"
	CSVEncodingISO2022CN   CSVEncoding = "ISO2022CN"
	CSVEncodingISO2022JP   CSVEncoding = "ISO2022JP"
	CSVEncodingISO2022KR   CSVEncoding = "ISO2022KR"
	CSVEncodingISO88591    CSVEncoding = "ISO88591"
	CSVEncodingISO88592    CSVEncoding = "ISO88592"
	CSVEncodingISO88595    CSVEncoding = "ISO88595"
	CSVEncodingISO88596    CSVEncoding = "ISO88596"
	CSVEncodingISO88597    CSVEncoding = "ISO88597"
	CSVEncodingISO88598    CSVEncoding = "ISO88598"
	CSVEncodingISO88599    CSVEncoding = "ISO88599"
	CSVEncodingISO885915   CSVEncoding = "ISO885915"
	CSVEncodingKOI8R       CSVEncoding = "KOI8R"
	CSVEncodingSHIFTJIS    CSVEncoding = "SHIFTJIS"
	CSVEncodingUTF8        CSVEncoding = "UTF8"
	CSVEncodingUTF16       CSVEncoding = "UTF16"
	CSVEncodingUTF16BE     CSVEncoding = "UTF16BE"
	CSVEncodingUTF16LE     CSVEncoding = "UTF16LE"
	CSVEncodingUTF32       CSVEncoding = "UTF32"
	CSVEncodingUTF32BE     CSVEncoding = "UTF32BE"
	CSVEncodingUTF32LE     CSVEncoding = "UTF32LE"
	CSVEncodingWINDOWS1250 CSVEncoding = "WINDOWS1250"
	CSVEncodingWINDOWS1251 CSVEncoding = "WINDOWS1251"
	CSVEncodingWINDOWS1252 CSVEncoding = "WINDOWS1252"
	CSVEncodingWINDOWS1253 CSVEncoding = "WINDOWS1253"
	CSVEncodingWINDOWS1254 CSVEncoding = "WINDOWS1254"
	CSVEncodingWINDOWS1255 CSVEncoding = "WINDOWS1255"
	CSVEncodingWINDOWS1256 CSVEncoding = "WINDOWS1256"
)

type CallProcedureOptions added in v0.85.0

type CallProcedureOptions struct {
	CallArguments     []string `ddl:"keyword,must_parentheses"`
	ScriptingVariable *string  `ddl:"parameter,no_quotes,no_equals" sql:"INTO"`
	// contains filtered or unexported fields
}

CallProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/call.

type CallProcedureRequest added in v0.85.0

type CallProcedureRequest struct {
	CallArguments     []string
	ScriptingVariable *string
	// contains filtered or unexported fields
}

func NewCallProcedureRequest added in v0.85.0

func NewCallProcedureRequest(
	name SchemaObjectIdentifier,
) *CallProcedureRequest

func (*CallProcedureRequest) WithCallArguments added in v0.85.0

func (s *CallProcedureRequest) WithCallArguments(CallArguments []string) *CallProcedureRequest

func (*CallProcedureRequest) WithScriptingVariable added in v0.85.0

func (s *CallProcedureRequest) WithScriptingVariable(ScriptingVariable string) *CallProcedureRequest

type Client

type Client struct {

	// System-Defined Functions
	ContextFunctions     ContextFunctions
	ConversionFunctions  ConversionFunctions
	SystemFunctions      SystemFunctions
	ReplicationFunctions ReplicationFunctions

	// DDL Commands
	Accounts                     Accounts
	Alerts                       Alerts
	ApiIntegrations              ApiIntegrations
	ApplicationPackages          ApplicationPackages
	ApplicationRoles             ApplicationRoles
	Applications                 Applications
	AuthenticationPolicies       AuthenticationPolicies
	Comments                     Comments
	CortexSearchServices         CortexSearchServices
	DatabaseRoles                DatabaseRoles
	Databases                    Databases
	DataMetricFunctionReferences DataMetricFunctionReferences
	DynamicTables                DynamicTables
	ExternalFunctions            ExternalFunctions
	ExternalVolumes              ExternalVolumes
	ExternalTables               ExternalTables
	EventTables                  EventTables
	FailoverGroups               FailoverGroups
	FileFormats                  FileFormats
	Functions                    Functions
	Grants                       Grants
	ManagedAccounts              ManagedAccounts
	MaskingPolicies              MaskingPolicies
	MaterializedViews            MaterializedViews
	NetworkPolicies              NetworkPolicies
	NetworkRules                 NetworkRules
	NotificationIntegrations     NotificationIntegrations
	Parameters                   Parameters
	PasswordPolicies             PasswordPolicies
	Pipes                        Pipes
	PolicyReferences             PolicyReferences
	Procedures                   Procedures
	ResourceMonitors             ResourceMonitors
	Roles                        Roles
	RowAccessPolicies            RowAccessPolicies
	Schemas                      Schemas
	Secrets                      Secrets
	SecurityIntegrations         SecurityIntegrations
	Sequences                    Sequences
	SessionPolicies              SessionPolicies
	Sessions                     Sessions
	Shares                       Shares
	Stages                       Stages
	StorageIntegrations          StorageIntegrations
	Streamlits                   Streamlits
	Streams                      Streams
	Tables                       Tables
	Tags                         Tags
	Tasks                        Tasks
	Users                        Users
	Views                        Views
	Warehouses                   Warehouses
	// contains filtered or unexported fields
}

func NewClient

func NewClient(cfg *gosnowflake.Config) (*Client, error)

func NewClientFromDB

func NewClientFromDB(db *sql.DB) *Client

func NewDefaultClient

func NewDefaultClient() (*Client, error)

func NewDryRunClient added in v0.76.0

func NewDryRunClient() *Client

func (*Client) Close

func (c *Client) Close() error

func (*Client) ExecForTests added in v0.74.0

func (c *Client) ExecForTests(ctx context.Context, sql string) (sql.Result, error)

ExecForTests is an exact copy of exec (that is unexported), that some integration tests/helpers were using TODO: remove after we have all usages covered by SDK (for now it means implementing stages, tables, and tags)

func (*Client) ExecUnsafe added in v0.77.0

func (c *Client) ExecUnsafe(ctx context.Context, sql string) (sql.Result, error)

func (*Client) GetAccountLocator added in v0.74.0

func (c *Client) GetAccountLocator() string

func (*Client) GetConfig added in v0.74.0

func (c *Client) GetConfig() *gosnowflake.Config

func (*Client) GetConn added in v0.74.0

func (c *Client) GetConn() *sqlx.DB

func (*Client) Ping

func (c *Client) Ping() error

func (*Client) QueryForTests added in v0.78.0

func (c *Client) QueryForTests(ctx context.Context, dest interface{}, sql string) error

QueryForTests is an exact copy of query (that is unexported), that some integration tests/helpers were using TODO: remove after introducing all resources using this

func (*Client) QueryOneForTests added in v0.76.0

func (c *Client) QueryOneForTests(ctx context.Context, dest interface{}, sql string) error

QueryOneForTests is an exact copy of queryOne (that is unexported), that some integration tests/helpers were using TODO: remove after introducing all resources using this

func (*Client) QueryUnsafe added in v0.77.0

func (c *Client) QueryUnsafe(ctx context.Context, sql string) ([]map[string]*any, error)

QueryUnsafe for now only supports single query. For more queries we will have to adjust the behavior. From the gosnowflake driver docs:

 (...) while using the multi-statement feature, pass a Context that specifies the number of statements in the string.
	When multiple queries are executed by a single call to QueryContext(), multiple result sets are returned. After you process the first result set, get the next result set (for the next SQL statement) by calling NextResultSet().

Therefore, only single resultSet is processed.

func (*Client) TraceLogs added in v0.76.0

func (c *Client) TraceLogs() []string

type ClientTimestampTypeMapping added in v0.94.0

type ClientTimestampTypeMapping string
const (
	ClientTimestampTypeMappingLtz ClientTimestampTypeMapping = "TIMESTAMP_LTZ"
	ClientTimestampTypeMappingNtz ClientTimestampTypeMapping = "TIMESTAMP_NTZ"
)

func ToClientTimestampTypeMapping added in v0.95.0

func ToClientTimestampTypeMapping(s string) (ClientTimestampTypeMapping, error)

type ClientTypes added in v0.96.0

type ClientTypes struct {
	ClientType ClientTypesOption `ddl:"keyword,single_quotes"`
}

type ClientTypesOption added in v0.96.0

type ClientTypesOption string
const (
	ClientTypesAll         ClientTypesOption = "ALL"
	ClientTypesSnowflakeUi ClientTypesOption = "SNOWFLAKE_UI"
	ClientTypesDrivers     ClientTypesOption = "DRIVERS"
	ClientTypesSnowSql     ClientTypesOption = "SNOWSQL"
)

type Clone added in v0.66.0

type Clone struct {
	SourceObject ObjectIdentifier `ddl:"identifier" sql:"CLONE"`
	At           *TimeTravel      `ddl:"list,parentheses,no_comma" sql:"AT"`
	Before       *TimeTravel      `ddl:"list,parentheses,no_comma" sql:"BEFORE"`
}

type CloneMoment added in v0.78.0

type CloneMoment string
const (
	CloneMomentAt     CloneMoment = "AT"
	CloneMomentBefore CloneMoment = "BEFORE"
)

type ClonePoint added in v0.78.0

type ClonePoint struct {
	Moment CloneMoment `ddl:"parameter,no_equals"`
	At     TimeTravel  `ddl:"list,parentheses,no_comma"`
}

type ClonePointRequest added in v0.78.0

type ClonePointRequest struct {
	Moment CloneMoment
	At     TimeTravelRequest
}

func NewClonePointRequest added in v0.78.0

func NewClonePointRequest() *ClonePointRequest

func (*ClonePointRequest) WithAt added in v0.78.0

func (*ClonePointRequest) WithMoment added in v0.78.0

func (s *ClonePointRequest) WithMoment(moment CloneMoment) *ClonePointRequest

type CloneStreamOptions added in v0.74.0

type CloneStreamOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	CopyGrants *bool `ddl:"keyword" sql:"COPY GRANTS"`
	// contains filtered or unexported fields
}

CloneStreamOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stream#variant-syntax.

type CloneStreamRequest added in v0.74.0

type CloneStreamRequest struct {
	OrReplace *bool

	CopyGrants *bool
	// contains filtered or unexported fields
}

func NewCloneStreamRequest added in v0.74.0

func NewCloneStreamRequest(
	name SchemaObjectIdentifier,
	sourceStream SchemaObjectIdentifier,
) *CloneStreamRequest

func (*CloneStreamRequest) WithCopyGrants added in v0.74.0

func (s *CloneStreamRequest) WithCopyGrants(CopyGrants bool) *CloneStreamRequest

func (*CloneStreamRequest) WithOrReplace added in v0.74.0

func (s *CloneStreamRequest) WithOrReplace(OrReplace bool) *CloneStreamRequest

type CloneTaskOptions added in v0.73.0

type CloneTaskOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	CopyGrants *bool `ddl:"keyword" sql:"COPY GRANTS"`
	// contains filtered or unexported fields
}

CloneTaskOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-task#create-task-clone.

type CloneTaskRequest added in v0.73.0

type CloneTaskRequest struct {
	OrReplace *bool

	CopyGrants *bool
	// contains filtered or unexported fields
}

func NewCloneTaskRequest added in v0.73.0

func NewCloneTaskRequest(
	name SchemaObjectIdentifier,
	sourceTask SchemaObjectIdentifier,
) *CloneTaskRequest

func (*CloneTaskRequest) WithCopyGrants added in v0.73.0

func (s *CloneTaskRequest) WithCopyGrants(CopyGrants bool) *CloneTaskRequest

func (*CloneTaskRequest) WithOrReplace added in v0.73.0

func (s *CloneTaskRequest) WithOrReplace(OrReplace bool) *CloneTaskRequest

type CloudProviderParams added in v0.72.0

type CloudProviderParams struct {
	// One of
	GoogleCloudStorageIntegration *string `ddl:"parameter,single_quotes" sql:"INTEGRATION"`
	MicrosoftAzureIntegration     *string `ddl:"parameter,single_quotes" sql:"INTEGRATION"`
}

type CloudProviderParamsRequest added in v0.72.0

type CloudProviderParamsRequest struct {
	// contains filtered or unexported fields
}

func NewCloudProviderParamsRequest added in v0.72.0

func NewCloudProviderParamsRequest() *CloudProviderParamsRequest

func (*CloudProviderParamsRequest) WithGoogleCloudStorageIntegration added in v0.72.0

func (s *CloudProviderParamsRequest) WithGoogleCloudStorageIntegration(googleCloudStorageIntegration string) *CloudProviderParamsRequest

func (*CloudProviderParamsRequest) WithMicrosoftAzureIntegration added in v0.72.0

func (s *CloudProviderParamsRequest) WithMicrosoftAzureIntegration(microsoftAzureIntegration string) *CloudProviderParamsRequest

type CloudType added in v0.65.0

type CloudType string
const (
	CloudTypeAWS   CloudType = "aws"
	CloudTypeAzure CloudType = "azure"
	CloudTypeGCP   CloudType = "gcp"
)

type Column added in v0.95.0

type Column struct {
	Value string `ddl:"keyword,double_quotes"`
}

type ColumnAddForeignKey added in v0.78.0

type ColumnAddForeignKey struct {
	TableName  string `ddl:"keyword" sql:"REFERENCES"`
	ColumnName string `ddl:"keyword,parentheses"`
}

type ColumnAddForeignKeyRequest added in v0.78.0

type ColumnAddForeignKeyRequest struct {
	TableName  string
	ColumnName string
}

func NewColumnAddForeignKeyRequest added in v0.78.0

func NewColumnAddForeignKeyRequest() *ColumnAddForeignKeyRequest

func (*ColumnAddForeignKeyRequest) WithColumnName added in v0.78.0

func (s *ColumnAddForeignKeyRequest) WithColumnName(columnName string) *ColumnAddForeignKeyRequest

func (*ColumnAddForeignKeyRequest) WithTableName added in v0.78.0

func (s *ColumnAddForeignKeyRequest) WithTableName(tableName string) *ColumnAddForeignKeyRequest

type ColumnConstraintType added in v0.72.0

type ColumnConstraintType string
const (
	ColumnConstraintTypeUnique     ColumnConstraintType = "UNIQUE"
	ColumnConstraintTypePrimaryKey ColumnConstraintType = "PRIMARY KEY"
	ColumnConstraintTypeForeignKey ColumnConstraintType = "FOREIGN KEY"
)

func ToColumnConstraintType added in v0.86.0

func ToColumnConstraintType(s string) (ColumnConstraintType, error)

type ColumnDefaultValue added in v0.78.0

type ColumnDefaultValue struct {
	// One of
	Expression *string         `ddl:"parameter,no_equals" sql:"DEFAULT"`
	Identity   *ColumnIdentity `ddl:"keyword" sql:"IDENTITY"`
}

type ColumnDefaultValueRequest added in v0.78.0

type ColumnDefaultValueRequest struct {
	// contains filtered or unexported fields
}

func NewColumnDefaultValueRequest added in v0.78.0

func NewColumnDefaultValueRequest() *ColumnDefaultValueRequest

func (*ColumnDefaultValueRequest) WithExpression added in v0.78.0

func (s *ColumnDefaultValueRequest) WithExpression(expression *string) *ColumnDefaultValueRequest

func (*ColumnDefaultValueRequest) WithIdentity added in v0.78.0

type ColumnIdentity added in v0.78.0

type ColumnIdentity struct {
	Start     int   `ddl:"parameter,no_quotes,no_equals" sql:"START"`
	Increment int   `ddl:"parameter,no_quotes,no_equals" sql:"INCREMENT"`
	Order     *bool `ddl:"keyword" sql:"ORDER"`
	Noorder   *bool `ddl:"keyword" sql:"NOORDER"`
}

type ColumnIdentityRequest added in v0.78.0

type ColumnIdentityRequest struct {
	Start     int // required
	Increment int // required
	Order     *bool
	Noorder   *bool
}

func NewColumnIdentityRequest added in v0.78.0

func NewColumnIdentityRequest(
	start int,
	increment int,
) *ColumnIdentityRequest

func (*ColumnIdentityRequest) WithNoorder added in v0.78.0

func (s *ColumnIdentityRequest) WithNoorder() *ColumnIdentityRequest

func (*ColumnIdentityRequest) WithOrder added in v0.78.0

type ColumnInlineConstraint added in v0.72.0

type ColumnInlineConstraint struct {
	Name       *string              `ddl:"parameter,no_equals" sql:"CONSTRAINT"`
	Type       ColumnConstraintType `ddl:"keyword"`
	ForeignKey *InlineForeignKey    `ddl:"keyword" sql:"FOREIGN KEY"`

	// optional
	Enforced           *bool `ddl:"keyword" sql:"ENFORCED"`
	NotEnforced        *bool `ddl:"keyword" sql:"NOT ENFORCED"`
	Deferrable         *bool `ddl:"keyword" sql:"DEFERRABLE"`
	NotDeferrable      *bool `ddl:"keyword" sql:"NOT DEFERRABLE"`
	InitiallyDeferred  *bool `ddl:"keyword" sql:"INITIALLY DEFERRED"`
	InitiallyImmediate *bool `ddl:"keyword" sql:"INITIALLY IMMEDIATE"`
	Enable             *bool `ddl:"keyword" sql:"ENABLE"`
	Disable            *bool `ddl:"keyword" sql:"DISABLE"`
	Validate           *bool `ddl:"keyword" sql:"VALIDATE"`
	NoValidate         *bool `ddl:"keyword" sql:"NOVALIDATE"`
	Rely               *bool `ddl:"keyword" sql:"RELY"`
	NoRely             *bool `ddl:"keyword" sql:"NORELY"`
}

ColumnInlineConstraint is based on https://docs.snowflake.com/en/sql-reference/sql/create-table-constraint#inline-unique-primary-foreign-key.

type ColumnInlineConstraintRequest added in v0.72.0

type ColumnInlineConstraintRequest struct {
	Name string // required
	// contains filtered or unexported fields
}

func NewColumnInlineConstraintRequest added in v0.72.0

func NewColumnInlineConstraintRequest(
	name string,
	type_ ColumnConstraintType,
) *ColumnInlineConstraintRequest

func (*ColumnInlineConstraintRequest) WithDeferrable added in v0.72.0

func (s *ColumnInlineConstraintRequest) WithDeferrable(deferrable *bool) *ColumnInlineConstraintRequest

func (*ColumnInlineConstraintRequest) WithDisable added in v0.72.0

func (*ColumnInlineConstraintRequest) WithEnable added in v0.72.0

func (*ColumnInlineConstraintRequest) WithEnforced added in v0.72.0

func (*ColumnInlineConstraintRequest) WithForeignKey added in v0.72.0

func (*ColumnInlineConstraintRequest) WithInitiallyDeferred added in v0.72.0

func (s *ColumnInlineConstraintRequest) WithInitiallyDeferred(initiallyDeferred *bool) *ColumnInlineConstraintRequest

func (*ColumnInlineConstraintRequest) WithInitiallyImmediate added in v0.72.0

func (s *ColumnInlineConstraintRequest) WithInitiallyImmediate(initiallyImmediate *bool) *ColumnInlineConstraintRequest

func (*ColumnInlineConstraintRequest) WithNoRely added in v0.72.0

func (*ColumnInlineConstraintRequest) WithNoValidate added in v0.72.0

func (s *ColumnInlineConstraintRequest) WithNoValidate(noValidate *bool) *ColumnInlineConstraintRequest

func (*ColumnInlineConstraintRequest) WithNotDeferrable added in v0.72.0

func (s *ColumnInlineConstraintRequest) WithNotDeferrable(notDeferrable *bool) *ColumnInlineConstraintRequest

func (*ColumnInlineConstraintRequest) WithNotEnforced added in v0.72.0

func (s *ColumnInlineConstraintRequest) WithNotEnforced(notEnforced *bool) *ColumnInlineConstraintRequest

func (*ColumnInlineConstraintRequest) WithRely added in v0.72.0

func (*ColumnInlineConstraintRequest) WithValidate added in v0.72.0

type ColumnMaskingPolicy added in v0.78.0

type ColumnMaskingPolicy struct {
	With *bool `ddl:"keyword" sql:"WITH"`

	Name  SchemaObjectIdentifier `ddl:"identifier"`
	Using []string               `ddl:"keyword,parentheses" sql:"USING"`
	// contains filtered or unexported fields
}

type ColumnMaskingPolicyRequest added in v0.78.0

type ColumnMaskingPolicyRequest struct {
	// contains filtered or unexported fields
}

func NewColumnMaskingPolicyRequest added in v0.78.0

func NewColumnMaskingPolicyRequest(
	name SchemaObjectIdentifier,
) *ColumnMaskingPolicyRequest

func (*ColumnMaskingPolicyRequest) WithUsing added in v0.78.0

func (*ColumnMaskingPolicyRequest) WithWith added in v0.78.0

type Comments added in v0.65.0

type Comments interface {
	Set(ctx context.Context, opts *SetCommentOptions) error
	SetColumn(ctx context.Context, opts *SetColumnCommentOptions) error
}

type ContextFunctions

type ContextFunctions interface {
	// Session functions.
	CurrentAccount(ctx context.Context) (string, error)
	CurrentOrganizationName(ctx context.Context) (string, error)
	CurrentAccountName(ctx context.Context) (string, error)
	CurrentRole(ctx context.Context) (AccountObjectIdentifier, error)
	CurrentSecondaryRoles(ctx context.Context) (*CurrentSecondaryRoles, error)
	CurrentRegion(ctx context.Context) (string, error)
	CurrentSession(ctx context.Context) (string, error)
	CurrentUser(ctx context.Context) (AccountObjectIdentifier, error)
	CurrentSessionDetails(ctx context.Context) (*CurrentSessionDetails, error)
	LastQueryId(ctx context.Context) (string, error)

	// Session Object functions.
	CurrentDatabase(ctx context.Context) (string, error)
	CurrentSchema(ctx context.Context) (string, error)
	CurrentWarehouse(ctx context.Context) (string, error)
	IsRoleInSession(ctx context.Context, role AccountObjectIdentifier) (bool, error)
}

TODO [SNOW-1042951]: add generic select

type ConversionFunctions added in v0.66.0

type ConversionFunctions interface {
	ToTimestampLTZ(ctx context.Context, t time.Time) (time.Time, error)
	ToTimestampNTZ(ctx context.Context, t time.Time) (time.Time, error)
}

type CortexSearchService added in v0.93.0

type CortexSearchService struct {
	CreatedOn    time.Time
	Name         string
	DatabaseName string
	SchemaName   string
	Comment      string
}

func (*CortexSearchService) ID added in v0.93.0

type CortexSearchServiceDetails added in v0.93.0

type CortexSearchServiceDetails struct {
	CreatedOn         string
	Name              string
	DatabaseName      string
	SchemaName        string
	TargetLag         string
	Warehouse         string
	SearchColumn      *string
	AttributeColumns  []string
	Columns           []string
	Definition        *string
	Comment           *string
	ServiceQueryUrl   string
	DataTimestamp     string
	SourceDataNumRows int
	IndexingState     string
	IndexingError     *string
}

type CortexSearchServiceSet added in v0.93.0

type CortexSearchServiceSet struct {
	TargetLag *string                  `ddl:"parameter,single_quotes" sql:"TARGET_LAG"`
	Warehouse *AccountObjectIdentifier `ddl:"identifier,equals" sql:"WAREHOUSE"`
	Comment   *string                  `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type CortexSearchServiceSetRequest added in v0.93.0

type CortexSearchServiceSetRequest struct {
	TargetLag *string
	Warehouse *AccountObjectIdentifier
	Comment   *string
}

func NewCortexSearchServiceSetRequest added in v0.93.0

func NewCortexSearchServiceSetRequest() *CortexSearchServiceSetRequest

func (*CortexSearchServiceSetRequest) WithComment added in v0.93.0

func (*CortexSearchServiceSetRequest) WithTargetLag added in v0.93.0

func (*CortexSearchServiceSetRequest) WithWarehouse added in v0.93.0

type CreateAccountOptions added in v0.66.0

type CreateAccountOptions struct {

	// Object properties
	AdminName          string         `ddl:"parameter,single_quotes" sql:"ADMIN_NAME"`
	AdminPassword      *string        `ddl:"parameter,single_quotes" sql:"ADMIN_PASSWORD"`
	AdminRSAPublicKey  *string        `ddl:"parameter,single_quotes" sql:"ADMIN_RSA_PUBLIC_KEY"`
	FirstName          *string        `ddl:"parameter,single_quotes" sql:"FIRST_NAME"`
	LastName           *string        `ddl:"parameter,single_quotes" sql:"LAST_NAME"`
	Email              string         `ddl:"parameter,single_quotes" sql:"EMAIL"`
	MustChangePassword *bool          `ddl:"parameter" sql:"MUST_CHANGE_PASSWORD"`
	Edition            AccountEdition `ddl:"parameter" sql:"EDITION"`
	RegionGroup        *string        `ddl:"parameter,single_quotes" sql:"REGION_GROUP"`
	Region             *string        `ddl:"parameter,single_quotes" sql:"REGION"`
	Comment            *string        `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateAccountOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-account.

type CreateAlertOptions added in v0.68.0

type CreateAlertOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	// optional
	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateAlertOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-alert.

type CreateAndCallForJavaProcedureOptions added in v0.85.0

type CreateAndCallForJavaProcedureOptions struct {
	Name AccountObjectIdentifier `ddl:"identifier"`

	Arguments []ProcedureArgument `ddl:"list,must_parentheses"`
	Returns   ProcedureReturns    `ddl:"keyword" sql:"RETURNS"`

	RuntimeVersion      string               `ddl:"parameter,single_quotes" sql:"RUNTIME_VERSION"`
	Packages            []ProcedurePackage   `ddl:"parameter,parentheses" sql:"PACKAGES"`
	Imports             []ProcedureImport    `ddl:"parameter,parentheses" sql:"IMPORTS"`
	Handler             string               `ddl:"parameter,single_quotes" sql:"HANDLER"`
	NullInputBehavior   *NullInputBehavior   `ddl:"keyword"`
	ProcedureDefinition *string              `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	WithClause          *ProcedureWithClause `ddl:"keyword"`

	ProcedureName     AccountObjectIdentifier `ddl:"identifier"`
	CallArguments     []string                `ddl:"keyword,must_parentheses"`
	ScriptingVariable *string                 `ddl:"parameter,no_quotes,no_equals" sql:"INTO"`
	// contains filtered or unexported fields
}

CreateAndCallForJavaProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/call-with#java-and-scala.

type CreateAndCallForJavaProcedureRequest added in v0.85.0

type CreateAndCallForJavaProcedureRequest struct {
	Name                AccountObjectIdentifier // required
	Arguments           []ProcedureArgumentRequest
	Returns             ProcedureReturnsRequest   // required
	RuntimeVersion      string                    // required
	Packages            []ProcedurePackageRequest // required
	Imports             []ProcedureImportRequest
	Handler             string // required
	NullInputBehavior   *NullInputBehavior
	ProcedureDefinition *string
	WithClause          *ProcedureWithClauseRequest
	ProcedureName       AccountObjectIdentifier // required
	CallArguments       []string
	ScriptingVariable   *string
}

func NewCreateAndCallForJavaProcedureRequest added in v0.85.0

func NewCreateAndCallForJavaProcedureRequest(
	Name AccountObjectIdentifier,
	Returns ProcedureReturnsRequest,
	RuntimeVersion string,
	Packages []ProcedurePackageRequest,
	Handler string,
	ProcedureName AccountObjectIdentifier,
) *CreateAndCallForJavaProcedureRequest

func (*CreateAndCallForJavaProcedureRequest) WithArguments added in v0.85.0

func (*CreateAndCallForJavaProcedureRequest) WithCallArguments added in v0.85.0

func (*CreateAndCallForJavaProcedureRequest) WithImports added in v0.85.0

func (*CreateAndCallForJavaProcedureRequest) WithNullInputBehavior added in v0.85.0

func (*CreateAndCallForJavaProcedureRequest) WithProcedureDefinition added in v0.85.0

func (s *CreateAndCallForJavaProcedureRequest) WithProcedureDefinition(ProcedureDefinition string) *CreateAndCallForJavaProcedureRequest

func (*CreateAndCallForJavaProcedureRequest) WithScriptingVariable added in v0.85.0

func (s *CreateAndCallForJavaProcedureRequest) WithScriptingVariable(ScriptingVariable string) *CreateAndCallForJavaProcedureRequest

func (*CreateAndCallForJavaProcedureRequest) WithWithClause added in v0.85.0

type CreateAndCallForJavaScriptProcedureOptions added in v0.85.0

type CreateAndCallForJavaScriptProcedureOptions struct {
	Name AccountObjectIdentifier `ddl:"identifier"`

	Arguments      []ProcedureArgument `ddl:"list,must_parentheses"`
	ResultDataType DataType            `ddl:"parameter,no_equals" sql:"RETURNS"`
	NotNull        *bool               `ddl:"keyword" sql:"NOT NULL"`

	NullInputBehavior   *NullInputBehavior    `ddl:"keyword"`
	ProcedureDefinition string                `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	WithClauses         []ProcedureWithClause `ddl:"keyword"`

	ProcedureName     AccountObjectIdentifier `ddl:"identifier"`
	CallArguments     []string                `ddl:"keyword,must_parentheses"`
	ScriptingVariable *string                 `ddl:"parameter,no_quotes,no_equals" sql:"INTO"`
	// contains filtered or unexported fields
}

CreateAndCallForJavaScriptProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/call-with#javascript.

type CreateAndCallForJavaScriptProcedureRequest added in v0.85.0

type CreateAndCallForJavaScriptProcedureRequest struct {
	Name                AccountObjectIdentifier // required
	Arguments           []ProcedureArgumentRequest
	ResultDataType      DataType // required
	NotNull             *bool
	NullInputBehavior   *NullInputBehavior
	ProcedureDefinition string // required
	WithClauses         []ProcedureWithClauseRequest
	ProcedureName       AccountObjectIdentifier // required
	CallArguments       []string
	ScriptingVariable   *string
}

func NewCreateAndCallForJavaScriptProcedureRequest added in v0.85.0

func NewCreateAndCallForJavaScriptProcedureRequest(
	Name AccountObjectIdentifier,
	ResultDataType DataType,
	ProcedureDefinition string,
	ProcedureName AccountObjectIdentifier,
) *CreateAndCallForJavaScriptProcedureRequest

func (*CreateAndCallForJavaScriptProcedureRequest) WithArguments added in v0.85.0

func (*CreateAndCallForJavaScriptProcedureRequest) WithCallArguments added in v0.85.0

func (*CreateAndCallForJavaScriptProcedureRequest) WithNotNull added in v0.85.0

func (*CreateAndCallForJavaScriptProcedureRequest) WithNullInputBehavior added in v0.85.0

func (*CreateAndCallForJavaScriptProcedureRequest) WithScriptingVariable added in v0.85.0

func (*CreateAndCallForJavaScriptProcedureRequest) WithWithClauses added in v0.85.0

type CreateAndCallForPythonProcedureOptions added in v0.85.0

type CreateAndCallForPythonProcedureOptions struct {
	Name AccountObjectIdentifier `ddl:"identifier"`

	Arguments []ProcedureArgument `ddl:"list,must_parentheses"`
	Returns   ProcedureReturns    `ddl:"keyword" sql:"RETURNS"`

	RuntimeVersion      string                `ddl:"parameter,single_quotes" sql:"RUNTIME_VERSION"`
	Packages            []ProcedurePackage    `ddl:"parameter,parentheses" sql:"PACKAGES"`
	Imports             []ProcedureImport     `ddl:"parameter,parentheses" sql:"IMPORTS"`
	Handler             string                `ddl:"parameter,single_quotes" sql:"HANDLER"`
	NullInputBehavior   *NullInputBehavior    `ddl:"keyword"`
	ProcedureDefinition *string               `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	WithClauses         []ProcedureWithClause `ddl:"keyword"`

	ProcedureName     AccountObjectIdentifier `ddl:"identifier"`
	CallArguments     []string                `ddl:"keyword,must_parentheses"`
	ScriptingVariable *string                 `ddl:"parameter,no_quotes,no_equals" sql:"INTO"`
	// contains filtered or unexported fields
}

CreateAndCallForPythonProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/call-with#python.

type CreateAndCallForPythonProcedureRequest added in v0.85.0

type CreateAndCallForPythonProcedureRequest struct {
	Name                AccountObjectIdentifier // required
	Arguments           []ProcedureArgumentRequest
	Returns             ProcedureReturnsRequest   // required
	RuntimeVersion      string                    // required
	Packages            []ProcedurePackageRequest // required
	Imports             []ProcedureImportRequest
	Handler             string // required
	NullInputBehavior   *NullInputBehavior
	ProcedureDefinition *string
	WithClauses         []ProcedureWithClauseRequest
	ProcedureName       AccountObjectIdentifier // required
	CallArguments       []string
	ScriptingVariable   *string
}

func NewCreateAndCallForPythonProcedureRequest added in v0.85.0

func NewCreateAndCallForPythonProcedureRequest(
	Name AccountObjectIdentifier,
	Returns ProcedureReturnsRequest,
	RuntimeVersion string,
	Packages []ProcedurePackageRequest,
	Handler string,
	ProcedureName AccountObjectIdentifier,
) *CreateAndCallForPythonProcedureRequest

func (*CreateAndCallForPythonProcedureRequest) WithArguments added in v0.85.0

func (*CreateAndCallForPythonProcedureRequest) WithCallArguments added in v0.85.0

func (*CreateAndCallForPythonProcedureRequest) WithImports added in v0.85.0

func (*CreateAndCallForPythonProcedureRequest) WithNullInputBehavior added in v0.85.0

func (*CreateAndCallForPythonProcedureRequest) WithProcedureDefinition added in v0.85.0

func (s *CreateAndCallForPythonProcedureRequest) WithProcedureDefinition(ProcedureDefinition string) *CreateAndCallForPythonProcedureRequest

func (*CreateAndCallForPythonProcedureRequest) WithScriptingVariable added in v0.85.0

func (s *CreateAndCallForPythonProcedureRequest) WithScriptingVariable(ScriptingVariable string) *CreateAndCallForPythonProcedureRequest

func (*CreateAndCallForPythonProcedureRequest) WithWithClauses added in v0.85.0

type CreateAndCallForSQLProcedureOptions added in v0.85.0

type CreateAndCallForSQLProcedureOptions struct {
	Name AccountObjectIdentifier `ddl:"identifier"`

	Arguments []ProcedureArgument `ddl:"list,must_parentheses"`
	Returns   ProcedureReturns    `ddl:"keyword" sql:"RETURNS"`

	NullInputBehavior   *NullInputBehavior    `ddl:"keyword"`
	ProcedureDefinition string                `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	WithClauses         []ProcedureWithClause `ddl:"keyword"`

	ProcedureName     AccountObjectIdentifier `ddl:"identifier"`
	CallArguments     []string                `ddl:"keyword,must_parentheses"`
	ScriptingVariable *string                 `ddl:"parameter,no_quotes,no_equals" sql:"INTO"`
	// contains filtered or unexported fields
}

CreateAndCallForSQLProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/call-with#snowflake-scripting.

type CreateAndCallForSQLProcedureRequest added in v0.85.0

type CreateAndCallForSQLProcedureRequest struct {
	Name                AccountObjectIdentifier // required
	Arguments           []ProcedureArgumentRequest
	Returns             ProcedureReturnsRequest // required
	NullInputBehavior   *NullInputBehavior
	ProcedureDefinition string // required
	WithClauses         []ProcedureWithClauseRequest
	ProcedureName       AccountObjectIdentifier // required
	CallArguments       []string
	ScriptingVariable   *string
}

func NewCreateAndCallForSQLProcedureRequest added in v0.85.0

func NewCreateAndCallForSQLProcedureRequest(
	Name AccountObjectIdentifier,
	Returns ProcedureReturnsRequest,
	ProcedureDefinition string,
	ProcedureName AccountObjectIdentifier,
) *CreateAndCallForSQLProcedureRequest

func (*CreateAndCallForSQLProcedureRequest) WithArguments added in v0.85.0

func (*CreateAndCallForSQLProcedureRequest) WithCallArguments added in v0.85.0

func (*CreateAndCallForSQLProcedureRequest) WithNullInputBehavior added in v0.85.0

func (*CreateAndCallForSQLProcedureRequest) WithScriptingVariable added in v0.85.0

func (s *CreateAndCallForSQLProcedureRequest) WithScriptingVariable(ScriptingVariable string) *CreateAndCallForSQLProcedureRequest

func (*CreateAndCallForSQLProcedureRequest) WithWithClauses added in v0.85.0

type CreateAndCallForScalaProcedureOptions added in v0.85.0

type CreateAndCallForScalaProcedureOptions struct {
	Name AccountObjectIdentifier `ddl:"identifier"`

	Arguments []ProcedureArgument `ddl:"list,must_parentheses"`
	Returns   ProcedureReturns    `ddl:"keyword" sql:"RETURNS"`

	RuntimeVersion      string                `ddl:"parameter,single_quotes" sql:"RUNTIME_VERSION"`
	Packages            []ProcedurePackage    `ddl:"parameter,parentheses" sql:"PACKAGES"`
	Imports             []ProcedureImport     `ddl:"parameter,parentheses" sql:"IMPORTS"`
	Handler             string                `ddl:"parameter,single_quotes" sql:"HANDLER"`
	NullInputBehavior   *NullInputBehavior    `ddl:"keyword"`
	ProcedureDefinition *string               `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	WithClauses         []ProcedureWithClause `ddl:"keyword"`

	ProcedureName     AccountObjectIdentifier `ddl:"identifier"`
	CallArguments     []string                `ddl:"keyword,must_parentheses"`
	ScriptingVariable *string                 `ddl:"parameter,no_quotes,no_equals" sql:"INTO"`
	// contains filtered or unexported fields
}

CreateAndCallForScalaProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/call-with#java-and-scala.

type CreateAndCallForScalaProcedureRequest added in v0.85.0

type CreateAndCallForScalaProcedureRequest struct {
	Name                AccountObjectIdentifier // required
	Arguments           []ProcedureArgumentRequest
	Returns             ProcedureReturnsRequest   // required
	RuntimeVersion      string                    // required
	Packages            []ProcedurePackageRequest // required
	Imports             []ProcedureImportRequest
	Handler             string // required
	NullInputBehavior   *NullInputBehavior
	ProcedureDefinition *string
	WithClauses         []ProcedureWithClauseRequest
	ProcedureName       AccountObjectIdentifier // required
	CallArguments       []string
	ScriptingVariable   *string
}

func NewCreateAndCallForScalaProcedureRequest added in v0.85.0

func NewCreateAndCallForScalaProcedureRequest(
	Name AccountObjectIdentifier,
	Returns ProcedureReturnsRequest,
	RuntimeVersion string,
	Packages []ProcedurePackageRequest,
	Handler string,
	ProcedureName AccountObjectIdentifier,
) *CreateAndCallForScalaProcedureRequest

func (*CreateAndCallForScalaProcedureRequest) WithArguments added in v0.85.0

func (*CreateAndCallForScalaProcedureRequest) WithCallArguments added in v0.85.0

func (*CreateAndCallForScalaProcedureRequest) WithImports added in v0.85.0

func (*CreateAndCallForScalaProcedureRequest) WithNullInputBehavior added in v0.85.0

func (*CreateAndCallForScalaProcedureRequest) WithProcedureDefinition added in v0.85.0

func (s *CreateAndCallForScalaProcedureRequest) WithProcedureDefinition(ProcedureDefinition string) *CreateAndCallForScalaProcedureRequest

func (*CreateAndCallForScalaProcedureRequest) WithScriptingVariable added in v0.85.0

func (s *CreateAndCallForScalaProcedureRequest) WithScriptingVariable(ScriptingVariable string) *CreateAndCallForScalaProcedureRequest

func (*CreateAndCallForScalaProcedureRequest) WithWithClauses added in v0.85.0

type CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationOptions added in v0.92.0

type CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Enabled                     bool                                                             `ddl:"parameter" sql:"ENABLED"`
	OauthAuthorizationEndpoint  *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_AUTHORIZATION_ENDPOINT"`
	OauthTokenEndpoint          *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_TOKEN_ENDPOINT"`
	OauthClientAuthMethod       *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption `ddl:"parameter" sql:"OAUTH_CLIENT_AUTH_METHOD"`
	OauthClientId               string                                                           `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_ID"`
	OauthClientSecret           string                                                           `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_SECRET"`
	OauthGrantAuthorizationCode *bool                                                            `ddl:"keyword" sql:"OAUTH_GRANT = AUTHORIZATION_CODE"`
	OauthAccessTokenValidity    *int                                                             `ddl:"parameter" sql:"OAUTH_ACCESS_TOKEN_VALIDITY"`
	OauthRefreshTokenValidity   *int                                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	OauthAllowedScopes          []AllowedScope                                                   `ddl:"parameter,parentheses" sql:"OAUTH_ALLOWED_SCOPES"`
	Comment                     *string                                                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-api-auth.

type CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest added in v0.92.0

type CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Enabled                     bool // required
	OauthAuthorizationEndpoint  *string
	OauthTokenEndpoint          *string
	OauthClientAuthMethod       *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption
	OauthClientId               string // required
	OauthClientSecret           string // required
	OauthGrantAuthorizationCode *bool
	OauthAccessTokenValidity    *int
	OauthRefreshTokenValidity   *int
	OauthAllowedScopes          []AllowedScope
	Comment                     *string
	// contains filtered or unexported fields
}

func NewCreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest added in v0.92.0

func NewCreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest(
	name AccountObjectIdentifier,
	Enabled bool,
	OauthClientId string,
	OauthClientSecret string,
) *CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithComment added in v0.92.0

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithIfNotExists added in v0.92.0

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithOauthAccessTokenValidity added in v0.92.0

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithOauthAllowedScopes added in v0.93.0

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithOauthAuthorizationEndpoint added in v0.92.0

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithOauthClientAuthMethod added in v0.92.0

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithOauthGrantAuthorizationCode added in v0.92.0

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithOauthTokenEndpoint added in v0.92.0

func (*CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) WithOrReplace added in v0.92.0

type CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationOptions added in v0.92.0

type CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Enabled                     bool                                                             `ddl:"parameter" sql:"ENABLED"`
	OauthTokenEndpoint          *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_TOKEN_ENDPOINT"`
	OauthClientAuthMethod       *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption `ddl:"parameter" sql:"OAUTH_CLIENT_AUTH_METHOD"`
	OauthClientId               string                                                           `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_ID"`
	OauthClientSecret           string                                                           `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_SECRET"`
	OauthGrantClientCredentials *bool                                                            `ddl:"keyword" sql:"OAUTH_GRANT = CLIENT_CREDENTIALS"`
	OauthAccessTokenValidity    *int                                                             `ddl:"parameter" sql:"OAUTH_ACCESS_TOKEN_VALIDITY"`
	OauthRefreshTokenValidity   *int                                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	OauthAllowedScopes          []AllowedScope                                                   `ddl:"parameter,parentheses" sql:"OAUTH_ALLOWED_SCOPES"`
	Comment                     *string                                                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-api-auth.

type CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest added in v0.92.0

type CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Enabled                     bool // required
	OauthTokenEndpoint          *string
	OauthClientAuthMethod       *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption
	OauthClientId               string // required
	OauthClientSecret           string // required
	OauthGrantClientCredentials *bool
	OauthAccessTokenValidity    *int
	OauthRefreshTokenValidity   *int
	OauthAllowedScopes          []AllowedScope
	Comment                     *string
	// contains filtered or unexported fields
}

func NewCreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest added in v0.92.0

func NewCreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest(
	name AccountObjectIdentifier,
	Enabled bool,
	OauthClientId string,
	OauthClientSecret string,
) *CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) GetName added in v0.97.0

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithComment added in v0.92.0

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithIfNotExists added in v0.92.0

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithOauthAccessTokenValidity added in v0.92.0

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithOauthAllowedScopes added in v0.92.0

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithOauthClientAuthMethod added in v0.92.0

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithOauthGrantClientCredentials added in v0.92.0

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithOauthTokenEndpoint added in v0.92.0

func (*CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) WithOrReplace added in v0.92.0

type CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationOptions added in v0.92.0

type CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Enabled                    bool                                                             `ddl:"parameter" sql:"ENABLED"`
	OauthAssertionIssuer       string                                                           `ddl:"parameter,single_quotes" sql:"OAUTH_ASSERTION_ISSUER"`
	OauthAuthorizationEndpoint *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_AUTHORIZATION_ENDPOINT"`
	OauthTokenEndpoint         *string                                                          `ddl:"parameter,single_quotes" sql:"OAUTH_TOKEN_ENDPOINT"`
	OauthClientAuthMethod      *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption `ddl:"parameter" sql:"OAUTH_CLIENT_AUTH_METHOD"`
	OauthClientId              string                                                           `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_ID"`
	OauthClientSecret          string                                                           `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_SECRET"`
	OauthGrantJwtBearer        *bool                                                            `ddl:"keyword" sql:"OAUTH_GRANT = JWT_BEARER"`
	OauthAccessTokenValidity   *int                                                             `ddl:"parameter" sql:"OAUTH_ACCESS_TOKEN_VALIDITY"`
	OauthRefreshTokenValidity  *int                                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	Comment                    *string                                                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-api-auth.

type CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest added in v0.92.0

type CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Enabled                    bool   // required
	OauthAssertionIssuer       string // required
	OauthAuthorizationEndpoint *string
	OauthTokenEndpoint         *string
	OauthClientAuthMethod      *ApiAuthenticationSecurityIntegrationOauthClientAuthMethodOption
	OauthClientId              string // required
	OauthClientSecret          string // required
	OauthGrantJwtBearer        *bool
	OauthAccessTokenValidity   *int
	OauthRefreshTokenValidity  *int
	Comment                    *string
	// contains filtered or unexported fields
}

func NewCreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest added in v0.92.0

func NewCreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest(
	name AccountObjectIdentifier,
	Enabled bool,
	OauthAssertionIssuer string,
	OauthClientId string,
	OauthClientSecret string,
) *CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest

func (*CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithComment added in v0.92.0

func (*CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithIfNotExists added in v0.92.0

func (*CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithOauthAccessTokenValidity added in v0.92.0

func (*CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithOauthAuthorizationEndpoint added in v0.92.0

func (*CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithOauthClientAuthMethod added in v0.92.0

func (*CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithOauthGrantJwtBearer added in v0.92.0

func (*CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (*CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithOauthTokenEndpoint added in v0.92.0

func (*CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) WithOrReplace added in v0.92.0

type CreateApiIntegrationOptions added in v0.85.0

type CreateApiIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	AwsApiProviderParams    *AwsApiParams                  `ddl:"keyword"`
	AzureApiProviderParams  *AzureApiParams                `ddl:"keyword"`
	GoogleApiProviderParams *GoogleApiParams               `ddl:"keyword"`
	ApiAllowedPrefixes      []ApiIntegrationEndpointPrefix `ddl:"parameter,parentheses" sql:"API_ALLOWED_PREFIXES"`
	ApiBlockedPrefixes      []ApiIntegrationEndpointPrefix `ddl:"parameter,parentheses" sql:"API_BLOCKED_PREFIXES"`
	Enabled                 bool                           `ddl:"parameter" sql:"ENABLED"`
	Comment                 *string                        `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateApiIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-api-integration.

type CreateApiIntegrationRequest added in v0.85.0

type CreateApiIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	AwsApiProviderParams    *AwsApiParamsRequest
	AzureApiProviderParams  *AzureApiParamsRequest
	GoogleApiProviderParams *GoogleApiParamsRequest
	ApiAllowedPrefixes      []ApiIntegrationEndpointPrefix // required
	ApiBlockedPrefixes      []ApiIntegrationEndpointPrefix
	Enabled                 bool // required
	Comment                 *string
	// contains filtered or unexported fields
}

func NewCreateApiIntegrationRequest added in v0.85.0

func NewCreateApiIntegrationRequest(
	name AccountObjectIdentifier,
	ApiAllowedPrefixes []ApiIntegrationEndpointPrefix,
	Enabled bool,
) *CreateApiIntegrationRequest

func (*CreateApiIntegrationRequest) GetName added in v0.85.0

func (*CreateApiIntegrationRequest) WithApiBlockedPrefixes added in v0.85.0

func (s *CreateApiIntegrationRequest) WithApiBlockedPrefixes(ApiBlockedPrefixes []ApiIntegrationEndpointPrefix) *CreateApiIntegrationRequest

func (*CreateApiIntegrationRequest) WithAwsApiProviderParams added in v0.85.0

func (s *CreateApiIntegrationRequest) WithAwsApiProviderParams(AwsApiProviderParams *AwsApiParamsRequest) *CreateApiIntegrationRequest

func (*CreateApiIntegrationRequest) WithAzureApiProviderParams added in v0.85.0

func (s *CreateApiIntegrationRequest) WithAzureApiProviderParams(AzureApiProviderParams *AzureApiParamsRequest) *CreateApiIntegrationRequest

func (*CreateApiIntegrationRequest) WithComment added in v0.85.0

func (*CreateApiIntegrationRequest) WithGoogleApiProviderParams added in v0.85.0

func (s *CreateApiIntegrationRequest) WithGoogleApiProviderParams(GoogleApiProviderParams *GoogleApiParamsRequest) *CreateApiIntegrationRequest

func (*CreateApiIntegrationRequest) WithIfNotExists added in v0.85.0

func (s *CreateApiIntegrationRequest) WithIfNotExists(IfNotExists *bool) *CreateApiIntegrationRequest

func (*CreateApiIntegrationRequest) WithOrReplace added in v0.85.0

func (s *CreateApiIntegrationRequest) WithOrReplace(OrReplace *bool) *CreateApiIntegrationRequest

type CreateApplicationOptions added in v0.85.0

type CreateApplicationOptions struct {
	PackageName AccountObjectIdentifier `ddl:"identifier"`
	Version     *ApplicationVersion     `ddl:"keyword" sql:"USING"`
	DebugMode   *bool                   `ddl:"parameter" sql:"DEBUG_MODE"`
	Comment     *string                 `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag         []TagAssociation        `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateApplicationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-application.

type CreateApplicationPackageOptions added in v0.84.0

type CreateApplicationPackageOptions struct {
	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	DataRetentionTimeInDays    *int             `ddl:"parameter,no_quotes" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays *int             `ddl:"parameter,no_quotes" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	DefaultDdlCollation        *string          `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	Comment                    *string          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Distribution               *Distribution    `ddl:"parameter" sql:"DISTRIBUTION"`
	Tag                        []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateApplicationPackageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-application-package.

type CreateApplicationPackageRequest added in v0.84.0

type CreateApplicationPackageRequest struct {
	IfNotExists *bool

	DataRetentionTimeInDays    *int
	MaxDataExtensionTimeInDays *int
	DefaultDdlCollation        *string
	Comment                    *string
	Distribution               *Distribution
	Tag                        []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateApplicationPackageRequest added in v0.84.0

func NewCreateApplicationPackageRequest(
	name AccountObjectIdentifier,
) *CreateApplicationPackageRequest

func (*CreateApplicationPackageRequest) WithComment added in v0.84.0

func (*CreateApplicationPackageRequest) WithDataRetentionTimeInDays added in v0.84.0

func (s *CreateApplicationPackageRequest) WithDataRetentionTimeInDays(DataRetentionTimeInDays *int) *CreateApplicationPackageRequest

func (*CreateApplicationPackageRequest) WithDefaultDdlCollation added in v0.84.0

func (s *CreateApplicationPackageRequest) WithDefaultDdlCollation(DefaultDdlCollation *string) *CreateApplicationPackageRequest

func (*CreateApplicationPackageRequest) WithDistribution added in v0.84.0

func (*CreateApplicationPackageRequest) WithIfNotExists added in v0.84.0

func (s *CreateApplicationPackageRequest) WithIfNotExists(IfNotExists *bool) *CreateApplicationPackageRequest

func (*CreateApplicationPackageRequest) WithMaxDataExtensionTimeInDays added in v0.84.0

func (s *CreateApplicationPackageRequest) WithMaxDataExtensionTimeInDays(MaxDataExtensionTimeInDays *int) *CreateApplicationPackageRequest

func (*CreateApplicationPackageRequest) WithTag added in v0.84.0

type CreateApplicationRequest added in v0.85.0

type CreateApplicationRequest struct {
	PackageName AccountObjectIdentifier // required
	Version     *ApplicationVersionRequest
	DebugMode   *bool
	Comment     *string
	Tag         []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateApplicationRequest added in v0.85.0

func NewCreateApplicationRequest(
	name AccountObjectIdentifier,
	PackageName AccountObjectIdentifier,
) *CreateApplicationRequest

func (*CreateApplicationRequest) WithComment added in v0.85.0

func (s *CreateApplicationRequest) WithComment(Comment *string) *CreateApplicationRequest

func (*CreateApplicationRequest) WithDebugMode added in v0.85.0

func (s *CreateApplicationRequest) WithDebugMode(DebugMode *bool) *CreateApplicationRequest

func (*CreateApplicationRequest) WithTag added in v0.85.0

func (*CreateApplicationRequest) WithVersion added in v0.85.0

type CreateAuthenticationPolicyOptions added in v0.96.0

type CreateAuthenticationPolicyOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	AuthenticationMethods    []AuthenticationMethods      `ddl:"parameter,parentheses" sql:"AUTHENTICATION_METHODS"`
	MfaAuthenticationMethods []MfaAuthenticationMethods   `ddl:"parameter,parentheses" sql:"MFA_AUTHENTICATION_METHODS"`
	MfaEnrollment            *MfaEnrollmentOption         `ddl:"parameter" sql:"MFA_ENROLLMENT"`
	ClientTypes              []ClientTypes                `ddl:"parameter,parentheses" sql:"CLIENT_TYPES"`
	SecurityIntegrations     []SecurityIntegrationsOption `ddl:"parameter,parentheses" sql:"SECURITY_INTEGRATIONS"`
	Comment                  *string                      `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateAuthenticationPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-authentication-policy.

type CreateAuthenticationPolicyRequest added in v0.96.0

type CreateAuthenticationPolicyRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	AuthenticationMethods    []AuthenticationMethods
	MfaAuthenticationMethods []MfaAuthenticationMethods
	MfaEnrollment            *MfaEnrollmentOption
	ClientTypes              []ClientTypes
	SecurityIntegrations     []SecurityIntegrationsOption
	Comment                  *string
	// contains filtered or unexported fields
}

func NewCreateAuthenticationPolicyRequest added in v0.96.0

func NewCreateAuthenticationPolicyRequest(
	name SchemaObjectIdentifier,
) *CreateAuthenticationPolicyRequest

func (*CreateAuthenticationPolicyRequest) WithAuthenticationMethods added in v0.96.0

func (s *CreateAuthenticationPolicyRequest) WithAuthenticationMethods(AuthenticationMethods []AuthenticationMethods) *CreateAuthenticationPolicyRequest

func (*CreateAuthenticationPolicyRequest) WithClientTypes added in v0.96.0

func (*CreateAuthenticationPolicyRequest) WithComment added in v0.96.0

func (*CreateAuthenticationPolicyRequest) WithIfNotExists added in v0.96.0

func (*CreateAuthenticationPolicyRequest) WithMfaAuthenticationMethods added in v0.96.0

func (s *CreateAuthenticationPolicyRequest) WithMfaAuthenticationMethods(MfaAuthenticationMethods []MfaAuthenticationMethods) *CreateAuthenticationPolicyRequest

func (*CreateAuthenticationPolicyRequest) WithMfaEnrollment added in v0.96.0

func (*CreateAuthenticationPolicyRequest) WithOrReplace added in v0.96.0

func (*CreateAuthenticationPolicyRequest) WithSecurityIntegrations added in v0.96.0

func (s *CreateAuthenticationPolicyRequest) WithSecurityIntegrations(SecurityIntegrations []SecurityIntegrationsOption) *CreateAuthenticationPolicyRequest

type CreateCortexSearchServiceOptions added in v0.93.0

type CreateCortexSearchServiceOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	On              string                  `ddl:"parameter,no_quotes,no_equals" sql:"ON"`
	Attributes      *Attributes             `ddl:"keyword"`
	Warehouse       AccountObjectIdentifier `ddl:"identifier,equals" sql:"WAREHOUSE"`
	TargetLag       string                  `ddl:"parameter,single_quotes" sql:"TARGET_LAG"`
	Comment         *string                 `ddl:"parameter,single_quotes" sql:"COMMENT"`
	QueryDefinition string                  `ddl:"parameter,no_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateCortexSearchServiceOptions is based on https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/create-cortex-search.

type CreateCortexSearchServiceRequest added in v0.93.0

type CreateCortexSearchServiceRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	On              string // required
	Attributes      *AttributesRequest
	Warehouse       AccountObjectIdentifier // required
	TargetLag       string                  // required
	Comment         *string
	QueryDefinition string // required
	// contains filtered or unexported fields
}

func NewCreateCortexSearchServiceRequest added in v0.93.0

func NewCreateCortexSearchServiceRequest(
	name SchemaObjectIdentifier,
	On string,
	Warehouse AccountObjectIdentifier,
	TargetLag string,
	QueryDefinition string,
) *CreateCortexSearchServiceRequest

func (*CreateCortexSearchServiceRequest) WithAttributes added in v0.93.0

func (*CreateCortexSearchServiceRequest) WithComment added in v0.93.0

func (*CreateCortexSearchServiceRequest) WithIfNotExists added in v0.93.0

func (*CreateCortexSearchServiceRequest) WithOrReplace added in v0.93.0

type CreateDatabaseOptions added in v0.66.0

type CreateDatabaseOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Transient *bool `ddl:"keyword" sql:"TRANSIENT"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Clone *Clone `ddl:"-"`

	// Parameters
	DataRetentionTimeInDays                 *int                        `ddl:"parameter" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays              *int                        `ddl:"parameter" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ExternalVolume                          *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"EXTERNAL_VOLUME"`
	Catalog                                 *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"CATALOG"`
	ReplaceInvalidCharacters                *bool                       `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	DefaultDDLCollation                     *string                     `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	StorageSerializationPolicy              *StorageSerializationPolicy `ddl:"parameter" sql:"STORAGE_SERIALIZATION_POLICY"`
	LogLevel                                *LogLevel                   `ddl:"parameter,single_quotes" sql:"LOG_LEVEL"`
	TraceLevel                              *TraceLevel                 `ddl:"parameter,single_quotes" sql:"TRACE_LEVEL"`
	SuspendTaskAfterNumFailures             *int                        `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TaskAutoRetryAttempts                   *int                        `ddl:"parameter" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskManagedInitialWarehouseSize     *WarehouseSize              `ddl:"parameter" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                       *int                        `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	UserTaskMinimumTriggerIntervalInSeconds *int                        `ddl:"parameter" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	QuotedIdentifiersIgnoreCase             *bool                       `ddl:"parameter" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	EnableConsoleOutput                     *bool                       `ddl:"parameter" sql:"ENABLE_CONSOLE_OUTPUT"`

	Comment *string          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag     []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateDatabaseOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-database.

type CreateDatabaseRoleRequest added in v0.70.0

type CreateDatabaseRoleRequest struct {
	// contains filtered or unexported fields
}

func NewCreateDatabaseRoleRequest added in v0.70.0

func NewCreateDatabaseRoleRequest(
	name DatabaseObjectIdentifier,
) *CreateDatabaseRoleRequest

func (*CreateDatabaseRoleRequest) WithComment added in v0.70.0

func (*CreateDatabaseRoleRequest) WithIfNotExists added in v0.70.0

func (s *CreateDatabaseRoleRequest) WithIfNotExists(ifNotExists bool) *CreateDatabaseRoleRequest

func (*CreateDatabaseRoleRequest) WithOrReplace added in v0.70.0

func (s *CreateDatabaseRoleRequest) WithOrReplace(orReplace bool) *CreateDatabaseRoleRequest

type CreateDeltaLakeExternalTableOptions added in v0.72.0

type CreateDeltaLakeExternalTableOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Columns             []ExternalTableColumn `ddl:"list,parentheses"`
	CloudProviderParams *CloudProviderParams
	PartitionBy         []string                  `ddl:"keyword,parentheses" sql:"PARTITION BY"`
	Location            string                    `ddl:"parameter" sql:"LOCATION"`
	RefreshOnCreate     *bool                     `ddl:"parameter" sql:"REFRESH_ON_CREATE"`
	AutoRefresh         *bool                     `ddl:"parameter" sql:"AUTO_REFRESH"`
	FileFormat          []ExternalTableFileFormat `ddl:"parameter,parentheses" sql:"FILE_FORMAT"`
	// RawFileFormat was introduced, because of the decision taken during https://github.com/Snowflake-Labs/terraform-provider-snowflake/pull/2228
	// that for now the snowflake_external_table resource should continue on using raw file format, which wasn't previously supported by the new SDK.
	// In the future it should most likely be replaced by a more structured version FileFormat
	RawFileFormat *RawFileFormat `ddl:"list,parentheses" sql:"FILE_FORMAT ="`

	CopyGrants      *bool                 `ddl:"keyword" sql:"COPY GRANTS"`
	Comment         *string               `ddl:"parameter,single_quotes" sql:"COMMENT"`
	RowAccessPolicy *TableRowAccessPolicy `ddl:"keyword"`
	Tag             []TagAssociation      `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateDeltaLakeExternalTableOptions based on https://docs.snowflake.com/en/sql-reference/sql/create-external-table

type CreateDeltaLakeExternalTableRequest added in v0.72.0

type CreateDeltaLakeExternalTableRequest struct {
	// contains filtered or unexported fields
}

func NewCreateDeltaLakeExternalTableRequest added in v0.72.0

func NewCreateDeltaLakeExternalTableRequest(
	name SchemaObjectIdentifier,
	location string,
) *CreateDeltaLakeExternalTableRequest

func (*CreateDeltaLakeExternalTableRequest) WithAutoRefresh added in v0.72.0

func (*CreateDeltaLakeExternalTableRequest) WithCloudProviderParams added in v0.72.0

func (*CreateDeltaLakeExternalTableRequest) WithColumns added in v0.72.0

func (*CreateDeltaLakeExternalTableRequest) WithComment added in v0.72.0

func (*CreateDeltaLakeExternalTableRequest) WithCopyGrants added in v0.72.0

func (*CreateDeltaLakeExternalTableRequest) WithFileFormat added in v0.80.0

func (*CreateDeltaLakeExternalTableRequest) WithIfNotExists added in v0.72.0

func (*CreateDeltaLakeExternalTableRequest) WithOrReplace added in v0.72.0

func (*CreateDeltaLakeExternalTableRequest) WithPartitionBy added in v0.72.0

func (*CreateDeltaLakeExternalTableRequest) WithRawFileFormat added in v0.80.0

func (*CreateDeltaLakeExternalTableRequest) WithRefreshOnCreate added in v0.72.0

func (s *CreateDeltaLakeExternalTableRequest) WithRefreshOnCreate(refreshOnCreate bool) *CreateDeltaLakeExternalTableRequest

func (*CreateDeltaLakeExternalTableRequest) WithRowAccessPolicy added in v0.72.0

func (*CreateDeltaLakeExternalTableRequest) WithTag added in v0.72.0

type CreateDynamicTableRequest added in v0.72.0

type CreateDynamicTableRequest struct {
	// contains filtered or unexported fields
}

func NewCreateDynamicTableRequest added in v0.72.0

func NewCreateDynamicTableRequest(
	name SchemaObjectIdentifier,
	warehouse AccountObjectIdentifier,
	targetLag TargetLag,
	query string,
) *CreateDynamicTableRequest

func (*CreateDynamicTableRequest) WithComment added in v0.72.0

func (*CreateDynamicTableRequest) WithInitialize added in v0.86.0

func (*CreateDynamicTableRequest) WithOrReplace added in v0.72.0

func (s *CreateDynamicTableRequest) WithOrReplace(orReplace bool) *CreateDynamicTableRequest

func (*CreateDynamicTableRequest) WithRefreshMode added in v0.86.0

type CreateEventTableOptions added in v0.78.0

type CreateEventTableOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	ClusterBy                  []string              `ddl:"keyword,parentheses" sql:"CLUSTER BY"`
	DataRetentionTimeInDays    *int                  `ddl:"parameter" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays *int                  `ddl:"parameter" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ChangeTracking             *bool                 `ddl:"parameter" sql:"CHANGE_TRACKING"`
	DefaultDdlCollation        *string               `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	CopyGrants                 *bool                 `ddl:"keyword" sql:"COPY GRANTS"`
	Comment                    *string               `ddl:"parameter,single_quotes" sql:"COMMENT"`
	RowAccessPolicy            *TableRowAccessPolicy `ddl:"keyword"`
	Tag                        []TagAssociation      `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateEventTableOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-event-table.

type CreateEventTableRequest added in v0.78.0

type CreateEventTableRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	ClusterBy                  []string
	DataRetentionTimeInDays    *int
	MaxDataExtensionTimeInDays *int
	ChangeTracking             *bool
	DefaultDdlCollation        *string
	CopyGrants                 *bool
	Comment                    *string
	RowAccessPolicy            *TableRowAccessPolicy
	Tag                        []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateEventTableRequest added in v0.78.0

func NewCreateEventTableRequest(
	name SchemaObjectIdentifier,
) *CreateEventTableRequest

func (*CreateEventTableRequest) WithChangeTracking added in v0.78.0

func (s *CreateEventTableRequest) WithChangeTracking(ChangeTracking *bool) *CreateEventTableRequest

func (*CreateEventTableRequest) WithClusterBy added in v0.78.0

func (s *CreateEventTableRequest) WithClusterBy(ClusterBy []string) *CreateEventTableRequest

func (*CreateEventTableRequest) WithComment added in v0.78.0

func (s *CreateEventTableRequest) WithComment(Comment *string) *CreateEventTableRequest

func (*CreateEventTableRequest) WithCopyGrants added in v0.78.0

func (s *CreateEventTableRequest) WithCopyGrants(CopyGrants *bool) *CreateEventTableRequest

func (*CreateEventTableRequest) WithDataRetentionTimeInDays added in v0.78.0

func (s *CreateEventTableRequest) WithDataRetentionTimeInDays(DataRetentionTimeInDays *int) *CreateEventTableRequest

func (*CreateEventTableRequest) WithDefaultDdlCollation added in v0.78.0

func (s *CreateEventTableRequest) WithDefaultDdlCollation(DefaultDdlCollation *string) *CreateEventTableRequest

func (*CreateEventTableRequest) WithIfNotExists added in v0.78.0

func (s *CreateEventTableRequest) WithIfNotExists(IfNotExists *bool) *CreateEventTableRequest

func (*CreateEventTableRequest) WithMaxDataExtensionTimeInDays added in v0.78.0

func (s *CreateEventTableRequest) WithMaxDataExtensionTimeInDays(MaxDataExtensionTimeInDays *int) *CreateEventTableRequest

func (*CreateEventTableRequest) WithOrReplace added in v0.78.0

func (s *CreateEventTableRequest) WithOrReplace(OrReplace *bool) *CreateEventTableRequest

func (*CreateEventTableRequest) WithRowAccessPolicy added in v0.78.0

func (s *CreateEventTableRequest) WithRowAccessPolicy(RowAccessPolicy *TableRowAccessPolicy) *CreateEventTableRequest

func (*CreateEventTableRequest) WithTag added in v0.78.0

type CreateExternalFunctionOptions added in v0.85.0

type CreateExternalFunctionOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	Arguments             []ExternalFunctionArgument      `ddl:"list,must_parentheses"`
	ResultDataType        DataType                        `ddl:"parameter,no_equals" sql:"RETURNS"`
	ReturnNullValues      *ReturnNullValues               `ddl:"keyword"`
	NullInputBehavior     *NullInputBehavior              `ddl:"keyword"`
	ReturnResultsBehavior *ReturnResultsBehavior          `ddl:"keyword"`
	Comment               *string                         `ddl:"parameter,single_quotes" sql:"COMMENT"`
	ApiIntegration        *AccountObjectIdentifier        `ddl:"identifier" sql:"API_INTEGRATION ="`
	Headers               []ExternalFunctionHeader        `ddl:"parameter,parentheses" sql:"HEADERS"`
	ContextHeaders        []ExternalFunctionContextHeader `ddl:"parameter,parentheses" sql:"CONTEXT_HEADERS"`
	MaxBatchRows          *int                            `ddl:"parameter" sql:"MAX_BATCH_ROWS"`
	Compression           *string                         `ddl:"parameter" sql:"COMPRESSION"`
	RequestTranslator     *SchemaObjectIdentifier         `ddl:"identifier" sql:"REQUEST_TRANSLATOR ="`
	ResponseTranslator    *SchemaObjectIdentifier         `ddl:"identifier" sql:"RESPONSE_TRANSLATOR ="`
	As                    string                          `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateExternalFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-external-function.

type CreateExternalFunctionRequest added in v0.85.0

type CreateExternalFunctionRequest struct {
	OrReplace *bool
	Secure    *bool

	Arguments             []ExternalFunctionArgumentRequest
	ResultDataType        DataType // required
	ReturnNullValues      *ReturnNullValues
	NullInputBehavior     *NullInputBehavior
	ReturnResultsBehavior *ReturnResultsBehavior
	Comment               *string
	ApiIntegration        *AccountObjectIdentifier // required
	Headers               []ExternalFunctionHeaderRequest
	ContextHeaders        []ExternalFunctionContextHeaderRequest
	MaxBatchRows          *int
	Compression           *string
	RequestTranslator     *SchemaObjectIdentifier
	ResponseTranslator    *SchemaObjectIdentifier
	As                    string // required
	// contains filtered or unexported fields
}

func NewCreateExternalFunctionRequest added in v0.85.0

func NewCreateExternalFunctionRequest(
	name SchemaObjectIdentifier,
	ResultDataType DataType,
	ApiIntegration *AccountObjectIdentifier,
	As string,
) *CreateExternalFunctionRequest

func (*CreateExternalFunctionRequest) WithArguments added in v0.85.0

func (*CreateExternalFunctionRequest) WithComment added in v0.85.0

func (*CreateExternalFunctionRequest) WithCompression added in v0.85.0

func (s *CreateExternalFunctionRequest) WithCompression(Compression string) *CreateExternalFunctionRequest

func (*CreateExternalFunctionRequest) WithContextHeaders added in v0.85.0

func (*CreateExternalFunctionRequest) WithHeaders added in v0.85.0

func (*CreateExternalFunctionRequest) WithMaxBatchRows added in v0.85.0

func (s *CreateExternalFunctionRequest) WithMaxBatchRows(MaxBatchRows int) *CreateExternalFunctionRequest

func (*CreateExternalFunctionRequest) WithNullInputBehavior added in v0.85.0

func (s *CreateExternalFunctionRequest) WithNullInputBehavior(NullInputBehavior NullInputBehavior) *CreateExternalFunctionRequest

func (*CreateExternalFunctionRequest) WithOrReplace added in v0.85.0

func (*CreateExternalFunctionRequest) WithRequestTranslator added in v0.85.0

func (s *CreateExternalFunctionRequest) WithRequestTranslator(RequestTranslator SchemaObjectIdentifier) *CreateExternalFunctionRequest

func (*CreateExternalFunctionRequest) WithResponseTranslator added in v0.85.0

func (s *CreateExternalFunctionRequest) WithResponseTranslator(ResponseTranslator SchemaObjectIdentifier) *CreateExternalFunctionRequest

func (*CreateExternalFunctionRequest) WithReturnNullValues added in v0.85.0

func (s *CreateExternalFunctionRequest) WithReturnNullValues(ReturnNullValues ReturnNullValues) *CreateExternalFunctionRequest

func (*CreateExternalFunctionRequest) WithReturnResultsBehavior added in v0.85.0

func (s *CreateExternalFunctionRequest) WithReturnResultsBehavior(ReturnResultsBehavior ReturnResultsBehavior) *CreateExternalFunctionRequest

func (*CreateExternalFunctionRequest) WithSecure added in v0.85.0

type CreateExternalOauthSecurityIntegrationOptions added in v0.92.0

type CreateExternalOauthSecurityIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Enabled                                    bool                                                                `ddl:"parameter" sql:"ENABLED"`
	ExternalOauthType                          ExternalOauthSecurityIntegrationTypeOption                          `ddl:"parameter" sql:"EXTERNAL_OAUTH_TYPE"`
	ExternalOauthIssuer                        string                                                              `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_ISSUER"`
	ExternalOauthTokenUserMappingClaim         []TokenUserMappingClaim                                             `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM"`
	ExternalOauthSnowflakeUserMappingAttribute ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE"`
	ExternalOauthJwsKeysUrl                    []JwsKeysUrl                                                        `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_JWS_KEYS_URL"`
	ExternalOauthBlockedRolesList              *BlockedRolesList                                                   `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_BLOCKED_ROLES_LIST"`
	ExternalOauthAllowedRolesList              *AllowedRolesList                                                   `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_ALLOWED_ROLES_LIST"`
	ExternalOauthRsaPublicKey                  *string                                                             `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_RSA_PUBLIC_KEY"`
	ExternalOauthRsaPublicKey2                 *string                                                             `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_RSA_PUBLIC_KEY_2"`
	ExternalOauthAudienceList                  *AudienceList                                                       `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_AUDIENCE_LIST"`
	ExternalOauthAnyRoleMode                   *ExternalOauthSecurityIntegrationAnyRoleModeOption                  `ddl:"parameter" sql:"EXTERNAL_OAUTH_ANY_ROLE_MODE"`
	ExternalOauthScopeDelimiter                *string                                                             `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_SCOPE_DELIMITER"`
	ExternalOauthScopeMappingAttribute         *string                                                             `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_SCOPE_MAPPING_ATTRIBUTE"`
	Comment                                    *string                                                             `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateExternalOauthSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-external.

type CreateExternalOauthSecurityIntegrationRequest added in v0.92.0

type CreateExternalOauthSecurityIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Enabled                                    bool                                                                // required
	ExternalOauthType                          ExternalOauthSecurityIntegrationTypeOption                          // required
	ExternalOauthIssuer                        string                                                              // required
	ExternalOauthTokenUserMappingClaim         []TokenUserMappingClaim                                             // required
	ExternalOauthSnowflakeUserMappingAttribute ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption // required
	ExternalOauthJwsKeysUrl                    []JwsKeysUrl
	ExternalOauthBlockedRolesList              *BlockedRolesListRequest
	ExternalOauthAllowedRolesList              *AllowedRolesListRequest
	ExternalOauthRsaPublicKey                  *string
	ExternalOauthRsaPublicKey2                 *string
	ExternalOauthAudienceList                  *AudienceListRequest
	ExternalOauthAnyRoleMode                   *ExternalOauthSecurityIntegrationAnyRoleModeOption
	ExternalOauthScopeDelimiter                *string
	ExternalOauthScopeMappingAttribute         *string
	Comment                                    *string
	// contains filtered or unexported fields
}

func NewCreateExternalOauthSecurityIntegrationRequest added in v0.92.0

func NewCreateExternalOauthSecurityIntegrationRequest(
	name AccountObjectIdentifier,
	Enabled bool,
	ExternalOauthType ExternalOauthSecurityIntegrationTypeOption,
	ExternalOauthIssuer string,
	ExternalOauthTokenUserMappingClaim []TokenUserMappingClaim,
	ExternalOauthSnowflakeUserMappingAttribute ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption,
) *CreateExternalOauthSecurityIntegrationRequest

func (*CreateExternalOauthSecurityIntegrationRequest) WithComment added in v0.92.0

func (*CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthAllowedRolesList added in v0.92.0

func (s *CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthAllowedRolesList(ExternalOauthAllowedRolesList AllowedRolesListRequest) *CreateExternalOauthSecurityIntegrationRequest

func (*CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthAnyRoleMode added in v0.92.0

func (*CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthAudienceList added in v0.92.0

func (*CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthBlockedRolesList added in v0.92.0

func (s *CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthBlockedRolesList(ExternalOauthBlockedRolesList BlockedRolesListRequest) *CreateExternalOauthSecurityIntegrationRequest

func (*CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthJwsKeysUrl added in v0.92.0

func (s *CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthJwsKeysUrl(ExternalOauthJwsKeysUrl []JwsKeysUrl) *CreateExternalOauthSecurityIntegrationRequest

func (*CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthRsaPublicKey added in v0.92.0

func (s *CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthRsaPublicKey(ExternalOauthRsaPublicKey string) *CreateExternalOauthSecurityIntegrationRequest

func (*CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthRsaPublicKey2 added in v0.92.0

func (s *CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthRsaPublicKey2(ExternalOauthRsaPublicKey2 string) *CreateExternalOauthSecurityIntegrationRequest

func (*CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthScopeDelimiter added in v0.92.0

func (s *CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthScopeDelimiter(ExternalOauthScopeDelimiter string) *CreateExternalOauthSecurityIntegrationRequest

func (*CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthScopeMappingAttribute added in v0.92.0

func (s *CreateExternalOauthSecurityIntegrationRequest) WithExternalOauthScopeMappingAttribute(ExternalOauthScopeMappingAttribute string) *CreateExternalOauthSecurityIntegrationRequest

func (*CreateExternalOauthSecurityIntegrationRequest) WithIfNotExists added in v0.92.0

func (*CreateExternalOauthSecurityIntegrationRequest) WithOrReplace added in v0.92.0

type CreateExternalTableOptions added in v0.72.0

type CreateExternalTableOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Columns             []ExternalTableColumn `ddl:"list,parentheses"`
	CloudProviderParams *CloudProviderParams
	PartitionBy         []string                  `ddl:"keyword,parentheses" sql:"PARTITION BY"`
	Location            string                    `ddl:"parameter" sql:"LOCATION"`
	RefreshOnCreate     *bool                     `ddl:"parameter" sql:"REFRESH_ON_CREATE"`
	AutoRefresh         *bool                     `ddl:"parameter" sql:"AUTO_REFRESH"`
	Pattern             *string                   `ddl:"parameter,single_quotes" sql:"PATTERN"`
	FileFormat          []ExternalTableFileFormat `ddl:"parameter,parentheses" sql:"FILE_FORMAT"`
	// RawFileFormat was introduced, because of the decision taken during https://github.com/Snowflake-Labs/terraform-provider-snowflake/pull/2228
	// that for now the snowflake_external_table resource should continue on using raw file format, which wasn't previously supported by the new SDK.
	// In the future it should most likely be replaced by a more structured version FileFormat
	RawFileFormat   *RawFileFormat        `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	AwsSnsTopic     *string               `ddl:"parameter,single_quotes" sql:"AWS_SNS_TOPIC"`
	CopyGrants      *bool                 `ddl:"keyword" sql:"COPY GRANTS"`
	Comment         *string               `ddl:"parameter,single_quotes" sql:"COMMENT"`
	RowAccessPolicy *TableRowAccessPolicy `ddl:"keyword"`
	Tag             []TagAssociation      `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateExternalTableOptions based on https://docs.snowflake.com/en/sql-reference/sql/create-external-table

type CreateExternalTableRequest added in v0.72.0

type CreateExternalTableRequest struct {
	// contains filtered or unexported fields
}

func NewCreateExternalTableRequest added in v0.72.0

func NewCreateExternalTableRequest(
	name SchemaObjectIdentifier,
	location string,
) *CreateExternalTableRequest

func (*CreateExternalTableRequest) GetColumns added in v0.74.0

func (*CreateExternalTableRequest) GetName added in v0.97.0

func (*CreateExternalTableRequest) WithAutoRefresh added in v0.72.0

func (s *CreateExternalTableRequest) WithAutoRefresh(autoRefresh bool) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithAwsSnsTopic added in v0.72.0

func (s *CreateExternalTableRequest) WithAwsSnsTopic(awsSnsTopic string) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithCloudProviderParams added in v0.72.0

func (s *CreateExternalTableRequest) WithCloudProviderParams(cloudProviderParams CloudProviderParamsRequest) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithColumns added in v0.72.0

func (*CreateExternalTableRequest) WithComment added in v0.72.0

func (*CreateExternalTableRequest) WithCopyGrants added in v0.72.0

func (s *CreateExternalTableRequest) WithCopyGrants(copyGrants bool) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithFileFormat added in v0.80.0

func (*CreateExternalTableRequest) WithIfNotExists added in v0.72.0

func (s *CreateExternalTableRequest) WithIfNotExists(ifNotExists bool) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithOrReplace added in v0.72.0

func (s *CreateExternalTableRequest) WithOrReplace(orReplace bool) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithPartitionBy added in v0.72.0

func (s *CreateExternalTableRequest) WithPartitionBy(partitionBy []string) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithPattern added in v0.72.0

func (*CreateExternalTableRequest) WithRawFileFormat added in v0.80.0

func (s *CreateExternalTableRequest) WithRawFileFormat(rawFileFormat string) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithRefreshOnCreate added in v0.72.0

func (s *CreateExternalTableRequest) WithRefreshOnCreate(refreshOnCreate bool) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithRowAccessPolicy added in v0.72.0

func (s *CreateExternalTableRequest) WithRowAccessPolicy(rowAccessPolicy RowAccessPolicyRequest) *CreateExternalTableRequest

func (*CreateExternalTableRequest) WithTag added in v0.72.0

type CreateExternalTableUsingTemplateOptions added in v0.72.0

type CreateExternalTableUsingTemplateOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	CopyGrants          *bool    `ddl:"keyword" sql:"COPY GRANTS"`
	Query               []string `ddl:"parameter,no_equals,parentheses" sql:"USING TEMPLATE"`
	CloudProviderParams *CloudProviderParams
	PartitionBy         []string                  `ddl:"keyword,parentheses" sql:"PARTITION BY"`
	Location            string                    `ddl:"parameter" sql:"LOCATION"`
	RefreshOnCreate     *bool                     `ddl:"parameter" sql:"REFRESH_ON_CREATE"`
	AutoRefresh         *bool                     `ddl:"parameter" sql:"AUTO_REFRESH"`
	Pattern             *string                   `ddl:"parameter,single_quotes" sql:"PATTERN"`
	FileFormat          []ExternalTableFileFormat `ddl:"parameter,parentheses" sql:"FILE_FORMAT"`
	// RawFileFormat was introduced, because of the decision taken during https://github.com/Snowflake-Labs/terraform-provider-snowflake/pull/2228
	// that for now the snowflake_external_table resource should continue on using raw file format, which wasn't previously supported by the new SDK.
	// In the future it should most likely be replaced by a more structured version FileFormat
	RawFileFormat   *RawFileFormat        `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	AwsSnsTopic     *string               `ddl:"parameter,single_quotes" sql:"AWS_SNS_TOPIC"`
	Comment         *string               `ddl:"parameter,single_quotes" sql:"COMMENT"`
	RowAccessPolicy *TableRowAccessPolicy `ddl:"keyword"`
	Tag             []TagAssociation      `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateExternalTableUsingTemplateOptions based on https://docs.snowflake.com/en/sql-reference/sql/create-external-table#variant-syntax

type CreateExternalTableUsingTemplateRequest added in v0.72.0

type CreateExternalTableUsingTemplateRequest struct {
	// contains filtered or unexported fields
}

func NewCreateExternalTableUsingTemplateRequest added in v0.72.0

func NewCreateExternalTableUsingTemplateRequest(
	name SchemaObjectIdentifier,
	location string,
) *CreateExternalTableUsingTemplateRequest

func (*CreateExternalTableUsingTemplateRequest) WithAutoRefresh added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithAwsSnsTopic added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithCloudProviderParams added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithComment added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithCopyGrants added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithFileFormat added in v0.80.0

func (*CreateExternalTableUsingTemplateRequest) WithOrReplace added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithPartitionBy added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithPattern added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithQuery added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithRawFileFormat added in v0.80.0

func (*CreateExternalTableUsingTemplateRequest) WithRefreshOnCreate added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithRowAccessPolicy added in v0.72.0

func (*CreateExternalTableUsingTemplateRequest) WithTag added in v0.72.0

type CreateExternalVolumeOptions added in v0.96.0

type CreateExternalVolumeOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	StorageLocations []ExternalVolumeStorageLocation `ddl:"parameter,parentheses" sql:"STORAGE_LOCATIONS"`
	AllowWrites      *bool                           `ddl:"parameter" sql:"ALLOW_WRITES"`
	Comment          *string                         `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateExternalVolumeOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-external-volume.

type CreateExternalVolumeRequest added in v0.96.0

type CreateExternalVolumeRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	StorageLocations []ExternalVolumeStorageLocation // required
	AllowWrites      *bool
	Comment          *string
	// contains filtered or unexported fields
}

func NewCreateExternalVolumeRequest added in v0.96.0

func NewCreateExternalVolumeRequest(
	name AccountObjectIdentifier,
	StorageLocations []ExternalVolumeStorageLocation,
) *CreateExternalVolumeRequest

func (*CreateExternalVolumeRequest) WithAllowWrites added in v0.96.0

func (s *CreateExternalVolumeRequest) WithAllowWrites(AllowWrites bool) *CreateExternalVolumeRequest

func (*CreateExternalVolumeRequest) WithComment added in v0.96.0

func (*CreateExternalVolumeRequest) WithIfNotExists added in v0.96.0

func (s *CreateExternalVolumeRequest) WithIfNotExists(IfNotExists bool) *CreateExternalVolumeRequest

func (*CreateExternalVolumeRequest) WithOrReplace added in v0.96.0

func (s *CreateExternalVolumeRequest) WithOrReplace(OrReplace bool) *CreateExternalVolumeRequest

type CreateFailoverGroupOptions added in v0.66.0

type CreateFailoverGroupOptions struct {
	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	AllowedDatabases        []AccountObjectIdentifier `ddl:"parameter" sql:"ALLOWED_DATABASES"`
	AllowedShares           []AccountObjectIdentifier `ddl:"parameter" sql:"ALLOWED_SHARES"`
	AllowedIntegrationTypes []IntegrationType         `ddl:"parameter" sql:"ALLOWED_INTEGRATION_TYPES"`

	IgnoreEditionCheck  *bool   `ddl:"keyword" sql:"IGNORE EDITION CHECK"`
	ReplicationSchedule *string `ddl:"parameter,single_quotes" sql:"REPLICATION_SCHEDULE"`
	// contains filtered or unexported fields
}

CreateFailoverGroupOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-failover-group.

type CreateFileFormatOptions added in v0.68.0

type CreateFileFormatOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Type FileFormatType `ddl:"parameter" sql:"TYPE"`
	FileFormatTypeOptions
	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateFileFormatOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-file-format.

type CreateForJavaFunctionOptions added in v0.82.0

type CreateForJavaFunctionOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Arguments        []FunctionArgument `ddl:"list,must_parentheses"`
	CopyGrants       *bool              `ddl:"keyword" sql:"COPY GRANTS"`
	Returns          FunctionReturns    `ddl:"keyword" sql:"RETURNS"`
	ReturnNullValues *ReturnNullValues  `ddl:"keyword"`

	NullInputBehavior          *NullInputBehavior        `ddl:"keyword"`
	ReturnResultsBehavior      *ReturnResultsBehavior    `ddl:"keyword"`
	RuntimeVersion             *string                   `ddl:"parameter,single_quotes" sql:"RUNTIME_VERSION"`
	Comment                    *string                   `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Imports                    []FunctionImport          `ddl:"parameter,parentheses" sql:"IMPORTS"`
	Packages                   []FunctionPackage         `ddl:"parameter,parentheses" sql:"PACKAGES"`
	Handler                    string                    `ddl:"parameter,single_quotes" sql:"HANDLER"`
	ExternalAccessIntegrations []AccountObjectIdentifier `ddl:"parameter,parentheses" sql:"EXTERNAL_ACCESS_INTEGRATIONS"`
	Secrets                    []SecretReference         `ddl:"parameter,parentheses" sql:"SECRETS"`
	TargetPath                 *string                   `ddl:"parameter,single_quotes" sql:"TARGET_PATH"`
	FunctionDefinition         *string                   `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForJavaFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-function#java-handler.

type CreateForJavaFunctionRequest added in v0.82.0

type CreateForJavaFunctionRequest struct {
	OrReplace   *bool
	Temporary   *bool
	Secure      *bool
	IfNotExists *bool

	Arguments                  []FunctionArgumentRequest
	CopyGrants                 *bool
	Returns                    FunctionReturnsRequest // required
	ReturnNullValues           *ReturnNullValues
	NullInputBehavior          *NullInputBehavior
	ReturnResultsBehavior      *ReturnResultsBehavior
	RuntimeVersion             *string
	Comment                    *string
	Imports                    []FunctionImportRequest
	Packages                   []FunctionPackageRequest
	Handler                    string // required
	ExternalAccessIntegrations []AccountObjectIdentifier
	Secrets                    []SecretReference
	TargetPath                 *string
	FunctionDefinition         *string
	// contains filtered or unexported fields
}

func NewCreateForJavaFunctionRequest added in v0.82.0

func NewCreateForJavaFunctionRequest(
	name SchemaObjectIdentifier,
	Returns FunctionReturnsRequest,
	Handler string,
) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithArguments added in v0.82.0

func (*CreateForJavaFunctionRequest) WithComment added in v0.82.0

func (*CreateForJavaFunctionRequest) WithCopyGrants added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithCopyGrants(CopyGrants bool) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithExternalAccessIntegrations added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithExternalAccessIntegrations(ExternalAccessIntegrations []AccountObjectIdentifier) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithFunctionDefinition added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithFunctionDefinition(FunctionDefinition string) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithIfNotExists added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithIfNotExists(IfNotExists bool) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithImports added in v0.82.0

func (*CreateForJavaFunctionRequest) WithNullInputBehavior added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithNullInputBehavior(NullInputBehavior NullInputBehavior) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithOrReplace added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithOrReplace(OrReplace bool) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithPackages added in v0.82.0

func (*CreateForJavaFunctionRequest) WithReturnNullValues added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithReturnNullValues(ReturnNullValues ReturnNullValues) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithReturnResultsBehavior added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithReturnResultsBehavior(ReturnResultsBehavior ReturnResultsBehavior) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithRuntimeVersion added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithRuntimeVersion(RuntimeVersion string) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithSecrets added in v0.82.0

func (*CreateForJavaFunctionRequest) WithSecure added in v0.82.0

func (*CreateForJavaFunctionRequest) WithTargetPath added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithTargetPath(TargetPath string) *CreateForJavaFunctionRequest

func (*CreateForJavaFunctionRequest) WithTemporary added in v0.82.0

func (s *CreateForJavaFunctionRequest) WithTemporary(Temporary bool) *CreateForJavaFunctionRequest

type CreateForJavaProcedureOptions added in v0.79.0

type CreateForJavaProcedureOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	Arguments  []ProcedureArgument `ddl:"list,must_parentheses"`
	CopyGrants *bool               `ddl:"keyword" sql:"COPY GRANTS"`
	Returns    ProcedureReturns    `ddl:"keyword" sql:"RETURNS"`

	RuntimeVersion             string                    `ddl:"parameter,single_quotes" sql:"RUNTIME_VERSION"`
	Packages                   []ProcedurePackage        `ddl:"parameter,parentheses" sql:"PACKAGES"`
	Imports                    []ProcedureImport         `ddl:"parameter,parentheses" sql:"IMPORTS"`
	Handler                    string                    `ddl:"parameter,single_quotes" sql:"HANDLER"`
	ExternalAccessIntegrations []AccountObjectIdentifier `ddl:"parameter,parentheses" sql:"EXTERNAL_ACCESS_INTEGRATIONS"`
	Secrets                    []SecretReference         `ddl:"parameter,parentheses" sql:"SECRETS"`
	TargetPath                 *string                   `ddl:"parameter,single_quotes" sql:"TARGET_PATH"`
	NullInputBehavior          *NullInputBehavior        `ddl:"keyword"`
	Comment                    *string                   `ddl:"parameter,single_quotes" sql:"COMMENT"`
	ExecuteAs                  *ExecuteAs                `ddl:"keyword"`
	ProcedureDefinition        *string                   `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForJavaProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-procedure#java-handler.

type CreateForJavaProcedureRequest added in v0.79.0

type CreateForJavaProcedureRequest struct {
	OrReplace *bool
	Secure    *bool

	Arguments                  []ProcedureArgumentRequest
	CopyGrants                 *bool
	Returns                    ProcedureReturnsRequest   // required
	RuntimeVersion             string                    // required
	Packages                   []ProcedurePackageRequest // required
	Imports                    []ProcedureImportRequest
	Handler                    string // required
	ExternalAccessIntegrations []AccountObjectIdentifier
	Secrets                    []SecretReference
	TargetPath                 *string
	NullInputBehavior          *NullInputBehavior
	Comment                    *string
	ExecuteAs                  *ExecuteAs
	ProcedureDefinition        *string
	// contains filtered or unexported fields
}

func NewCreateForJavaProcedureRequest added in v0.79.0

func NewCreateForJavaProcedureRequest(
	name SchemaObjectIdentifier,
	Returns ProcedureReturnsRequest,
	RuntimeVersion string,
	Packages []ProcedurePackageRequest,
	Handler string,
) *CreateForJavaProcedureRequest

func (*CreateForJavaProcedureRequest) WithArguments added in v0.79.0

func (*CreateForJavaProcedureRequest) WithComment added in v0.79.0

func (*CreateForJavaProcedureRequest) WithCopyGrants added in v0.79.0

func (s *CreateForJavaProcedureRequest) WithCopyGrants(CopyGrants bool) *CreateForJavaProcedureRequest

func (*CreateForJavaProcedureRequest) WithExecuteAs added in v0.79.0

func (*CreateForJavaProcedureRequest) WithExternalAccessIntegrations added in v0.79.0

func (s *CreateForJavaProcedureRequest) WithExternalAccessIntegrations(ExternalAccessIntegrations []AccountObjectIdentifier) *CreateForJavaProcedureRequest

func (*CreateForJavaProcedureRequest) WithImports added in v0.79.0

func (*CreateForJavaProcedureRequest) WithNullInputBehavior added in v0.79.0

func (s *CreateForJavaProcedureRequest) WithNullInputBehavior(NullInputBehavior NullInputBehavior) *CreateForJavaProcedureRequest

func (*CreateForJavaProcedureRequest) WithOrReplace added in v0.79.0

func (*CreateForJavaProcedureRequest) WithProcedureDefinition added in v0.79.0

func (s *CreateForJavaProcedureRequest) WithProcedureDefinition(ProcedureDefinition string) *CreateForJavaProcedureRequest

func (*CreateForJavaProcedureRequest) WithSecrets added in v0.79.0

func (*CreateForJavaProcedureRequest) WithSecure added in v0.79.0

func (*CreateForJavaProcedureRequest) WithTargetPath added in v0.79.0

type CreateForJavaScriptProcedureOptions added in v0.79.0

type CreateForJavaScriptProcedureOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	Arguments      []ProcedureArgument `ddl:"list,must_parentheses"`
	CopyGrants     *bool               `ddl:"keyword" sql:"COPY GRANTS"`
	ResultDataType DataType            `ddl:"parameter,no_equals" sql:"RETURNS"`
	NotNull        *bool               `ddl:"keyword" sql:"NOT NULL"`

	NullInputBehavior   *NullInputBehavior `ddl:"keyword"`
	Comment             *string            `ddl:"parameter,single_quotes" sql:"COMMENT"`
	ExecuteAs           *ExecuteAs         `ddl:"keyword"`
	ProcedureDefinition string             `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForJavaScriptProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-procedure#javascript-handler.

type CreateForJavaScriptProcedureRequest added in v0.79.0

type CreateForJavaScriptProcedureRequest struct {
	OrReplace *bool
	Secure    *bool

	Arguments           []ProcedureArgumentRequest
	CopyGrants          *bool
	ResultDataType      DataType // required
	NotNull             *bool
	NullInputBehavior   *NullInputBehavior
	Comment             *string
	ExecuteAs           *ExecuteAs
	ProcedureDefinition string // required
	// contains filtered or unexported fields
}

func NewCreateForJavaScriptProcedureRequest added in v0.79.0

func NewCreateForJavaScriptProcedureRequest(
	name SchemaObjectIdentifier,
	ResultDataType DataType,
	ProcedureDefinition string,
) *CreateForJavaScriptProcedureRequest

func (*CreateForJavaScriptProcedureRequest) WithArguments added in v0.79.0

func (*CreateForJavaScriptProcedureRequest) WithComment added in v0.79.0

func (*CreateForJavaScriptProcedureRequest) WithCopyGrants added in v0.79.0

func (*CreateForJavaScriptProcedureRequest) WithExecuteAs added in v0.79.0

func (*CreateForJavaScriptProcedureRequest) WithNotNull added in v0.79.0

func (*CreateForJavaScriptProcedureRequest) WithNullInputBehavior added in v0.79.0

func (*CreateForJavaScriptProcedureRequest) WithOrReplace added in v0.79.0

func (*CreateForJavaScriptProcedureRequest) WithSecure added in v0.79.0

type CreateForJavascriptFunctionOptions added in v0.82.0

type CreateForJavascriptFunctionOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	Arguments        []FunctionArgument `ddl:"list,must_parentheses"`
	CopyGrants       *bool              `ddl:"keyword" sql:"COPY GRANTS"`
	Returns          FunctionReturns    `ddl:"keyword" sql:"RETURNS"`
	ReturnNullValues *ReturnNullValues  `ddl:"keyword"`

	NullInputBehavior     *NullInputBehavior     `ddl:"keyword"`
	ReturnResultsBehavior *ReturnResultsBehavior `ddl:"keyword"`
	Comment               *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
	FunctionDefinition    string                 `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForJavascriptFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-function#javascript-handler.

type CreateForJavascriptFunctionRequest added in v0.82.0

type CreateForJavascriptFunctionRequest struct {
	OrReplace *bool
	Temporary *bool
	Secure    *bool

	Arguments             []FunctionArgumentRequest
	CopyGrants            *bool
	Returns               FunctionReturnsRequest // required
	ReturnNullValues      *ReturnNullValues
	NullInputBehavior     *NullInputBehavior
	ReturnResultsBehavior *ReturnResultsBehavior
	Comment               *string
	FunctionDefinition    string // required
	// contains filtered or unexported fields
}

func NewCreateForJavascriptFunctionRequest added in v0.82.0

func NewCreateForJavascriptFunctionRequest(
	name SchemaObjectIdentifier,
	Returns FunctionReturnsRequest,
	FunctionDefinition string,
) *CreateForJavascriptFunctionRequest

func (*CreateForJavascriptFunctionRequest) WithArguments added in v0.82.0

func (*CreateForJavascriptFunctionRequest) WithComment added in v0.82.0

func (*CreateForJavascriptFunctionRequest) WithCopyGrants added in v0.82.0

func (*CreateForJavascriptFunctionRequest) WithNullInputBehavior added in v0.82.0

func (*CreateForJavascriptFunctionRequest) WithOrReplace added in v0.82.0

func (*CreateForJavascriptFunctionRequest) WithReturnNullValues added in v0.82.0

func (*CreateForJavascriptFunctionRequest) WithReturnResultsBehavior added in v0.82.0

func (s *CreateForJavascriptFunctionRequest) WithReturnResultsBehavior(ReturnResultsBehavior ReturnResultsBehavior) *CreateForJavascriptFunctionRequest

func (*CreateForJavascriptFunctionRequest) WithSecure added in v0.82.0

func (*CreateForJavascriptFunctionRequest) WithTemporary added in v0.82.0

type CreateForPythonFunctionOptions added in v0.82.0

type CreateForPythonFunctionOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Arguments        []FunctionArgument `ddl:"list,must_parentheses"`
	CopyGrants       *bool              `ddl:"keyword" sql:"COPY GRANTS"`
	Returns          FunctionReturns    `ddl:"keyword" sql:"RETURNS"`
	ReturnNullValues *ReturnNullValues  `ddl:"keyword"`

	NullInputBehavior          *NullInputBehavior        `ddl:"keyword"`
	ReturnResultsBehavior      *ReturnResultsBehavior    `ddl:"keyword"`
	RuntimeVersion             string                    `ddl:"parameter,single_quotes" sql:"RUNTIME_VERSION"`
	Comment                    *string                   `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Imports                    []FunctionImport          `ddl:"parameter,parentheses" sql:"IMPORTS"`
	Packages                   []FunctionPackage         `ddl:"parameter,parentheses" sql:"PACKAGES"`
	Handler                    string                    `ddl:"parameter,single_quotes" sql:"HANDLER"`
	ExternalAccessIntegrations []AccountObjectIdentifier `ddl:"parameter,parentheses" sql:"EXTERNAL_ACCESS_INTEGRATIONS"`
	Secrets                    []SecretReference         `ddl:"parameter,parentheses" sql:"SECRETS"`
	FunctionDefinition         *string                   `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForPythonFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-function#python-handler.

type CreateForPythonFunctionRequest added in v0.82.0

type CreateForPythonFunctionRequest struct {
	OrReplace   *bool
	Temporary   *bool
	Secure      *bool
	IfNotExists *bool

	Arguments                  []FunctionArgumentRequest
	CopyGrants                 *bool
	Returns                    FunctionReturnsRequest // required
	ReturnNullValues           *ReturnNullValues
	NullInputBehavior          *NullInputBehavior
	ReturnResultsBehavior      *ReturnResultsBehavior
	RuntimeVersion             string // required
	Comment                    *string
	Imports                    []FunctionImportRequest
	Packages                   []FunctionPackageRequest
	Handler                    string // required
	ExternalAccessIntegrations []AccountObjectIdentifier
	Secrets                    []SecretReference
	FunctionDefinition         *string
	// contains filtered or unexported fields
}

func NewCreateForPythonFunctionRequest added in v0.82.0

func NewCreateForPythonFunctionRequest(
	name SchemaObjectIdentifier,
	Returns FunctionReturnsRequest,
	RuntimeVersion string,
	Handler string,
) *CreateForPythonFunctionRequest

func (*CreateForPythonFunctionRequest) WithArguments added in v0.82.0

func (*CreateForPythonFunctionRequest) WithComment added in v0.82.0

func (*CreateForPythonFunctionRequest) WithCopyGrants added in v0.82.0

func (*CreateForPythonFunctionRequest) WithExternalAccessIntegrations added in v0.82.0

func (s *CreateForPythonFunctionRequest) WithExternalAccessIntegrations(ExternalAccessIntegrations []AccountObjectIdentifier) *CreateForPythonFunctionRequest

func (*CreateForPythonFunctionRequest) WithFunctionDefinition added in v0.82.0

func (s *CreateForPythonFunctionRequest) WithFunctionDefinition(FunctionDefinition string) *CreateForPythonFunctionRequest

func (*CreateForPythonFunctionRequest) WithIfNotExists added in v0.82.0

func (s *CreateForPythonFunctionRequest) WithIfNotExists(IfNotExists bool) *CreateForPythonFunctionRequest

func (*CreateForPythonFunctionRequest) WithImports added in v0.82.0

func (*CreateForPythonFunctionRequest) WithNullInputBehavior added in v0.82.0

func (s *CreateForPythonFunctionRequest) WithNullInputBehavior(NullInputBehavior NullInputBehavior) *CreateForPythonFunctionRequest

func (*CreateForPythonFunctionRequest) WithOrReplace added in v0.82.0

func (*CreateForPythonFunctionRequest) WithPackages added in v0.82.0

func (*CreateForPythonFunctionRequest) WithReturnNullValues added in v0.82.0

func (s *CreateForPythonFunctionRequest) WithReturnNullValues(ReturnNullValues ReturnNullValues) *CreateForPythonFunctionRequest

func (*CreateForPythonFunctionRequest) WithReturnResultsBehavior added in v0.82.0

func (s *CreateForPythonFunctionRequest) WithReturnResultsBehavior(ReturnResultsBehavior ReturnResultsBehavior) *CreateForPythonFunctionRequest

func (*CreateForPythonFunctionRequest) WithSecrets added in v0.82.0

func (*CreateForPythonFunctionRequest) WithSecure added in v0.82.0

func (*CreateForPythonFunctionRequest) WithTemporary added in v0.82.0

type CreateForPythonProcedureOptions added in v0.79.0

type CreateForPythonProcedureOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	Arguments  []ProcedureArgument `ddl:"list,must_parentheses"`
	CopyGrants *bool               `ddl:"keyword" sql:"COPY GRANTS"`
	Returns    ProcedureReturns    `ddl:"keyword" sql:"RETURNS"`

	RuntimeVersion             string                    `ddl:"parameter,single_quotes" sql:"RUNTIME_VERSION"`
	Packages                   []ProcedurePackage        `ddl:"parameter,parentheses" sql:"PACKAGES"`
	Imports                    []ProcedureImport         `ddl:"parameter,parentheses" sql:"IMPORTS"`
	Handler                    string                    `ddl:"parameter,single_quotes" sql:"HANDLER"`
	ExternalAccessIntegrations []AccountObjectIdentifier `ddl:"parameter,parentheses" sql:"EXTERNAL_ACCESS_INTEGRATIONS"`
	Secrets                    []SecretReference         `ddl:"parameter,parentheses" sql:"SECRETS"`
	NullInputBehavior          *NullInputBehavior        `ddl:"keyword"`
	Comment                    *string                   `ddl:"parameter,single_quotes" sql:"COMMENT"`
	ExecuteAs                  *ExecuteAs                `ddl:"keyword"`
	ProcedureDefinition        *string                   `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForPythonProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-procedure#python-handler.

type CreateForPythonProcedureRequest added in v0.79.0

type CreateForPythonProcedureRequest struct {
	OrReplace *bool
	Secure    *bool

	Arguments                  []ProcedureArgumentRequest
	CopyGrants                 *bool
	Returns                    ProcedureReturnsRequest   // required
	RuntimeVersion             string                    // required
	Packages                   []ProcedurePackageRequest // required
	Imports                    []ProcedureImportRequest
	Handler                    string // required
	ExternalAccessIntegrations []AccountObjectIdentifier
	Secrets                    []SecretReference
	NullInputBehavior          *NullInputBehavior
	Comment                    *string
	ExecuteAs                  *ExecuteAs
	ProcedureDefinition        *string
	// contains filtered or unexported fields
}

func NewCreateForPythonProcedureRequest added in v0.79.0

func NewCreateForPythonProcedureRequest(
	name SchemaObjectIdentifier,
	Returns ProcedureReturnsRequest,
	RuntimeVersion string,
	Packages []ProcedurePackageRequest,
	Handler string,
) *CreateForPythonProcedureRequest

func (*CreateForPythonProcedureRequest) WithArguments added in v0.79.0

func (*CreateForPythonProcedureRequest) WithComment added in v0.79.0

func (*CreateForPythonProcedureRequest) WithCopyGrants added in v0.79.0

func (*CreateForPythonProcedureRequest) WithExecuteAs added in v0.79.0

func (*CreateForPythonProcedureRequest) WithExternalAccessIntegrations added in v0.79.0

func (s *CreateForPythonProcedureRequest) WithExternalAccessIntegrations(ExternalAccessIntegrations []AccountObjectIdentifier) *CreateForPythonProcedureRequest

func (*CreateForPythonProcedureRequest) WithImports added in v0.79.0

func (*CreateForPythonProcedureRequest) WithNullInputBehavior added in v0.79.0

func (s *CreateForPythonProcedureRequest) WithNullInputBehavior(NullInputBehavior NullInputBehavior) *CreateForPythonProcedureRequest

func (*CreateForPythonProcedureRequest) WithOrReplace added in v0.79.0

func (*CreateForPythonProcedureRequest) WithProcedureDefinition added in v0.79.0

func (s *CreateForPythonProcedureRequest) WithProcedureDefinition(ProcedureDefinition string) *CreateForPythonProcedureRequest

func (*CreateForPythonProcedureRequest) WithSecrets added in v0.79.0

func (*CreateForPythonProcedureRequest) WithSecure added in v0.79.0

type CreateForSQLFunctionOptions added in v0.82.0

type CreateForSQLFunctionOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	Arguments             []FunctionArgument     `ddl:"list,must_parentheses"`
	CopyGrants            *bool                  `ddl:"keyword" sql:"COPY GRANTS"`
	Returns               FunctionReturns        `ddl:"keyword" sql:"RETURNS"`
	ReturnNullValues      *ReturnNullValues      `ddl:"keyword"`
	ReturnResultsBehavior *ReturnResultsBehavior `ddl:"keyword"`
	Memoizable            *bool                  `ddl:"keyword" sql:"MEMOIZABLE"`
	Comment               *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
	FunctionDefinition    string                 `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForSQLFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-function#sql-handler.

type CreateForSQLFunctionRequest added in v0.82.0

type CreateForSQLFunctionRequest struct {
	OrReplace *bool
	Temporary *bool
	Secure    *bool

	Arguments             []FunctionArgumentRequest
	CopyGrants            *bool
	Returns               FunctionReturnsRequest // required
	ReturnNullValues      *ReturnNullValues
	ReturnResultsBehavior *ReturnResultsBehavior
	Memoizable            *bool
	Comment               *string
	FunctionDefinition    string // required
	// contains filtered or unexported fields
}

func NewCreateForSQLFunctionRequest added in v0.82.0

func NewCreateForSQLFunctionRequest(
	name SchemaObjectIdentifier,
	Returns FunctionReturnsRequest,
	FunctionDefinition string,
) *CreateForSQLFunctionRequest

func (*CreateForSQLFunctionRequest) WithArguments added in v0.82.0

func (*CreateForSQLFunctionRequest) WithComment added in v0.82.0

func (*CreateForSQLFunctionRequest) WithCopyGrants added in v0.82.0

func (s *CreateForSQLFunctionRequest) WithCopyGrants(CopyGrants bool) *CreateForSQLFunctionRequest

func (*CreateForSQLFunctionRequest) WithMemoizable added in v0.82.0

func (s *CreateForSQLFunctionRequest) WithMemoizable(Memoizable bool) *CreateForSQLFunctionRequest

func (*CreateForSQLFunctionRequest) WithOrReplace added in v0.82.0

func (s *CreateForSQLFunctionRequest) WithOrReplace(OrReplace bool) *CreateForSQLFunctionRequest

func (*CreateForSQLFunctionRequest) WithReturnNullValues added in v0.82.0

func (s *CreateForSQLFunctionRequest) WithReturnNullValues(ReturnNullValues ReturnNullValues) *CreateForSQLFunctionRequest

func (*CreateForSQLFunctionRequest) WithReturnResultsBehavior added in v0.82.0

func (s *CreateForSQLFunctionRequest) WithReturnResultsBehavior(ReturnResultsBehavior ReturnResultsBehavior) *CreateForSQLFunctionRequest

func (*CreateForSQLFunctionRequest) WithSecure added in v0.82.0

func (*CreateForSQLFunctionRequest) WithTemporary added in v0.82.0

func (s *CreateForSQLFunctionRequest) WithTemporary(Temporary bool) *CreateForSQLFunctionRequest

type CreateForSQLProcedureOptions added in v0.79.0

type CreateForSQLProcedureOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	Arguments  []ProcedureArgument `ddl:"list,must_parentheses"`
	CopyGrants *bool               `ddl:"keyword" sql:"COPY GRANTS"`
	Returns    ProcedureSQLReturns `ddl:"keyword" sql:"RETURNS"`

	NullInputBehavior   *NullInputBehavior `ddl:"keyword"`
	Comment             *string            `ddl:"parameter,single_quotes" sql:"COMMENT"`
	ExecuteAs           *ExecuteAs         `ddl:"keyword"`
	ProcedureDefinition string             `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForSQLProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-procedure#snowflake-scripting-handler.

type CreateForSQLProcedureRequest added in v0.79.0

type CreateForSQLProcedureRequest struct {
	OrReplace *bool
	Secure    *bool

	Arguments           []ProcedureArgumentRequest
	CopyGrants          *bool
	Returns             ProcedureSQLReturnsRequest // required
	NullInputBehavior   *NullInputBehavior
	Comment             *string
	ExecuteAs           *ExecuteAs
	ProcedureDefinition string // required
	// contains filtered or unexported fields
}

func NewCreateForSQLProcedureRequest added in v0.79.0

func NewCreateForSQLProcedureRequest(
	name SchemaObjectIdentifier,
	Returns ProcedureSQLReturnsRequest,
	ProcedureDefinition string,
) *CreateForSQLProcedureRequest

func (*CreateForSQLProcedureRequest) WithArguments added in v0.79.0

func (*CreateForSQLProcedureRequest) WithComment added in v0.79.0

func (*CreateForSQLProcedureRequest) WithCopyGrants added in v0.79.0

func (s *CreateForSQLProcedureRequest) WithCopyGrants(CopyGrants bool) *CreateForSQLProcedureRequest

func (*CreateForSQLProcedureRequest) WithExecuteAs added in v0.79.0

func (*CreateForSQLProcedureRequest) WithNullInputBehavior added in v0.79.0

func (s *CreateForSQLProcedureRequest) WithNullInputBehavior(NullInputBehavior NullInputBehavior) *CreateForSQLProcedureRequest

func (*CreateForSQLProcedureRequest) WithOrReplace added in v0.79.0

func (s *CreateForSQLProcedureRequest) WithOrReplace(OrReplace bool) *CreateForSQLProcedureRequest

func (*CreateForSQLProcedureRequest) WithSecure added in v0.79.0

type CreateForScalaFunctionOptions added in v0.82.0

type CreateForScalaFunctionOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Arguments        []FunctionArgument `ddl:"list,must_parentheses"`
	CopyGrants       *bool              `ddl:"keyword" sql:"COPY GRANTS"`
	ResultDataType   DataType           `ddl:"parameter,no_equals" sql:"RETURNS"`
	ReturnNullValues *ReturnNullValues  `ddl:"keyword"`

	NullInputBehavior     *NullInputBehavior     `ddl:"keyword"`
	ReturnResultsBehavior *ReturnResultsBehavior `ddl:"keyword"`
	RuntimeVersion        *string                `ddl:"parameter,single_quotes" sql:"RUNTIME_VERSION"`
	Comment               *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Imports               []FunctionImport       `ddl:"parameter,parentheses" sql:"IMPORTS"`
	Packages              []FunctionPackage      `ddl:"parameter,parentheses" sql:"PACKAGES"`
	Handler               string                 `ddl:"parameter,single_quotes" sql:"HANDLER"`
	TargetPath            *string                `ddl:"parameter,single_quotes" sql:"TARGET_PATH"`
	FunctionDefinition    *string                `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForScalaFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-function#scala-handler.

type CreateForScalaFunctionRequest added in v0.82.0

type CreateForScalaFunctionRequest struct {
	OrReplace   *bool
	Temporary   *bool
	Secure      *bool
	IfNotExists *bool

	Arguments             []FunctionArgumentRequest
	CopyGrants            *bool
	ResultDataType        DataType // required
	ReturnNullValues      *ReturnNullValues
	NullInputBehavior     *NullInputBehavior
	ReturnResultsBehavior *ReturnResultsBehavior
	RuntimeVersion        *string
	Comment               *string
	Imports               []FunctionImportRequest
	Packages              []FunctionPackageRequest
	Handler               string // required
	TargetPath            *string
	FunctionDefinition    *string
	// contains filtered or unexported fields
}

func NewCreateForScalaFunctionRequest added in v0.82.0

func NewCreateForScalaFunctionRequest(
	name SchemaObjectIdentifier,
	ResultDataType DataType,
	Handler string,
) *CreateForScalaFunctionRequest

func (*CreateForScalaFunctionRequest) WithArguments added in v0.82.0

func (*CreateForScalaFunctionRequest) WithComment added in v0.82.0

func (*CreateForScalaFunctionRequest) WithCopyGrants added in v0.82.0

func (s *CreateForScalaFunctionRequest) WithCopyGrants(CopyGrants bool) *CreateForScalaFunctionRequest

func (*CreateForScalaFunctionRequest) WithFunctionDefinition added in v0.82.0

func (s *CreateForScalaFunctionRequest) WithFunctionDefinition(FunctionDefinition string) *CreateForScalaFunctionRequest

func (*CreateForScalaFunctionRequest) WithIfNotExists added in v0.82.0

func (s *CreateForScalaFunctionRequest) WithIfNotExists(IfNotExists bool) *CreateForScalaFunctionRequest

func (*CreateForScalaFunctionRequest) WithImports added in v0.82.0

func (*CreateForScalaFunctionRequest) WithNullInputBehavior added in v0.82.0

func (s *CreateForScalaFunctionRequest) WithNullInputBehavior(NullInputBehavior NullInputBehavior) *CreateForScalaFunctionRequest

func (*CreateForScalaFunctionRequest) WithOrReplace added in v0.82.0

func (*CreateForScalaFunctionRequest) WithPackages added in v0.82.0

func (*CreateForScalaFunctionRequest) WithReturnNullValues added in v0.82.0

func (s *CreateForScalaFunctionRequest) WithReturnNullValues(ReturnNullValues ReturnNullValues) *CreateForScalaFunctionRequest

func (*CreateForScalaFunctionRequest) WithReturnResultsBehavior added in v0.82.0

func (s *CreateForScalaFunctionRequest) WithReturnResultsBehavior(ReturnResultsBehavior ReturnResultsBehavior) *CreateForScalaFunctionRequest

func (*CreateForScalaFunctionRequest) WithRuntimeVersion added in v0.82.0

func (s *CreateForScalaFunctionRequest) WithRuntimeVersion(RuntimeVersion string) *CreateForScalaFunctionRequest

func (*CreateForScalaFunctionRequest) WithSecure added in v0.82.0

func (*CreateForScalaFunctionRequest) WithTargetPath added in v0.82.0

func (*CreateForScalaFunctionRequest) WithTemporary added in v0.82.0

type CreateForScalaProcedureOptions added in v0.79.0

type CreateForScalaProcedureOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	Arguments  []ProcedureArgument `ddl:"list,must_parentheses"`
	CopyGrants *bool               `ddl:"keyword" sql:"COPY GRANTS"`
	Returns    ProcedureReturns    `ddl:"keyword" sql:"RETURNS"`

	RuntimeVersion      string             `ddl:"parameter,single_quotes" sql:"RUNTIME_VERSION"`
	Packages            []ProcedurePackage `ddl:"parameter,parentheses" sql:"PACKAGES"`
	Imports             []ProcedureImport  `ddl:"parameter,parentheses" sql:"IMPORTS"`
	Handler             string             `ddl:"parameter,single_quotes" sql:"HANDLER"`
	TargetPath          *string            `ddl:"parameter,single_quotes" sql:"TARGET_PATH"`
	NullInputBehavior   *NullInputBehavior `ddl:"keyword"`
	Comment             *string            `ddl:"parameter,single_quotes" sql:"COMMENT"`
	ExecuteAs           *ExecuteAs         `ddl:"keyword"`
	ProcedureDefinition *string            `ddl:"parameter,single_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

CreateForScalaProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-procedure#scala-handler.

type CreateForScalaProcedureRequest added in v0.79.0

type CreateForScalaProcedureRequest struct {
	OrReplace *bool
	Secure    *bool

	Arguments           []ProcedureArgumentRequest
	CopyGrants          *bool
	Returns             ProcedureReturnsRequest   // required
	RuntimeVersion      string                    // required
	Packages            []ProcedurePackageRequest // required
	Imports             []ProcedureImportRequest
	Handler             string // required
	TargetPath          *string
	NullInputBehavior   *NullInputBehavior
	Comment             *string
	ExecuteAs           *ExecuteAs
	ProcedureDefinition *string
	// contains filtered or unexported fields
}

func NewCreateForScalaProcedureRequest added in v0.79.0

func NewCreateForScalaProcedureRequest(
	name SchemaObjectIdentifier,
	Returns ProcedureReturnsRequest,
	RuntimeVersion string,
	Packages []ProcedurePackageRequest,
	Handler string,
) *CreateForScalaProcedureRequest

func (*CreateForScalaProcedureRequest) WithArguments added in v0.79.0

func (*CreateForScalaProcedureRequest) WithComment added in v0.79.0

func (*CreateForScalaProcedureRequest) WithCopyGrants added in v0.79.0

func (*CreateForScalaProcedureRequest) WithExecuteAs added in v0.79.0

func (*CreateForScalaProcedureRequest) WithImports added in v0.79.0

func (*CreateForScalaProcedureRequest) WithNullInputBehavior added in v0.79.0

func (s *CreateForScalaProcedureRequest) WithNullInputBehavior(NullInputBehavior NullInputBehavior) *CreateForScalaProcedureRequest

func (*CreateForScalaProcedureRequest) WithOrReplace added in v0.79.0

func (*CreateForScalaProcedureRequest) WithProcedureDefinition added in v0.79.0

func (s *CreateForScalaProcedureRequest) WithProcedureDefinition(ProcedureDefinition string) *CreateForScalaProcedureRequest

func (*CreateForScalaProcedureRequest) WithSecure added in v0.79.0

func (*CreateForScalaProcedureRequest) WithTargetPath added in v0.79.0

type CreateInternalStageOptions added in v0.76.0

type CreateInternalStageOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Encryption            *InternalStageEncryption       `ddl:"list,parentheses,no_comma" sql:"ENCRYPTION ="`
	DirectoryTableOptions *InternalDirectoryTableOptions `ddl:"list,parentheses,no_comma" sql:"DIRECTORY ="`
	FileFormat            *StageFileFormat               `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyOptions           *StageCopyOptions              `ddl:"list,parentheses,no_comma" sql:"COPY_OPTIONS ="`
	Comment               *string                        `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag                   []TagAssociation               `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateInternalStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stage.

type CreateInternalStageRequest added in v0.76.0

type CreateInternalStageRequest struct {
	OrReplace   *bool
	Temporary   *bool
	IfNotExists *bool

	Encryption            *InternalStageEncryptionRequest
	DirectoryTableOptions *InternalDirectoryTableOptionsRequest
	FileFormat            *StageFileFormatRequest
	CopyOptions           *StageCopyOptionsRequest
	Comment               *string
	Tag                   []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateInternalStageRequest added in v0.76.0

func NewCreateInternalStageRequest(
	name SchemaObjectIdentifier,
) *CreateInternalStageRequest

func (*CreateInternalStageRequest) ID added in v0.90.0

func (*CreateInternalStageRequest) WithComment added in v0.76.0

func (*CreateInternalStageRequest) WithCopyOptions added in v0.76.0

func (*CreateInternalStageRequest) WithDirectoryTableOptions added in v0.76.0

func (s *CreateInternalStageRequest) WithDirectoryTableOptions(DirectoryTableOptions *InternalDirectoryTableOptionsRequest) *CreateInternalStageRequest

func (*CreateInternalStageRequest) WithEncryption added in v0.76.0

func (*CreateInternalStageRequest) WithFileFormat added in v0.76.0

func (*CreateInternalStageRequest) WithIfNotExists added in v0.76.0

func (s *CreateInternalStageRequest) WithIfNotExists(IfNotExists *bool) *CreateInternalStageRequest

func (*CreateInternalStageRequest) WithOrReplace added in v0.76.0

func (s *CreateInternalStageRequest) WithOrReplace(OrReplace *bool) *CreateInternalStageRequest

func (*CreateInternalStageRequest) WithTag added in v0.76.0

func (*CreateInternalStageRequest) WithTemporary added in v0.76.0

func (s *CreateInternalStageRequest) WithTemporary(Temporary *bool) *CreateInternalStageRequest

type CreateManagedAccountOptions added in v0.84.0

type CreateManagedAccountOptions struct {
	CreateManagedAccountParams CreateManagedAccountParams `ddl:"list,no_parentheses"`
	// contains filtered or unexported fields
}

CreateManagedAccountOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-managed-account.

type CreateManagedAccountParams added in v0.84.0

type CreateManagedAccountParams struct {
	AdminName     string `ddl:"parameter,single_quotes" sql:"ADMIN_NAME"`
	AdminPassword string `ddl:"parameter,single_quotes" sql:"ADMIN_PASSWORD"`

	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

type CreateManagedAccountParamsRequest added in v0.84.0

type CreateManagedAccountParamsRequest struct {
	AdminName     string // required
	AdminPassword string // required
	Comment       *string
}

func NewCreateManagedAccountParamsRequest added in v0.84.0

func NewCreateManagedAccountParamsRequest(
	AdminName string,
	AdminPassword string,
) *CreateManagedAccountParamsRequest

func (*CreateManagedAccountParamsRequest) WithComment added in v0.84.0

type CreateManagedAccountRequest added in v0.84.0

type CreateManagedAccountRequest struct {
	CreateManagedAccountParams CreateManagedAccountParamsRequest // required
	// contains filtered or unexported fields
}

func NewCreateManagedAccountRequest added in v0.84.0

func NewCreateManagedAccountRequest(
	name AccountObjectIdentifier,
	CreateManagedAccountParams CreateManagedAccountParamsRequest,
) *CreateManagedAccountRequest

func (*CreateManagedAccountRequest) GetName added in v0.84.0

type CreateMaskingPolicyOptions added in v0.66.0

type CreateMaskingPolicyOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	// optional
	Comment             *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	ExemptOtherPolicies *bool   `ddl:"parameter" sql:"EXEMPT_OTHER_POLICIES"`
	// contains filtered or unexported fields
}

CreateMaskingPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-masking-policy.

type CreateMaterializedViewOptions added in v0.85.0

type CreateMaterializedViewOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	CopyGrants             *bool                                 `ddl:"keyword" sql:"COPY GRANTS"`
	Columns                []MaterializedViewColumn              `ddl:"list,parentheses"`
	ColumnsMaskingPolicies []MaterializedViewColumnMaskingPolicy `ddl:"list,no_parentheses,no_equals"`
	Comment                *string                               `ddl:"parameter,single_quotes" sql:"COMMENT"`
	RowAccessPolicy        *MaterializedViewRowAccessPolicy      `ddl:"keyword"`
	Tag                    []TagAssociation                      `ddl:"keyword,parentheses" sql:"TAG"`
	ClusterBy              *MaterializedViewClusterBy            `ddl:"keyword"`
	// contains filtered or unexported fields
}

CreateMaterializedViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-materialized-view.

type CreateMaterializedViewRequest added in v0.85.0

type CreateMaterializedViewRequest struct {
	OrReplace   *bool
	Secure      *bool
	IfNotExists *bool

	CopyGrants             *bool
	Columns                []MaterializedViewColumnRequest
	ColumnsMaskingPolicies []MaterializedViewColumnMaskingPolicyRequest
	Comment                *string
	RowAccessPolicy        *MaterializedViewRowAccessPolicyRequest
	Tag                    []TagAssociation
	ClusterBy              *MaterializedViewClusterByRequest
	// contains filtered or unexported fields
}

func NewCreateMaterializedViewRequest added in v0.85.0

func NewCreateMaterializedViewRequest(
	name SchemaObjectIdentifier,
	sql string,
) *CreateMaterializedViewRequest

func (*CreateMaterializedViewRequest) GetName added in v0.85.0

func (*CreateMaterializedViewRequest) WithClusterBy added in v0.85.0

func (*CreateMaterializedViewRequest) WithColumns added in v0.85.0

func (*CreateMaterializedViewRequest) WithColumnsMaskingPolicies added in v0.85.0

func (s *CreateMaterializedViewRequest) WithColumnsMaskingPolicies(ColumnsMaskingPolicies []MaterializedViewColumnMaskingPolicyRequest) *CreateMaterializedViewRequest

func (*CreateMaterializedViewRequest) WithComment added in v0.85.0

func (*CreateMaterializedViewRequest) WithCopyGrants added in v0.85.0

func (s *CreateMaterializedViewRequest) WithCopyGrants(CopyGrants *bool) *CreateMaterializedViewRequest

func (*CreateMaterializedViewRequest) WithIfNotExists added in v0.85.0

func (s *CreateMaterializedViewRequest) WithIfNotExists(IfNotExists *bool) *CreateMaterializedViewRequest

func (*CreateMaterializedViewRequest) WithOrReplace added in v0.85.0

func (*CreateMaterializedViewRequest) WithRowAccessPolicy added in v0.85.0

func (*CreateMaterializedViewRequest) WithSecure added in v0.85.0

func (*CreateMaterializedViewRequest) WithTag added in v0.85.0

type CreateNetworkPolicyOptions added in v0.72.0

type CreateNetworkPolicyOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	AllowedNetworkRuleList []SchemaObjectIdentifier `ddl:"parameter,parentheses" sql:"ALLOWED_NETWORK_RULE_LIST"`
	BlockedNetworkRuleList []SchemaObjectIdentifier `ddl:"parameter,parentheses" sql:"BLOCKED_NETWORK_RULE_LIST"`
	AllowedIpList          []IP                     `ddl:"parameter,parentheses" sql:"ALLOWED_IP_LIST"`
	BlockedIpList          []IP                     `ddl:"parameter,parentheses" sql:"BLOCKED_IP_LIST"`
	Comment                *string                  `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateNetworkPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-network-policy.

type CreateNetworkPolicyRequest added in v0.72.0

type CreateNetworkPolicyRequest struct {
	OrReplace *bool

	AllowedNetworkRuleList []SchemaObjectIdentifier
	BlockedNetworkRuleList []SchemaObjectIdentifier
	AllowedIpList          []IPRequest
	BlockedIpList          []IPRequest
	Comment                *string
	// contains filtered or unexported fields
}

func NewCreateNetworkPolicyRequest added in v0.72.0

func NewCreateNetworkPolicyRequest(
	name AccountObjectIdentifier,
) *CreateNetworkPolicyRequest

func (*CreateNetworkPolicyRequest) GetName added in v0.74.0

func (*CreateNetworkPolicyRequest) WithAllowedIpList added in v0.72.0

func (s *CreateNetworkPolicyRequest) WithAllowedIpList(AllowedIpList []IPRequest) *CreateNetworkPolicyRequest

func (*CreateNetworkPolicyRequest) WithAllowedNetworkRuleList added in v0.89.0

func (s *CreateNetworkPolicyRequest) WithAllowedNetworkRuleList(AllowedNetworkRuleList []SchemaObjectIdentifier) *CreateNetworkPolicyRequest

func (*CreateNetworkPolicyRequest) WithBlockedIpList added in v0.72.0

func (s *CreateNetworkPolicyRequest) WithBlockedIpList(BlockedIpList []IPRequest) *CreateNetworkPolicyRequest

func (*CreateNetworkPolicyRequest) WithBlockedNetworkRuleList added in v0.89.0

func (s *CreateNetworkPolicyRequest) WithBlockedNetworkRuleList(BlockedNetworkRuleList []SchemaObjectIdentifier) *CreateNetworkPolicyRequest

func (*CreateNetworkPolicyRequest) WithComment added in v0.72.0

func (*CreateNetworkPolicyRequest) WithOrReplace added in v0.72.0

func (s *CreateNetworkPolicyRequest) WithOrReplace(OrReplace bool) *CreateNetworkPolicyRequest

type CreateNetworkRuleOptions added in v0.87.0

type CreateNetworkRuleOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	Type      NetworkRuleType    `ddl:"parameter,no_quotes" sql:"TYPE"`
	ValueList []NetworkRuleValue `ddl:"parameter,parentheses" sql:"VALUE_LIST"`
	Mode      NetworkRuleMode    `ddl:"parameter,no_quotes" sql:"MODE"`
	Comment   *string            `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateNetworkRuleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-network-rule.

type CreateNetworkRuleRequest added in v0.87.0

type CreateNetworkRuleRequest struct {
	OrReplace *bool

	Type      NetworkRuleType    // required
	ValueList []NetworkRuleValue // required
	Mode      NetworkRuleMode    // required
	Comment   *string
	// contains filtered or unexported fields
}

func NewCreateNetworkRuleRequest added in v0.87.0

func NewCreateNetworkRuleRequest(
	name SchemaObjectIdentifier,
	Type NetworkRuleType,
	ValueList []NetworkRuleValue,
	Mode NetworkRuleMode,
) *CreateNetworkRuleRequest

func (*CreateNetworkRuleRequest) GetName added in v0.94.0

func (*CreateNetworkRuleRequest) WithComment added in v0.87.0

func (s *CreateNetworkRuleRequest) WithComment(Comment *string) *CreateNetworkRuleRequest

func (*CreateNetworkRuleRequest) WithOrReplace added in v0.87.0

func (s *CreateNetworkRuleRequest) WithOrReplace(OrReplace *bool) *CreateNetworkRuleRequest

type CreateNotificationIntegrationOptions added in v0.85.0

type CreateNotificationIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Enabled                  bool                      `ddl:"parameter" sql:"ENABLED"`
	AutomatedDataLoadsParams *AutomatedDataLoadsParams `ddl:"keyword"`
	PushNotificationParams   *PushNotificationParams   `ddl:"keyword"`
	EmailParams              *EmailParams              `ddl:"keyword"`
	Comment                  *string                   `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateNotificationIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-notification-integration.

type CreateNotificationIntegrationRequest added in v0.85.0

type CreateNotificationIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Enabled                  bool // required
	AutomatedDataLoadsParams *AutomatedDataLoadsParamsRequest
	PushNotificationParams   *PushNotificationParamsRequest
	EmailParams              *EmailParamsRequest
	Comment                  *string
	// contains filtered or unexported fields
}

func NewCreateNotificationIntegrationRequest added in v0.85.0

func NewCreateNotificationIntegrationRequest(
	name AccountObjectIdentifier,
	Enabled bool,
) *CreateNotificationIntegrationRequest

func (*CreateNotificationIntegrationRequest) GetName added in v0.85.0

func (*CreateNotificationIntegrationRequest) WithAutomatedDataLoadsParams added in v0.85.0

func (s *CreateNotificationIntegrationRequest) WithAutomatedDataLoadsParams(AutomatedDataLoadsParams *AutomatedDataLoadsParamsRequest) *CreateNotificationIntegrationRequest

func (*CreateNotificationIntegrationRequest) WithComment added in v0.85.0

func (*CreateNotificationIntegrationRequest) WithEmailParams added in v0.85.0

func (*CreateNotificationIntegrationRequest) WithIfNotExists added in v0.85.0

func (*CreateNotificationIntegrationRequest) WithOrReplace added in v0.85.0

func (*CreateNotificationIntegrationRequest) WithPushNotificationParams added in v0.85.0

type CreateOauthForCustomClientsSecurityIntegrationOptions added in v0.92.0

type CreateOauthForCustomClientsSecurityIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	OauthClientType             OauthSecurityIntegrationClientTypeOption         `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_TYPE"`
	OauthRedirectUri            string                                           `ddl:"parameter,single_quotes" sql:"OAUTH_REDIRECT_URI"`
	Enabled                     *bool                                            `ddl:"parameter" sql:"ENABLED"`
	OauthAllowNonTlsRedirectUri *bool                                            `ddl:"parameter" sql:"OAUTH_ALLOW_NON_TLS_REDIRECT_URI"`
	OauthEnforcePkce            *bool                                            `ddl:"parameter" sql:"OAUTH_ENFORCE_PKCE"`
	OauthUseSecondaryRoles      *OauthSecurityIntegrationUseSecondaryRolesOption `ddl:"parameter" sql:"OAUTH_USE_SECONDARY_ROLES"`
	PreAuthorizedRolesList      *PreAuthorizedRolesList                          `ddl:"parameter,parentheses" sql:"PRE_AUTHORIZED_ROLES_LIST"`
	BlockedRolesList            *BlockedRolesList                                `ddl:"parameter,parentheses" sql:"BLOCKED_ROLES_LIST"`
	OauthIssueRefreshTokens     *bool                                            `ddl:"parameter" sql:"OAUTH_ISSUE_REFRESH_TOKENS"`
	OauthRefreshTokenValidity   *int                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	NetworkPolicy               *AccountObjectIdentifier                         `ddl:"identifier,equals" sql:"NETWORK_POLICY"`
	OauthClientRsaPublicKey     *string                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_RSA_PUBLIC_KEY"`
	OauthClientRsaPublicKey2    *string                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_RSA_PUBLIC_KEY_2"`
	Comment                     *string                                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateOauthForCustomClientsSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake.

type CreateOauthForCustomClientsSecurityIntegrationRequest added in v0.92.0

type CreateOauthForCustomClientsSecurityIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	OauthClientType             OauthSecurityIntegrationClientTypeOption // required
	OauthRedirectUri            string                                   // required
	Enabled                     *bool
	OauthAllowNonTlsRedirectUri *bool
	OauthEnforcePkce            *bool
	OauthUseSecondaryRoles      *OauthSecurityIntegrationUseSecondaryRolesOption
	PreAuthorizedRolesList      *PreAuthorizedRolesListRequest
	BlockedRolesList            *BlockedRolesListRequest
	OauthIssueRefreshTokens     *bool
	OauthRefreshTokenValidity   *int
	NetworkPolicy               *AccountObjectIdentifier
	OauthClientRsaPublicKey     *string
	OauthClientRsaPublicKey2    *string
	Comment                     *string
	// contains filtered or unexported fields
}

func NewCreateOauthForCustomClientsSecurityIntegrationRequest added in v0.92.0

func NewCreateOauthForCustomClientsSecurityIntegrationRequest(
	name AccountObjectIdentifier,
	OauthClientType OauthSecurityIntegrationClientTypeOption,
	OauthRedirectUri string,
) *CreateOauthForCustomClientsSecurityIntegrationRequest

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) GetName added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithBlockedRolesList added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithComment added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithEnabled added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithIfNotExists added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithNetworkPolicy added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithOauthAllowNonTlsRedirectUri added in v0.92.0

func (s *CreateOauthForCustomClientsSecurityIntegrationRequest) WithOauthAllowNonTlsRedirectUri(OauthAllowNonTlsRedirectUri bool) *CreateOauthForCustomClientsSecurityIntegrationRequest

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithOauthClientRsaPublicKey added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithOauthClientRsaPublicKey2 added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithOauthEnforcePkce added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithOauthIssueRefreshTokens added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithOauthUseSecondaryRoles added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithOrReplace added in v0.92.0

func (*CreateOauthForCustomClientsSecurityIntegrationRequest) WithPreAuthorizedRolesList added in v0.92.0

type CreateOauthForPartnerApplicationsSecurityIntegrationOptions added in v0.92.0

type CreateOauthForPartnerApplicationsSecurityIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	OauthClient               OauthSecurityIntegrationClientOption             `ddl:"parameter" sql:"OAUTH_CLIENT"`
	OauthRedirectUri          *string                                          `ddl:"parameter,single_quotes" sql:"OAUTH_REDIRECT_URI"`
	Enabled                   *bool                                            `ddl:"parameter" sql:"ENABLED"`
	OauthIssueRefreshTokens   *bool                                            `ddl:"parameter" sql:"OAUTH_ISSUE_REFRESH_TOKENS"`
	OauthRefreshTokenValidity *int                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	OauthUseSecondaryRoles    *OauthSecurityIntegrationUseSecondaryRolesOption `ddl:"parameter" sql:"OAUTH_USE_SECONDARY_ROLES"`
	BlockedRolesList          *BlockedRolesList                                `ddl:"parameter,parentheses" sql:"BLOCKED_ROLES_LIST"`
	Comment                   *string                                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateOauthForPartnerApplicationsSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake.

type CreateOauthForPartnerApplicationsSecurityIntegrationRequest added in v0.92.0

type CreateOauthForPartnerApplicationsSecurityIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	OauthClient               OauthSecurityIntegrationClientOption // required
	OauthRedirectUri          *string
	Enabled                   *bool
	OauthIssueRefreshTokens   *bool
	OauthRefreshTokenValidity *int
	OauthUseSecondaryRoles    *OauthSecurityIntegrationUseSecondaryRolesOption
	BlockedRolesList          *BlockedRolesListRequest
	Comment                   *string
	// contains filtered or unexported fields
}

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) GetName added in v0.92.0

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) WithBlockedRolesList added in v0.92.0

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) WithComment added in v0.92.0

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) WithEnabled added in v0.92.0

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) WithIfNotExists added in v0.92.0

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) WithOauthIssueRefreshTokens added in v0.92.0

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) WithOauthRedirectUri added in v0.92.0

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) WithOauthUseSecondaryRoles added in v0.92.0

func (*CreateOauthForPartnerApplicationsSecurityIntegrationRequest) WithOrReplace added in v0.92.0

type CreateOnAzureStageOptions added in v0.76.0

type CreateOnAzureStageOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	ExternalStageParams   *ExternalAzureStageParams
	DirectoryTableOptions *ExternalAzureDirectoryTableOptions `ddl:"list,parentheses,no_comma" sql:"DIRECTORY ="`
	FileFormat            *StageFileFormat                    `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyOptions           *StageCopyOptions                   `ddl:"list,parentheses,no_comma" sql:"COPY_OPTIONS ="`
	Comment               *string                             `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag                   []TagAssociation                    `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateOnAzureStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stage.

type CreateOnAzureStageRequest added in v0.76.0

type CreateOnAzureStageRequest struct {
	OrReplace   *bool
	Temporary   *bool
	IfNotExists *bool

	ExternalStageParams   *ExternalAzureStageParamsRequest
	DirectoryTableOptions *ExternalAzureDirectoryTableOptionsRequest
	FileFormat            *StageFileFormatRequest
	CopyOptions           *StageCopyOptionsRequest
	Comment               *string
	Tag                   []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateOnAzureStageRequest added in v0.76.0

func NewCreateOnAzureStageRequest(
	name SchemaObjectIdentifier,
) *CreateOnAzureStageRequest

func (*CreateOnAzureStageRequest) WithComment added in v0.76.0

func (*CreateOnAzureStageRequest) WithCopyOptions added in v0.76.0

func (*CreateOnAzureStageRequest) WithDirectoryTableOptions added in v0.76.0

func (s *CreateOnAzureStageRequest) WithDirectoryTableOptions(DirectoryTableOptions *ExternalAzureDirectoryTableOptionsRequest) *CreateOnAzureStageRequest

func (*CreateOnAzureStageRequest) WithExternalStageParams added in v0.76.0

func (s *CreateOnAzureStageRequest) WithExternalStageParams(ExternalStageParams *ExternalAzureStageParamsRequest) *CreateOnAzureStageRequest

func (*CreateOnAzureStageRequest) WithFileFormat added in v0.76.0

func (*CreateOnAzureStageRequest) WithIfNotExists added in v0.76.0

func (s *CreateOnAzureStageRequest) WithIfNotExists(IfNotExists *bool) *CreateOnAzureStageRequest

func (*CreateOnAzureStageRequest) WithOrReplace added in v0.76.0

func (s *CreateOnAzureStageRequest) WithOrReplace(OrReplace *bool) *CreateOnAzureStageRequest

func (*CreateOnAzureStageRequest) WithTag added in v0.76.0

func (*CreateOnAzureStageRequest) WithTemporary added in v0.76.0

func (s *CreateOnAzureStageRequest) WithTemporary(Temporary *bool) *CreateOnAzureStageRequest

type CreateOnDirectoryTableStreamOptions added in v0.74.0

type CreateOnDirectoryTableStreamOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Tag        []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	CopyGrants *bool            `ddl:"keyword" sql:"COPY GRANTS"`

	StageId SchemaObjectIdentifier `ddl:"identifier"`
	Comment *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateOnDirectoryTableStreamOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stream.

type CreateOnDirectoryTableStreamRequest added in v0.74.0

type CreateOnDirectoryTableStreamRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Tag        []TagAssociation
	CopyGrants *bool
	StageId    SchemaObjectIdentifier // required
	Comment    *string
	// contains filtered or unexported fields
}

func NewCreateOnDirectoryTableStreamRequest added in v0.97.0

func NewCreateOnDirectoryTableStreamRequest(
	name SchemaObjectIdentifier,
	StageId SchemaObjectIdentifier,
) *CreateOnDirectoryTableStreamRequest

func (*CreateOnDirectoryTableStreamRequest) WithComment added in v0.74.0

func (*CreateOnDirectoryTableStreamRequest) WithCopyGrants added in v0.74.0

func (*CreateOnDirectoryTableStreamRequest) WithIfNotExists added in v0.74.0

func (*CreateOnDirectoryTableStreamRequest) WithOrReplace added in v0.74.0

func (*CreateOnDirectoryTableStreamRequest) WithTag added in v0.97.0

type CreateOnExternalTableStreamOptions added in v0.74.0

type CreateOnExternalTableStreamOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Tag        []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	CopyGrants *bool            `ddl:"keyword" sql:"COPY GRANTS"`

	ExternalTableId SchemaObjectIdentifier `ddl:"identifier"`
	On              *OnStream              `ddl:"keyword"`
	InsertOnly      *bool                  `ddl:"parameter" sql:"INSERT_ONLY"`
	Comment         *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateOnExternalTableStreamOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stream.

type CreateOnExternalTableStreamRequest added in v0.74.0

type CreateOnExternalTableStreamRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Tag             []TagAssociation
	CopyGrants      *bool
	ExternalTableId SchemaObjectIdentifier // required
	On              *OnStreamRequest
	InsertOnly      *bool
	Comment         *string
	// contains filtered or unexported fields
}

func NewCreateOnExternalTableStreamRequest added in v0.97.0

func NewCreateOnExternalTableStreamRequest(
	name SchemaObjectIdentifier,
	ExternalTableId SchemaObjectIdentifier,
) *CreateOnExternalTableStreamRequest

func (*CreateOnExternalTableStreamRequest) WithComment added in v0.74.0

func (*CreateOnExternalTableStreamRequest) WithCopyGrants added in v0.74.0

func (*CreateOnExternalTableStreamRequest) WithIfNotExists added in v0.74.0

func (*CreateOnExternalTableStreamRequest) WithInsertOnly added in v0.74.0

func (*CreateOnExternalTableStreamRequest) WithOn added in v0.74.0

func (*CreateOnExternalTableStreamRequest) WithOrReplace added in v0.74.0

func (*CreateOnExternalTableStreamRequest) WithTag added in v0.97.0

type CreateOnGCSStageOptions added in v0.76.0

type CreateOnGCSStageOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	ExternalStageParams   *ExternalGCSStageParams
	DirectoryTableOptions *ExternalGCSDirectoryTableOptions `ddl:"list,parentheses,no_comma" sql:"DIRECTORY ="`
	FileFormat            *StageFileFormat                  `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyOptions           *StageCopyOptions                 `ddl:"list,parentheses,no_comma" sql:"COPY_OPTIONS ="`
	Comment               *string                           `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag                   []TagAssociation                  `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateOnGCSStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stage.

type CreateOnGCSStageRequest added in v0.76.0

type CreateOnGCSStageRequest struct {
	OrReplace   *bool
	Temporary   *bool
	IfNotExists *bool

	ExternalStageParams   *ExternalGCSStageParamsRequest
	DirectoryTableOptions *ExternalGCSDirectoryTableOptionsRequest
	FileFormat            *StageFileFormatRequest
	CopyOptions           *StageCopyOptionsRequest
	Comment               *string
	Tag                   []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateOnGCSStageRequest added in v0.76.0

func NewCreateOnGCSStageRequest(
	name SchemaObjectIdentifier,
) *CreateOnGCSStageRequest

func (*CreateOnGCSStageRequest) WithComment added in v0.76.0

func (s *CreateOnGCSStageRequest) WithComment(Comment *string) *CreateOnGCSStageRequest

func (*CreateOnGCSStageRequest) WithCopyOptions added in v0.76.0

func (*CreateOnGCSStageRequest) WithDirectoryTableOptions added in v0.76.0

func (s *CreateOnGCSStageRequest) WithDirectoryTableOptions(DirectoryTableOptions *ExternalGCSDirectoryTableOptionsRequest) *CreateOnGCSStageRequest

func (*CreateOnGCSStageRequest) WithExternalStageParams added in v0.76.0

func (s *CreateOnGCSStageRequest) WithExternalStageParams(ExternalStageParams *ExternalGCSStageParamsRequest) *CreateOnGCSStageRequest

func (*CreateOnGCSStageRequest) WithFileFormat added in v0.76.0

func (*CreateOnGCSStageRequest) WithIfNotExists added in v0.76.0

func (s *CreateOnGCSStageRequest) WithIfNotExists(IfNotExists *bool) *CreateOnGCSStageRequest

func (*CreateOnGCSStageRequest) WithOrReplace added in v0.76.0

func (s *CreateOnGCSStageRequest) WithOrReplace(OrReplace *bool) *CreateOnGCSStageRequest

func (*CreateOnGCSStageRequest) WithTag added in v0.76.0

func (*CreateOnGCSStageRequest) WithTemporary added in v0.76.0

func (s *CreateOnGCSStageRequest) WithTemporary(Temporary *bool) *CreateOnGCSStageRequest

type CreateOnS3CompatibleStageOptions added in v0.76.0

type CreateOnS3CompatibleStageOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Url                   string                                `ddl:"parameter,single_quotes" sql:"URL"`
	Endpoint              string                                `ddl:"parameter,single_quotes" sql:"ENDPOINT"`
	Credentials           *ExternalStageS3CompatibleCredentials `ddl:"list,parentheses,no_comma" sql:"CREDENTIALS ="`
	DirectoryTableOptions *ExternalS3DirectoryTableOptions      `ddl:"list,parentheses,no_comma" sql:"DIRECTORY ="`
	FileFormat            *StageFileFormat                      `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyOptions           *StageCopyOptions                     `ddl:"list,parentheses,no_comma" sql:"COPY_OPTIONS ="`
	Comment               *string                               `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag                   []TagAssociation                      `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateOnS3CompatibleStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stage.

type CreateOnS3CompatibleStageRequest added in v0.76.0

type CreateOnS3CompatibleStageRequest struct {
	OrReplace   *bool
	Temporary   *bool
	IfNotExists *bool

	Url                   string // required
	Endpoint              string // required
	Credentials           *ExternalStageS3CompatibleCredentialsRequest
	DirectoryTableOptions *ExternalS3DirectoryTableOptionsRequest
	FileFormat            *StageFileFormatRequest
	CopyOptions           *StageCopyOptionsRequest
	Comment               *string
	Tag                   []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateOnS3CompatibleStageRequest added in v0.76.0

func NewCreateOnS3CompatibleStageRequest(
	name SchemaObjectIdentifier,
	Url string,
	Endpoint string,
) *CreateOnS3CompatibleStageRequest

func (*CreateOnS3CompatibleStageRequest) WithComment added in v0.76.0

func (*CreateOnS3CompatibleStageRequest) WithCopyOptions added in v0.76.0

func (*CreateOnS3CompatibleStageRequest) WithCredentials added in v0.76.0

func (*CreateOnS3CompatibleStageRequest) WithDirectoryTableOptions added in v0.76.0

func (*CreateOnS3CompatibleStageRequest) WithFileFormat added in v0.76.0

func (*CreateOnS3CompatibleStageRequest) WithIfNotExists added in v0.76.0

func (*CreateOnS3CompatibleStageRequest) WithOrReplace added in v0.76.0

func (*CreateOnS3CompatibleStageRequest) WithTag added in v0.76.0

func (*CreateOnS3CompatibleStageRequest) WithTemporary added in v0.76.0

type CreateOnS3StageOptions added in v0.76.0

type CreateOnS3StageOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	ExternalStageParams   *ExternalS3StageParams
	DirectoryTableOptions *ExternalS3DirectoryTableOptions `ddl:"list,parentheses,no_comma" sql:"DIRECTORY ="`
	FileFormat            *StageFileFormat                 `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyOptions           *StageCopyOptions                `ddl:"list,parentheses,no_comma" sql:"COPY_OPTIONS ="`
	Comment               *string                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag                   []TagAssociation                 `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateOnS3StageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stage.

type CreateOnS3StageRequest added in v0.76.0

type CreateOnS3StageRequest struct {
	OrReplace   *bool
	Temporary   *bool
	IfNotExists *bool

	ExternalStageParams   *ExternalS3StageParamsRequest
	DirectoryTableOptions *ExternalS3DirectoryTableOptionsRequest
	FileFormat            *StageFileFormatRequest
	CopyOptions           *StageCopyOptionsRequest
	Comment               *string
	Tag                   []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateOnS3StageRequest added in v0.76.0

func NewCreateOnS3StageRequest(
	name SchemaObjectIdentifier,
) *CreateOnS3StageRequest

func (*CreateOnS3StageRequest) WithComment added in v0.76.0

func (s *CreateOnS3StageRequest) WithComment(Comment *string) *CreateOnS3StageRequest

func (*CreateOnS3StageRequest) WithCopyOptions added in v0.76.0

func (s *CreateOnS3StageRequest) WithCopyOptions(CopyOptions *StageCopyOptionsRequest) *CreateOnS3StageRequest

func (*CreateOnS3StageRequest) WithDirectoryTableOptions added in v0.76.0

func (s *CreateOnS3StageRequest) WithDirectoryTableOptions(DirectoryTableOptions *ExternalS3DirectoryTableOptionsRequest) *CreateOnS3StageRequest

func (*CreateOnS3StageRequest) WithExternalStageParams added in v0.76.0

func (s *CreateOnS3StageRequest) WithExternalStageParams(ExternalStageParams *ExternalS3StageParamsRequest) *CreateOnS3StageRequest

func (*CreateOnS3StageRequest) WithFileFormat added in v0.76.0

func (*CreateOnS3StageRequest) WithIfNotExists added in v0.76.0

func (s *CreateOnS3StageRequest) WithIfNotExists(IfNotExists *bool) *CreateOnS3StageRequest

func (*CreateOnS3StageRequest) WithOrReplace added in v0.76.0

func (s *CreateOnS3StageRequest) WithOrReplace(OrReplace *bool) *CreateOnS3StageRequest

func (*CreateOnS3StageRequest) WithTag added in v0.76.0

func (*CreateOnS3StageRequest) WithTemporary added in v0.76.0

func (s *CreateOnS3StageRequest) WithTemporary(Temporary *bool) *CreateOnS3StageRequest

type CreateOnTableStreamOptions added in v0.74.0

type CreateOnTableStreamOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Tag        []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	CopyGrants *bool            `ddl:"keyword" sql:"COPY GRANTS"`

	TableId         SchemaObjectIdentifier `ddl:"identifier"`
	On              *OnStream              `ddl:"keyword"`
	AppendOnly      *bool                  `ddl:"parameter" sql:"APPEND_ONLY"`
	ShowInitialRows *bool                  `ddl:"parameter" sql:"SHOW_INITIAL_ROWS"`
	Comment         *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateOnTableStreamOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stream.

type CreateOnTableStreamRequest added in v0.74.0

type CreateOnTableStreamRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Tag             []TagAssociation
	CopyGrants      *bool
	TableId         SchemaObjectIdentifier // required
	On              *OnStreamRequest
	AppendOnly      *bool
	ShowInitialRows *bool
	Comment         *string
	// contains filtered or unexported fields
}

func NewCreateOnTableStreamRequest added in v0.97.0

func NewCreateOnTableStreamRequest(
	name SchemaObjectIdentifier,
	TableId SchemaObjectIdentifier,
) *CreateOnTableStreamRequest

func (*CreateOnTableStreamRequest) GetName added in v0.97.0

func (*CreateOnTableStreamRequest) WithAppendOnly added in v0.74.0

func (s *CreateOnTableStreamRequest) WithAppendOnly(AppendOnly bool) *CreateOnTableStreamRequest

func (*CreateOnTableStreamRequest) WithComment added in v0.74.0

func (*CreateOnTableStreamRequest) WithCopyGrants added in v0.74.0

func (s *CreateOnTableStreamRequest) WithCopyGrants(CopyGrants bool) *CreateOnTableStreamRequest

func (*CreateOnTableStreamRequest) WithIfNotExists added in v0.74.0

func (s *CreateOnTableStreamRequest) WithIfNotExists(IfNotExists bool) *CreateOnTableStreamRequest

func (*CreateOnTableStreamRequest) WithOn added in v0.74.0

func (*CreateOnTableStreamRequest) WithOrReplace added in v0.74.0

func (s *CreateOnTableStreamRequest) WithOrReplace(OrReplace bool) *CreateOnTableStreamRequest

func (*CreateOnTableStreamRequest) WithShowInitialRows added in v0.74.0

func (s *CreateOnTableStreamRequest) WithShowInitialRows(ShowInitialRows bool) *CreateOnTableStreamRequest

func (*CreateOnTableStreamRequest) WithTag added in v0.97.0

type CreateOnViewStreamOptions added in v0.74.0

type CreateOnViewStreamOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Tag        []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	CopyGrants *bool            `ddl:"keyword" sql:"COPY GRANTS"`

	ViewId          SchemaObjectIdentifier `ddl:"identifier"`
	On              *OnStream              `ddl:"keyword"`
	AppendOnly      *bool                  `ddl:"parameter" sql:"APPEND_ONLY"`
	ShowInitialRows *bool                  `ddl:"parameter" sql:"SHOW_INITIAL_ROWS"`
	Comment         *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateOnViewStreamOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-stream.

type CreateOnViewStreamRequest added in v0.74.0

type CreateOnViewStreamRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Tag             []TagAssociation
	CopyGrants      *bool
	ViewId          SchemaObjectIdentifier // required
	On              *OnStreamRequest
	AppendOnly      *bool
	ShowInitialRows *bool
	Comment         *string
	// contains filtered or unexported fields
}

func NewCreateOnViewStreamRequest added in v0.97.0

func NewCreateOnViewStreamRequest(
	name SchemaObjectIdentifier,
	ViewId SchemaObjectIdentifier,
) *CreateOnViewStreamRequest

func (*CreateOnViewStreamRequest) WithAppendOnly added in v0.74.0

func (s *CreateOnViewStreamRequest) WithAppendOnly(AppendOnly bool) *CreateOnViewStreamRequest

func (*CreateOnViewStreamRequest) WithComment added in v0.74.0

func (*CreateOnViewStreamRequest) WithCopyGrants added in v0.74.0

func (s *CreateOnViewStreamRequest) WithCopyGrants(CopyGrants bool) *CreateOnViewStreamRequest

func (*CreateOnViewStreamRequest) WithIfNotExists added in v0.74.0

func (s *CreateOnViewStreamRequest) WithIfNotExists(IfNotExists bool) *CreateOnViewStreamRequest

func (*CreateOnViewStreamRequest) WithOn added in v0.74.0

func (*CreateOnViewStreamRequest) WithOrReplace added in v0.74.0

func (s *CreateOnViewStreamRequest) WithOrReplace(OrReplace bool) *CreateOnViewStreamRequest

func (*CreateOnViewStreamRequest) WithShowInitialRows added in v0.74.0

func (s *CreateOnViewStreamRequest) WithShowInitialRows(ShowInitialRows bool) *CreateOnViewStreamRequest

func (*CreateOnViewStreamRequest) WithTag added in v0.97.0

type CreateOrAlterTaskOptions added in v0.97.0

type CreateOrAlterTaskOptions struct {
	Warehouse                    *CreateTaskWarehouse     `ddl:"keyword"`
	Schedule                     *string                  `ddl:"parameter,single_quotes" sql:"SCHEDULE"`
	Config                       *string                  `ddl:"parameter,no_quotes" sql:"CONFIG"`
	AllowOverlappingExecution    *bool                    `ddl:"parameter" sql:"ALLOW_OVERLAPPING_EXECUTION"`
	UserTaskTimeoutMs            *int                     `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	SessionParameters            *SessionParameters       `ddl:"list,no_parentheses"`
	SuspendTaskAfterNumFailures  *int                     `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	ErrorNotificationIntegration *AccountObjectIdentifier `ddl:"identifier,equals" sql:"ERROR_INTEGRATION"`
	Comment                      *string                  `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Finalize                     *SchemaObjectIdentifier  `ddl:"identifier,equals" sql:"FINALIZE"`
	TaskAutoRetryAttempts        *int                     `ddl:"parameter" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	After                        []SchemaObjectIdentifier `ddl:"parameter,no_equals" sql:"AFTER"`
	When                         *string                  `ddl:"parameter,no_quotes,no_equals" sql:"WHEN"`
	// contains filtered or unexported fields
}

CreateOrAlterTaskOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-task#create-or-alter-task.

type CreateOrAlterTaskRequest added in v0.97.0

type CreateOrAlterTaskRequest struct {
	Warehouse                    *CreateTaskWarehouseRequest
	Schedule                     *string
	Config                       *string
	AllowOverlappingExecution    *bool
	UserTaskTimeoutMs            *int
	SessionParameters            *SessionParameters
	SuspendTaskAfterNumFailures  *int
	ErrorNotificationIntegration *AccountObjectIdentifier
	Comment                      *string
	Finalize                     *SchemaObjectIdentifier
	TaskAutoRetryAttempts        *int
	After                        []SchemaObjectIdentifier
	When                         *string
	// contains filtered or unexported fields
}

func NewCreateOrAlterTaskRequest added in v0.97.0

func NewCreateOrAlterTaskRequest(
	name SchemaObjectIdentifier,
	sql string,
) *CreateOrAlterTaskRequest

func (*CreateOrAlterTaskRequest) GetName added in v0.97.0

func (*CreateOrAlterTaskRequest) WithAfter added in v0.97.0

func (*CreateOrAlterTaskRequest) WithAllowOverlappingExecution added in v0.97.0

func (s *CreateOrAlterTaskRequest) WithAllowOverlappingExecution(AllowOverlappingExecution bool) *CreateOrAlterTaskRequest

func (*CreateOrAlterTaskRequest) WithComment added in v0.97.0

func (s *CreateOrAlterTaskRequest) WithComment(Comment string) *CreateOrAlterTaskRequest

func (*CreateOrAlterTaskRequest) WithConfig added in v0.97.0

func (*CreateOrAlterTaskRequest) WithErrorNotificationIntegration added in v0.97.0

func (s *CreateOrAlterTaskRequest) WithErrorNotificationIntegration(ErrorNotificationIntegration AccountObjectIdentifier) *CreateOrAlterTaskRequest

func (*CreateOrAlterTaskRequest) WithFinalize added in v0.97.0

func (*CreateOrAlterTaskRequest) WithSchedule added in v0.97.0

func (s *CreateOrAlterTaskRequest) WithSchedule(Schedule string) *CreateOrAlterTaskRequest

func (*CreateOrAlterTaskRequest) WithSessionParameters added in v0.97.0

func (s *CreateOrAlterTaskRequest) WithSessionParameters(SessionParameters SessionParameters) *CreateOrAlterTaskRequest

func (*CreateOrAlterTaskRequest) WithSuspendTaskAfterNumFailures added in v0.97.0

func (s *CreateOrAlterTaskRequest) WithSuspendTaskAfterNumFailures(SuspendTaskAfterNumFailures int) *CreateOrAlterTaskRequest

func (*CreateOrAlterTaskRequest) WithTaskAutoRetryAttempts added in v0.97.0

func (s *CreateOrAlterTaskRequest) WithTaskAutoRetryAttempts(TaskAutoRetryAttempts int) *CreateOrAlterTaskRequest

func (*CreateOrAlterTaskRequest) WithUserTaskTimeoutMs added in v0.97.0

func (s *CreateOrAlterTaskRequest) WithUserTaskTimeoutMs(UserTaskTimeoutMs int) *CreateOrAlterTaskRequest

func (*CreateOrAlterTaskRequest) WithWarehouse added in v0.97.0

func (*CreateOrAlterTaskRequest) WithWhen added in v0.97.0

type CreatePasswordPolicyOptions added in v0.66.0

type CreatePasswordPolicyOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	PasswordMinLength         *int `ddl:"parameter" sql:"PASSWORD_MIN_LENGTH"`
	PasswordMaxLength         *int `ddl:"parameter" sql:"PASSWORD_MAX_LENGTH"`
	PasswordMinUpperCaseChars *int `ddl:"parameter" sql:"PASSWORD_MIN_UPPER_CASE_CHARS"`
	PasswordMinLowerCaseChars *int `ddl:"parameter" sql:"PASSWORD_MIN_LOWER_CASE_CHARS"`
	PasswordMinNumericChars   *int `ddl:"parameter" sql:"PASSWORD_MIN_NUMERIC_CHARS"`
	PasswordMinSpecialChars   *int `ddl:"parameter" sql:"PASSWORD_MIN_SPECIAL_CHARS"`
	PasswordMinAgeDays        *int `ddl:"parameter" sql:"PASSWORD_MIN_AGE_DAYS"`
	PasswordMaxAgeDays        *int `ddl:"parameter" sql:"PASSWORD_MAX_AGE_DAYS"`
	PasswordMaxRetries        *int `ddl:"parameter" sql:"PASSWORD_MAX_RETRIES"`
	PasswordLockoutTimeMins   *int `ddl:"parameter" sql:"PASSWORD_LOCKOUT_TIME_MINS"`
	PasswordHistory           *int `ddl:"parameter" sql:"PASSWORD_HISTORY"`

	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreatePasswordPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-password-policy.

type CreatePipeOptions added in v0.72.0

type CreatePipeOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	AutoIngest       *bool   `ddl:"parameter" sql:"AUTO_INGEST"`
	ErrorIntegration *string `ddl:"parameter,no_quotes" sql:"ERROR_INTEGRATION"`
	AwsSnsTopic      *string `ddl:"parameter,single_quotes" sql:"AWS_SNS_TOPIC"`
	Integration      *string `ddl:"parameter,single_quotes" sql:"INTEGRATION"`
	Comment          *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreatePipeOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-pipe.

type CreateResourceMonitorOptions added in v0.66.0

type CreateResourceMonitorOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	With *ResourceMonitorWith `ddl:"keyword" sql:"WITH"`
	// contains filtered or unexported fields
}

CreateResourceMonitorOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-resource-monitor.

type CreateRoleOptions added in v0.72.0

type CreateRoleOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Comment *string          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag     []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateRoleOptions based on https://docs.snowflake.com/en/sql-reference/sql/create-role

type CreateRoleRequest added in v0.72.0

type CreateRoleRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Comment *string
	Tag     []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateRoleRequest added in v0.72.0

func NewCreateRoleRequest(name AccountObjectIdentifier) *CreateRoleRequest

func (*CreateRoleRequest) GetName added in v0.74.0

func (*CreateRoleRequest) WithComment added in v0.72.0

func (s *CreateRoleRequest) WithComment(comment string) *CreateRoleRequest

func (*CreateRoleRequest) WithIfNotExists added in v0.72.0

func (s *CreateRoleRequest) WithIfNotExists(ifNotExists bool) *CreateRoleRequest

func (*CreateRoleRequest) WithOrReplace added in v0.72.0

func (s *CreateRoleRequest) WithOrReplace(orReplace bool) *CreateRoleRequest

func (*CreateRoleRequest) WithTag added in v0.72.0

type CreateRowAccessPolicyArgs added in v0.84.0

type CreateRowAccessPolicyArgs struct {
	Name string   `ddl:"keyword,double_quotes"`
	Type DataType `ddl:"keyword,no_quotes"`
}

type CreateRowAccessPolicyArgsRequest added in v0.84.0

type CreateRowAccessPolicyArgsRequest struct {
	Name string   // required
	Type DataType // required
}

func NewCreateRowAccessPolicyArgsRequest added in v0.84.0

func NewCreateRowAccessPolicyArgsRequest(
	Name string,
	Type DataType,
) *CreateRowAccessPolicyArgsRequest

type CreateRowAccessPolicyOptions added in v0.84.0

type CreateRowAccessPolicyOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateRowAccessPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-row-access-policy.

type CreateRowAccessPolicyRequest added in v0.84.0

type CreateRowAccessPolicyRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Comment *string
	// contains filtered or unexported fields
}

func NewCreateRowAccessPolicyRequest added in v0.84.0

func NewCreateRowAccessPolicyRequest(
	name SchemaObjectIdentifier,
	args []CreateRowAccessPolicyArgsRequest,
	body string,
) *CreateRowAccessPolicyRequest

func (*CreateRowAccessPolicyRequest) GetName added in v0.84.0

func (*CreateRowAccessPolicyRequest) WithComment added in v0.84.0

func (*CreateRowAccessPolicyRequest) WithIfNotExists added in v0.84.0

func (s *CreateRowAccessPolicyRequest) WithIfNotExists(IfNotExists *bool) *CreateRowAccessPolicyRequest

func (*CreateRowAccessPolicyRequest) WithOrReplace added in v0.84.0

func (s *CreateRowAccessPolicyRequest) WithOrReplace(OrReplace *bool) *CreateRowAccessPolicyRequest

type CreateSaml2SecurityIntegrationOptions added in v0.92.0

type CreateSaml2SecurityIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Enabled                        *bool                                                     `ddl:"parameter" sql:"ENABLED"`
	Saml2Issuer                    string                                                    `ddl:"parameter,single_quotes" sql:"SAML2_ISSUER"`
	Saml2SsoUrl                    string                                                    `ddl:"parameter,single_quotes" sql:"SAML2_SSO_URL"`
	Saml2Provider                  Saml2SecurityIntegrationSaml2ProviderOption               `ddl:"parameter,single_quotes" sql:"SAML2_PROVIDER"`
	Saml2X509Cert                  string                                                    `ddl:"parameter,single_quotes" sql:"SAML2_X509_CERT"`
	AllowedUserDomains             []UserDomain                                              `ddl:"parameter,parentheses" sql:"ALLOWED_USER_DOMAINS"`
	AllowedEmailPatterns           []EmailPattern                                            `ddl:"parameter,parentheses" sql:"ALLOWED_EMAIL_PATTERNS"`
	Saml2SpInitiatedLoginPageLabel *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_SP_INITIATED_LOGIN_PAGE_LABEL"`
	Saml2EnableSpInitiated         *bool                                                     `ddl:"parameter" sql:"SAML2_ENABLE_SP_INITIATED"`
	Saml2SnowflakeX509Cert         *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_SNOWFLAKE_X509_CERT"`
	Saml2SignRequest               *bool                                                     `ddl:"parameter" sql:"SAML2_SIGN_REQUEST"`
	Saml2RequestedNameidFormat     *Saml2SecurityIntegrationSaml2RequestedNameidFormatOption `ddl:"parameter,single_quotes" sql:"SAML2_REQUESTED_NAMEID_FORMAT"`
	Saml2PostLogoutRedirectUrl     *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_POST_LOGOUT_REDIRECT_URL"`
	Saml2ForceAuthn                *bool                                                     `ddl:"parameter" sql:"SAML2_FORCE_AUTHN"`
	Saml2SnowflakeIssuerUrl        *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_SNOWFLAKE_ISSUER_URL"`
	Saml2SnowflakeAcsUrl           *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_SNOWFLAKE_ACS_URL"`
	Comment                        *string                                                   `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateSaml2SecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-saml2.

type CreateSaml2SecurityIntegrationRequest added in v0.92.0

type CreateSaml2SecurityIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Enabled                        *bool
	Saml2Issuer                    string                                      // required
	Saml2SsoUrl                    string                                      // required
	Saml2Provider                  Saml2SecurityIntegrationSaml2ProviderOption // required
	Saml2X509Cert                  string                                      // required
	AllowedUserDomains             []UserDomain
	AllowedEmailPatterns           []EmailPattern
	Saml2SpInitiatedLoginPageLabel *string
	Saml2EnableSpInitiated         *bool
	Saml2SnowflakeX509Cert         *string
	Saml2SignRequest               *bool
	Saml2RequestedNameidFormat     *Saml2SecurityIntegrationSaml2RequestedNameidFormatOption
	Saml2PostLogoutRedirectUrl     *string
	Saml2ForceAuthn                *bool
	Saml2SnowflakeIssuerUrl        *string
	Saml2SnowflakeAcsUrl           *string
	Comment                        *string
	// contains filtered or unexported fields
}

func NewCreateSaml2SecurityIntegrationRequest added in v0.92.0

func NewCreateSaml2SecurityIntegrationRequest(
	name AccountObjectIdentifier,
	Saml2Issuer string,
	Saml2SsoUrl string,
	Saml2Provider Saml2SecurityIntegrationSaml2ProviderOption,
	Saml2X509Cert string,
) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) GetName added in v0.92.0

func (*CreateSaml2SecurityIntegrationRequest) WithAllowedEmailPatterns added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithAllowedEmailPatterns(AllowedEmailPatterns []EmailPattern) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) WithAllowedUserDomains added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithAllowedUserDomains(AllowedUserDomains []UserDomain) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) WithComment added in v0.92.0

func (*CreateSaml2SecurityIntegrationRequest) WithEnabled added in v0.93.0

func (*CreateSaml2SecurityIntegrationRequest) WithIfNotExists added in v0.92.0

func (*CreateSaml2SecurityIntegrationRequest) WithOrReplace added in v0.92.0

func (*CreateSaml2SecurityIntegrationRequest) WithSaml2EnableSpInitiated added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithSaml2EnableSpInitiated(Saml2EnableSpInitiated bool) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) WithSaml2ForceAuthn added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithSaml2ForceAuthn(Saml2ForceAuthn bool) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) WithSaml2PostLogoutRedirectUrl added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithSaml2PostLogoutRedirectUrl(Saml2PostLogoutRedirectUrl string) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) WithSaml2RequestedNameidFormat added in v0.92.0

func (*CreateSaml2SecurityIntegrationRequest) WithSaml2SignRequest added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithSaml2SignRequest(Saml2SignRequest bool) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) WithSaml2SnowflakeAcsUrl added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithSaml2SnowflakeAcsUrl(Saml2SnowflakeAcsUrl string) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) WithSaml2SnowflakeIssuerUrl added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithSaml2SnowflakeIssuerUrl(Saml2SnowflakeIssuerUrl string) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) WithSaml2SnowflakeX509Cert added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithSaml2SnowflakeX509Cert(Saml2SnowflakeX509Cert string) *CreateSaml2SecurityIntegrationRequest

func (*CreateSaml2SecurityIntegrationRequest) WithSaml2SpInitiatedLoginPageLabel added in v0.92.0

func (s *CreateSaml2SecurityIntegrationRequest) WithSaml2SpInitiatedLoginPageLabel(Saml2SpInitiatedLoginPageLabel string) *CreateSaml2SecurityIntegrationRequest

type CreateSchemaOptions added in v0.70.0

type CreateSchemaOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Transient *bool `ddl:"keyword" sql:"TRANSIENT"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Clone             *Clone `ddl:"-"`
	WithManagedAccess *bool  `ddl:"keyword" sql:"WITH MANAGED ACCESS"`

	// Parameters
	DataRetentionTimeInDays                 *int                        `ddl:"parameter" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays              *int                        `ddl:"parameter" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ExternalVolume                          *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"EXTERNAL_VOLUME"`
	Catalog                                 *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"CATALOG"`
	PipeExecutionPaused                     *bool                       `ddl:"parameter" sql:"PIPE_EXECUTION_PAUSED"`
	ReplaceInvalidCharacters                *bool                       `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	DefaultDDLCollation                     *string                     `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	StorageSerializationPolicy              *StorageSerializationPolicy `ddl:"parameter" sql:"STORAGE_SERIALIZATION_POLICY"`
	LogLevel                                *LogLevel                   `ddl:"parameter,single_quotes" sql:"LOG_LEVEL"`
	TraceLevel                              *TraceLevel                 `ddl:"parameter,single_quotes" sql:"TRACE_LEVEL"`
	SuspendTaskAfterNumFailures             *int                        `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TaskAutoRetryAttempts                   *int                        `ddl:"parameter" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskManagedInitialWarehouseSize     *WarehouseSize              `ddl:"parameter" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                       *int                        `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	UserTaskMinimumTriggerIntervalInSeconds *int                        `ddl:"parameter" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	QuotedIdentifiersIgnoreCase             *bool                       `ddl:"parameter" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	EnableConsoleOutput                     *bool                       `ddl:"parameter" sql:"ENABLE_CONSOLE_OUTPUT"`

	Comment *string          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag     []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateSchemaOptions based on https://docs.snowflake.com/en/sql-reference/sql/create-schema

type CreateScimSecurityIntegrationOptions added in v0.92.0

type CreateScimSecurityIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Enabled       *bool                                   `ddl:"parameter" sql:"ENABLED"`
	ScimClient    ScimSecurityIntegrationScimClientOption `ddl:"parameter,single_quotes" sql:"SCIM_CLIENT"`
	RunAsRole     ScimSecurityIntegrationRunAsRoleOption  `ddl:"parameter,single_quotes" sql:"RUN_AS_ROLE"`
	NetworkPolicy *AccountObjectIdentifier                `ddl:"identifier,equals" sql:"NETWORK_POLICY"`
	SyncPassword  *bool                                   `ddl:"parameter" sql:"SYNC_PASSWORD"`
	Comment       *string                                 `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateScimSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-scim.

type CreateScimSecurityIntegrationRequest added in v0.92.0

type CreateScimSecurityIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Enabled       *bool
	ScimClient    ScimSecurityIntegrationScimClientOption // required
	RunAsRole     ScimSecurityIntegrationRunAsRoleOption  // required
	NetworkPolicy *AccountObjectIdentifier
	SyncPassword  *bool
	Comment       *string
	// contains filtered or unexported fields
}

func (*CreateScimSecurityIntegrationRequest) GetName added in v0.92.0

func (*CreateScimSecurityIntegrationRequest) WithComment added in v0.92.0

func (*CreateScimSecurityIntegrationRequest) WithEnabled added in v0.93.0

func (*CreateScimSecurityIntegrationRequest) WithIfNotExists added in v0.92.0

func (*CreateScimSecurityIntegrationRequest) WithNetworkPolicy added in v0.92.0

func (*CreateScimSecurityIntegrationRequest) WithOrReplace added in v0.92.0

func (*CreateScimSecurityIntegrationRequest) WithSyncPassword added in v0.92.0

type CreateSecondaryDatabaseOptions added in v0.66.0

type CreateSecondaryDatabaseOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Transient *bool `ddl:"keyword" sql:"TRANSIENT"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	// Parameters
	DataRetentionTimeInDays                 *int                        `ddl:"parameter" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays              *int                        `ddl:"parameter" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ExternalVolume                          *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"EXTERNAL_VOLUME"`
	Catalog                                 *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"CATALOG"`
	ReplaceInvalidCharacters                *bool                       `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	DefaultDDLCollation                     *string                     `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	StorageSerializationPolicy              *StorageSerializationPolicy `ddl:"parameter" sql:"STORAGE_SERIALIZATION_POLICY"`
	LogLevel                                *LogLevel                   `ddl:"parameter,single_quotes" sql:"LOG_LEVEL"`
	TraceLevel                              *TraceLevel                 `ddl:"parameter,single_quotes" sql:"TRACE_LEVEL"`
	SuspendTaskAfterNumFailures             *int                        `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TaskAutoRetryAttempts                   *int                        `ddl:"parameter" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskManagedInitialWarehouseSize     *WarehouseSize              `ddl:"parameter" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                       *int                        `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	UserTaskMinimumTriggerIntervalInSeconds *int                        `ddl:"parameter" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	QuotedIdentifiersIgnoreCase             *bool                       `ddl:"parameter" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	EnableConsoleOutput                     *bool                       `ddl:"parameter" sql:"ENABLE_CONSOLE_OUTPUT"`

	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateSecondaryDatabaseOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-database.

type CreateSecondaryReplicationGroupOptions added in v0.66.0

type CreateSecondaryReplicationGroupOptions struct {
	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`
	// contains filtered or unexported fields
}

CreateSecondaryReplicationGroupOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-failover-group.

type CreateSequenceOptions added in v0.85.0

type CreateSequenceOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Start          *int            `ddl:"parameter,no_quotes" sql:"START"`
	Increment      *int            `ddl:"parameter,no_quotes" sql:"INCREMENT"`
	ValuesBehavior *ValuesBehavior `ddl:"keyword"`
	Comment        *string         `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateSequenceOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-sequence.

type CreateSequenceRequest added in v0.85.0

type CreateSequenceRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Start          *int
	Increment      *int
	ValuesBehavior *ValuesBehavior
	Comment        *string
	// contains filtered or unexported fields
}

func NewCreateSequenceRequest added in v0.85.0

func NewCreateSequenceRequest(
	name SchemaObjectIdentifier,
) *CreateSequenceRequest

func (*CreateSequenceRequest) WithComment added in v0.85.0

func (s *CreateSequenceRequest) WithComment(Comment *string) *CreateSequenceRequest

func (*CreateSequenceRequest) WithIfNotExists added in v0.85.0

func (s *CreateSequenceRequest) WithIfNotExists(IfNotExists *bool) *CreateSequenceRequest

func (*CreateSequenceRequest) WithIncrement added in v0.85.0

func (s *CreateSequenceRequest) WithIncrement(Increment *int) *CreateSequenceRequest

func (*CreateSequenceRequest) WithOrReplace added in v0.85.0

func (s *CreateSequenceRequest) WithOrReplace(OrReplace *bool) *CreateSequenceRequest

func (*CreateSequenceRequest) WithStart added in v0.85.0

func (s *CreateSequenceRequest) WithStart(Start *int) *CreateSequenceRequest

func (*CreateSequenceRequest) WithValuesBehavior added in v0.85.0

func (s *CreateSequenceRequest) WithValuesBehavior(ValuesBehavior *ValuesBehavior) *CreateSequenceRequest

type CreateSessionPolicyOptions added in v0.66.0

type CreateSessionPolicyOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	SessionIdleTimeoutMins   *int    `ddl:"parameter,no_quotes" sql:"SESSION_IDLE_TIMEOUT_MINS"`
	SessionUiIdleTimeoutMins *int    `ddl:"parameter,no_quotes" sql:"SESSION_UI_IDLE_TIMEOUT_MINS"`
	Comment                  *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateSessionPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-session-policy.

type CreateSessionPolicyRequest added in v0.72.0

type CreateSessionPolicyRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	SessionIdleTimeoutMins   *int
	SessionUiIdleTimeoutMins *int
	Comment                  *string
	// contains filtered or unexported fields
}

func NewCreateSessionPolicyRequest added in v0.72.0

func NewCreateSessionPolicyRequest(
	name SchemaObjectIdentifier,
) *CreateSessionPolicyRequest

func (*CreateSessionPolicyRequest) WithComment added in v0.72.0

func (*CreateSessionPolicyRequest) WithIfNotExists added in v0.72.0

func (s *CreateSessionPolicyRequest) WithIfNotExists(IfNotExists *bool) *CreateSessionPolicyRequest

func (*CreateSessionPolicyRequest) WithOrReplace added in v0.72.0

func (s *CreateSessionPolicyRequest) WithOrReplace(OrReplace *bool) *CreateSessionPolicyRequest

func (*CreateSessionPolicyRequest) WithSessionIdleTimeoutMins added in v0.72.0

func (s *CreateSessionPolicyRequest) WithSessionIdleTimeoutMins(SessionIdleTimeoutMins *int) *CreateSessionPolicyRequest

func (*CreateSessionPolicyRequest) WithSessionUiIdleTimeoutMins added in v0.72.0

func (s *CreateSessionPolicyRequest) WithSessionUiIdleTimeoutMins(SessionUiIdleTimeoutMins *int) *CreateSessionPolicyRequest

type CreateShareOptions added in v0.66.0

type CreateShareOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateShareOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-share.

type CreateSharedDatabaseOptions added in v0.66.0

type CreateSharedDatabaseOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Transient *bool `ddl:"keyword" sql:"TRANSIENT"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	// Parameters
	ExternalVolume                          *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"EXTERNAL_VOLUME"`
	Catalog                                 *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"CATALOG"`
	ReplaceInvalidCharacters                *bool                       `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	DefaultDDLCollation                     *string                     `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	StorageSerializationPolicy              *StorageSerializationPolicy `ddl:"parameter" sql:"STORAGE_SERIALIZATION_POLICY"`
	LogLevel                                *LogLevel                   `ddl:"parameter,single_quotes" sql:"LOG_LEVEL"`
	TraceLevel                              *TraceLevel                 `ddl:"parameter,single_quotes" sql:"TRACE_LEVEL"`
	SuspendTaskAfterNumFailures             *int                        `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TaskAutoRetryAttempts                   *int                        `ddl:"parameter" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskManagedInitialWarehouseSize     *WarehouseSize              `ddl:"parameter" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                       *int                        `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	UserTaskMinimumTriggerIntervalInSeconds *int                        `ddl:"parameter" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	QuotedIdentifiersIgnoreCase             *bool                       `ddl:"parameter" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	EnableConsoleOutput                     *bool                       `ddl:"parameter" sql:"ENABLE_CONSOLE_OUTPUT"`

	Comment *string          `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Tag     []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateSharedDatabaseOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-database.

type CreateStorageIntegrationOptions added in v0.84.0

type CreateStorageIntegrationOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	S3StorageProviderParams    *S3StorageParams    `ddl:"keyword"`
	GCSStorageProviderParams   *GCSStorageParams   `ddl:"keyword"`
	AzureStorageProviderParams *AzureStorageParams `ddl:"keyword"`
	Enabled                    bool                `ddl:"parameter" sql:"ENABLED"`
	StorageAllowedLocations    []StorageLocation   `ddl:"parameter,parentheses" sql:"STORAGE_ALLOWED_LOCATIONS"`
	StorageBlockedLocations    []StorageLocation   `ddl:"parameter,parentheses" sql:"STORAGE_BLOCKED_LOCATIONS"`
	Comment                    *string             `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateStorageIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-storage-integration.

type CreateStorageIntegrationRequest added in v0.84.0

type CreateStorageIntegrationRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	S3StorageProviderParams    *S3StorageParamsRequest
	GCSStorageProviderParams   *GCSStorageParamsRequest
	AzureStorageProviderParams *AzureStorageParamsRequest
	Enabled                    bool              // required
	StorageAllowedLocations    []StorageLocation // required
	StorageBlockedLocations    []StorageLocation
	Comment                    *string
	// contains filtered or unexported fields
}

func NewCreateStorageIntegrationRequest added in v0.84.0

func NewCreateStorageIntegrationRequest(
	name AccountObjectIdentifier,
	Enabled bool,
	StorageAllowedLocations []StorageLocation,
) *CreateStorageIntegrationRequest

func (*CreateStorageIntegrationRequest) WithAzureStorageProviderParams added in v0.84.0

func (s *CreateStorageIntegrationRequest) WithAzureStorageProviderParams(AzureStorageProviderParams *AzureStorageParamsRequest) *CreateStorageIntegrationRequest

func (*CreateStorageIntegrationRequest) WithComment added in v0.84.0

func (*CreateStorageIntegrationRequest) WithGCSStorageProviderParams added in v0.84.0

func (s *CreateStorageIntegrationRequest) WithGCSStorageProviderParams(GCSStorageProviderParams *GCSStorageParamsRequest) *CreateStorageIntegrationRequest

func (*CreateStorageIntegrationRequest) WithIfNotExists added in v0.84.0

func (s *CreateStorageIntegrationRequest) WithIfNotExists(IfNotExists *bool) *CreateStorageIntegrationRequest

func (*CreateStorageIntegrationRequest) WithOrReplace added in v0.84.0

func (*CreateStorageIntegrationRequest) WithS3StorageProviderParams added in v0.84.0

func (s *CreateStorageIntegrationRequest) WithS3StorageProviderParams(S3StorageProviderParams *S3StorageParamsRequest) *CreateStorageIntegrationRequest

func (*CreateStorageIntegrationRequest) WithStorageBlockedLocations added in v0.84.0

func (s *CreateStorageIntegrationRequest) WithStorageBlockedLocations(StorageBlockedLocations []StorageLocation) *CreateStorageIntegrationRequest

type CreateStreamlitOptions added in v0.85.0

type CreateStreamlitOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	RootLocation               string                      `ddl:"parameter,single_quotes" sql:"ROOT_LOCATION"`
	MainFile                   string                      `ddl:"parameter,single_quotes" sql:"MAIN_FILE"`
	QueryWarehouse             *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"QUERY_WAREHOUSE"`
	ExternalAccessIntegrations *ExternalAccessIntegrations `ddl:"parameter,parentheses" sql:"EXTERNAL_ACCESS_INTEGRATIONS"`
	Title                      *string                     `ddl:"parameter,single_quotes" sql:"TITLE"`
	Comment                    *string                     `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateStreamlitOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-streamlit.

type CreateStreamlitRequest added in v0.85.0

type CreateStreamlitRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	RootLocation               string // required
	MainFile                   string // required
	QueryWarehouse             *AccountObjectIdentifier
	ExternalAccessIntegrations *ExternalAccessIntegrationsRequest
	Title                      *string
	Comment                    *string
	// contains filtered or unexported fields
}

func NewCreateStreamlitRequest added in v0.85.0

func NewCreateStreamlitRequest(
	name SchemaObjectIdentifier,
	RootLocation string,
	MainFile string,
) *CreateStreamlitRequest

func (*CreateStreamlitRequest) WithComment added in v0.85.0

func (s *CreateStreamlitRequest) WithComment(Comment string) *CreateStreamlitRequest

func (*CreateStreamlitRequest) WithExternalAccessIntegrations added in v0.94.0

func (s *CreateStreamlitRequest) WithExternalAccessIntegrations(ExternalAccessIntegrations ExternalAccessIntegrationsRequest) *CreateStreamlitRequest

func (*CreateStreamlitRequest) WithIfNotExists added in v0.85.0

func (s *CreateStreamlitRequest) WithIfNotExists(IfNotExists bool) *CreateStreamlitRequest

func (*CreateStreamlitRequest) WithOrReplace added in v0.85.0

func (s *CreateStreamlitRequest) WithOrReplace(OrReplace bool) *CreateStreamlitRequest

func (*CreateStreamlitRequest) WithQueryWarehouse added in v0.94.0

func (s *CreateStreamlitRequest) WithQueryWarehouse(QueryWarehouse AccountObjectIdentifier) *CreateStreamlitRequest

func (*CreateStreamlitRequest) WithTitle added in v0.94.0

type CreateTableAsSelectRequest added in v0.78.0

type CreateTableAsSelectRequest struct {
	// contains filtered or unexported fields
}

func NewCreateTableAsSelectRequest added in v0.78.0

func NewCreateTableAsSelectRequest(
	name SchemaObjectIdentifier,
	columns []TableAsSelectColumnRequest,
	query string,
) *CreateTableAsSelectRequest

func (*CreateTableAsSelectRequest) WithOrReplace added in v0.78.0

func (s *CreateTableAsSelectRequest) WithOrReplace(orReplace *bool) *CreateTableAsSelectRequest

type CreateTableCloneRequest added in v0.78.0

type CreateTableCloneRequest struct {
	ClonePoint *ClonePointRequest
	// contains filtered or unexported fields
}

func NewCreateTableCloneRequest added in v0.78.0

func NewCreateTableCloneRequest(
	name SchemaObjectIdentifier,
	sourceTable SchemaObjectIdentifier,
) *CreateTableCloneRequest

func (*CreateTableCloneRequest) WithClonePoint added in v0.78.0

func (s *CreateTableCloneRequest) WithClonePoint(clonePoint *ClonePointRequest) *CreateTableCloneRequest

func (*CreateTableCloneRequest) WithCopyGrants added in v0.78.0

func (s *CreateTableCloneRequest) WithCopyGrants(copyGrants *bool) *CreateTableCloneRequest

func (*CreateTableCloneRequest) WithOrReplace added in v0.78.0

func (s *CreateTableCloneRequest) WithOrReplace(orReplace *bool) *CreateTableCloneRequest

type CreateTableColumnsAndConstraints added in v0.78.0

type CreateTableColumnsAndConstraints struct {
	Columns             []TableColumn         `ddl:"keyword"`
	OutOfLineConstraint []OutOfLineConstraint `ddl:"list,no_parentheses"`
}

type CreateTableLikeRequest added in v0.78.0

type CreateTableLikeRequest struct {
	// contains filtered or unexported fields
}

func NewCreateTableLikeRequest added in v0.78.0

func NewCreateTableLikeRequest(
	name SchemaObjectIdentifier,
	sourceTable SchemaObjectIdentifier,
) *CreateTableLikeRequest

func (*CreateTableLikeRequest) WithClusterBy added in v0.78.0

func (s *CreateTableLikeRequest) WithClusterBy(clusterBy []string) *CreateTableLikeRequest

func (*CreateTableLikeRequest) WithCopyGrants added in v0.78.0

func (s *CreateTableLikeRequest) WithCopyGrants(copyGrants *bool) *CreateTableLikeRequest

func (*CreateTableLikeRequest) WithOrReplace added in v0.78.0

func (s *CreateTableLikeRequest) WithOrReplace(orReplace *bool) *CreateTableLikeRequest

type CreateTableRequest added in v0.78.0

type CreateTableRequest struct {
	OutOfLineConstraints []OutOfLineConstraintRequest

	DataRetentionTimeInDays    *int
	MaxDataExtensionTimeInDays *int
	ChangeTracking             *bool
	DefaultDDLCollation        *string
	CopyGrants                 *bool
	RowAccessPolicy            *RowAccessPolicyRequest
	Tags                       []TagAssociationRequest
	Comment                    *string
	// contains filtered or unexported fields
}

func NewCreateTableRequest added in v0.78.0

func NewCreateTableRequest(
	name SchemaObjectIdentifier,
	columns []TableColumnRequest,
) *CreateTableRequest

func (*CreateTableRequest) GetName added in v0.97.0

func (*CreateTableRequest) WithChangeTracking added in v0.78.0

func (s *CreateTableRequest) WithChangeTracking(changeTracking *bool) *CreateTableRequest

func (*CreateTableRequest) WithClusterBy added in v0.78.0

func (s *CreateTableRequest) WithClusterBy(clusterBy []string) *CreateTableRequest

func (*CreateTableRequest) WithComment added in v0.78.0

func (s *CreateTableRequest) WithComment(comment *string) *CreateTableRequest

func (*CreateTableRequest) WithCopyGrants added in v0.78.0

func (s *CreateTableRequest) WithCopyGrants(copyGrants *bool) *CreateTableRequest

func (*CreateTableRequest) WithDataRetentionTimeInDays added in v0.78.0

func (s *CreateTableRequest) WithDataRetentionTimeInDays(dataRetentionTimeInDays *int) *CreateTableRequest

func (*CreateTableRequest) WithDefaultDDLCollation added in v0.78.0

func (s *CreateTableRequest) WithDefaultDDLCollation(defaultDDLCollation *string) *CreateTableRequest

func (*CreateTableRequest) WithEnableSchemaEvolution added in v0.78.0

func (s *CreateTableRequest) WithEnableSchemaEvolution(enableSchemaEvolution *bool) *CreateTableRequest

func (*CreateTableRequest) WithIfNotExists added in v0.78.0

func (s *CreateTableRequest) WithIfNotExists(ifNotExists *bool) *CreateTableRequest

func (*CreateTableRequest) WithKind added in v0.78.0

func (s *CreateTableRequest) WithKind(kind *TableKind) *CreateTableRequest

func (*CreateTableRequest) WithMaxDataExtensionTimeInDays added in v0.78.0

func (s *CreateTableRequest) WithMaxDataExtensionTimeInDays(maxDataExtensionTimeInDays *int) *CreateTableRequest

func (*CreateTableRequest) WithOrReplace added in v0.78.0

func (s *CreateTableRequest) WithOrReplace(orReplace *bool) *CreateTableRequest

func (*CreateTableRequest) WithOutOfLineConstraint added in v0.78.0

func (s *CreateTableRequest) WithOutOfLineConstraint(outOfLineConstraint OutOfLineConstraintRequest) *CreateTableRequest

func (*CreateTableRequest) WithRowAccessPolicy added in v0.78.0

func (s *CreateTableRequest) WithRowAccessPolicy(rowAccessPolicy *RowAccessPolicyRequest) *CreateTableRequest

func (*CreateTableRequest) WithScope added in v0.78.0

func (s *CreateTableRequest) WithScope(scope *TableScope) *CreateTableRequest

func (*CreateTableRequest) WithStageCopyOptions added in v0.78.0

func (s *CreateTableRequest) WithStageCopyOptions(stageCopyOptions StageCopyOptionsRequest) *CreateTableRequest

func (*CreateTableRequest) WithStageFileFormat added in v0.78.0

func (s *CreateTableRequest) WithStageFileFormat(stageFileFormat StageFileFormatRequest) *CreateTableRequest

func (*CreateTableRequest) WithTags added in v0.78.0

type CreateTableUsingTemplateRequest added in v0.78.0

type CreateTableUsingTemplateRequest struct {
	Query string // required
	// contains filtered or unexported fields
}

func NewCreateTableUsingTemplateRequest added in v0.78.0

func NewCreateTableUsingTemplateRequest(
	name SchemaObjectIdentifier,
	query string,
) *CreateTableUsingTemplateRequest

func (*CreateTableUsingTemplateRequest) WithCopyGrants added in v0.78.0

func (*CreateTableUsingTemplateRequest) WithOrReplace added in v0.78.0

type CreateTagRequest added in v0.74.0

type CreateTagRequest struct {
	// contains filtered or unexported fields
}

func NewCreateTagRequest added in v0.74.0

func NewCreateTagRequest(name SchemaObjectIdentifier) *CreateTagRequest

func (*CreateTagRequest) WithAllowedValues added in v0.74.0

func (s *CreateTagRequest) WithAllowedValues(values []string) *CreateTagRequest

func (*CreateTagRequest) WithComment added in v0.74.0

func (s *CreateTagRequest) WithComment(comment *string) *CreateTagRequest

func (*CreateTagRequest) WithIfExists added in v0.74.0

func (s *CreateTagRequest) WithIfExists(ifExists bool) *CreateTagRequest

func (*CreateTagRequest) WithOrReplace added in v0.74.0

func (s *CreateTagRequest) WithOrReplace(orReplace bool) *CreateTagRequest

type CreateTaskOptions added in v0.73.0

type CreateTaskOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Warehouse                               *CreateTaskWarehouse     `ddl:"keyword"`
	Schedule                                *string                  `ddl:"parameter,single_quotes" sql:"SCHEDULE"`
	Config                                  *string                  `ddl:"parameter,no_quotes" sql:"CONFIG"`
	AllowOverlappingExecution               *bool                    `ddl:"parameter" sql:"ALLOW_OVERLAPPING_EXECUTION"`
	SessionParameters                       *SessionParameters       `ddl:"list,no_parentheses"`
	UserTaskTimeoutMs                       *int                     `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	SuspendTaskAfterNumFailures             *int                     `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	ErrorNotificationIntegration            *AccountObjectIdentifier `ddl:"identifier,equals" sql:"ERROR_INTEGRATION"`
	Comment                                 *string                  `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Finalize                                *SchemaObjectIdentifier  `ddl:"identifier,equals" sql:"FINALIZE"`
	TaskAutoRetryAttempts                   *int                     `ddl:"parameter" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	Tag                                     []TagAssociation         `ddl:"keyword,parentheses" sql:"TAG"`
	UserTaskMinimumTriggerIntervalInSeconds *int                     `ddl:"parameter" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	After                                   []SchemaObjectIdentifier `ddl:"parameter,no_equals" sql:"AFTER"`
	When                                    *string                  `ddl:"parameter,no_quotes,no_equals" sql:"WHEN"`
	// contains filtered or unexported fields
}

CreateTaskOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-task.

type CreateTaskRequest added in v0.73.0

type CreateTaskRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Warehouse                               *CreateTaskWarehouseRequest
	Schedule                                *string
	Config                                  *string
	AllowOverlappingExecution               *bool
	SessionParameters                       *SessionParameters
	UserTaskTimeoutMs                       *int
	SuspendTaskAfterNumFailures             *int
	ErrorNotificationIntegration            *AccountObjectIdentifier
	Comment                                 *string
	Finalize                                *SchemaObjectIdentifier
	TaskAutoRetryAttempts                   *int
	Tag                                     []TagAssociation
	UserTaskMinimumTriggerIntervalInSeconds *int
	After                                   []SchemaObjectIdentifier
	When                                    *string
	// contains filtered or unexported fields
}

func NewCreateTaskRequest added in v0.73.0

func NewCreateTaskRequest(
	name SchemaObjectIdentifier,
	sql string,
) *CreateTaskRequest

func (*CreateTaskRequest) GetName added in v0.74.0

func (*CreateTaskRequest) WithAfter added in v0.73.0

func (*CreateTaskRequest) WithAllowOverlappingExecution added in v0.73.0

func (s *CreateTaskRequest) WithAllowOverlappingExecution(AllowOverlappingExecution bool) *CreateTaskRequest

func (*CreateTaskRequest) WithComment added in v0.73.0

func (s *CreateTaskRequest) WithComment(Comment string) *CreateTaskRequest

func (*CreateTaskRequest) WithConfig added in v0.73.0

func (s *CreateTaskRequest) WithConfig(Config string) *CreateTaskRequest

func (*CreateTaskRequest) WithErrorNotificationIntegration added in v0.97.0

func (s *CreateTaskRequest) WithErrorNotificationIntegration(ErrorNotificationIntegration AccountObjectIdentifier) *CreateTaskRequest

func (*CreateTaskRequest) WithFinalize added in v0.97.0

func (s *CreateTaskRequest) WithFinalize(Finalize SchemaObjectIdentifier) *CreateTaskRequest

func (*CreateTaskRequest) WithIfNotExists added in v0.73.0

func (s *CreateTaskRequest) WithIfNotExists(IfNotExists bool) *CreateTaskRequest

func (*CreateTaskRequest) WithOrReplace added in v0.73.0

func (s *CreateTaskRequest) WithOrReplace(OrReplace bool) *CreateTaskRequest

func (*CreateTaskRequest) WithSchedule added in v0.73.0

func (s *CreateTaskRequest) WithSchedule(Schedule string) *CreateTaskRequest

func (*CreateTaskRequest) WithSessionParameters added in v0.73.0

func (s *CreateTaskRequest) WithSessionParameters(SessionParameters SessionParameters) *CreateTaskRequest

func (*CreateTaskRequest) WithSuspendTaskAfterNumFailures added in v0.73.0

func (s *CreateTaskRequest) WithSuspendTaskAfterNumFailures(SuspendTaskAfterNumFailures int) *CreateTaskRequest

func (*CreateTaskRequest) WithTag added in v0.73.0

func (*CreateTaskRequest) WithTaskAutoRetryAttempts added in v0.97.0

func (s *CreateTaskRequest) WithTaskAutoRetryAttempts(TaskAutoRetryAttempts int) *CreateTaskRequest

func (*CreateTaskRequest) WithUserTaskMinimumTriggerIntervalInSeconds added in v0.97.0

func (s *CreateTaskRequest) WithUserTaskMinimumTriggerIntervalInSeconds(UserTaskMinimumTriggerIntervalInSeconds int) *CreateTaskRequest

func (*CreateTaskRequest) WithUserTaskTimeoutMs added in v0.73.0

func (s *CreateTaskRequest) WithUserTaskTimeoutMs(UserTaskTimeoutMs int) *CreateTaskRequest

func (*CreateTaskRequest) WithWarehouse added in v0.73.0

func (s *CreateTaskRequest) WithWarehouse(Warehouse CreateTaskWarehouseRequest) *CreateTaskRequest

func (*CreateTaskRequest) WithWhen added in v0.73.0

func (s *CreateTaskRequest) WithWhen(When string) *CreateTaskRequest

type CreateTaskWarehouse added in v0.73.0

type CreateTaskWarehouse struct {
	Warehouse                           *AccountObjectIdentifier `ddl:"identifier,equals" sql:"WAREHOUSE"`
	UserTaskManagedInitialWarehouseSize *WarehouseSize           `ddl:"parameter,single_quotes" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
}

type CreateTaskWarehouseRequest added in v0.73.0

type CreateTaskWarehouseRequest struct {
	Warehouse                           *AccountObjectIdentifier
	UserTaskManagedInitialWarehouseSize *WarehouseSize
}

func NewCreateTaskWarehouseRequest added in v0.73.0

func NewCreateTaskWarehouseRequest() *CreateTaskWarehouseRequest

func (*CreateTaskWarehouseRequest) WithUserTaskManagedInitialWarehouseSize added in v0.73.0

func (s *CreateTaskWarehouseRequest) WithUserTaskManagedInitialWarehouseSize(UserTaskManagedInitialWarehouseSize WarehouseSize) *CreateTaskWarehouseRequest

func (*CreateTaskWarehouseRequest) WithWarehouse added in v0.73.0

type CreateUserOptions added in v0.66.0

type CreateUserOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	ObjectProperties  *UserObjectProperties `ddl:"keyword"`
	ObjectParameters  *UserObjectParameters `ddl:"keyword"`
	SessionParameters *SessionParameters    `ddl:"keyword"`
	With              *bool                 `ddl:"keyword" sql:"WITH"`
	Tags              []TagAssociation      `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateUserOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-user.

type CreateViewOptions added in v0.76.0

type CreateViewOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`
	Secure    *bool `ddl:"keyword" sql:"SECURE"`
	Temporary *bool `ddl:"keyword" sql:"TEMPORARY"`
	Recursive *bool `ddl:"keyword" sql:"RECURSIVE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Columns           []ViewColumn           `ddl:"list,parentheses"`
	CopyGrants        *bool                  `ddl:"keyword" sql:"COPY GRANTS"`
	Comment           *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
	RowAccessPolicy   *ViewRowAccessPolicy   `ddl:"keyword"`
	AggregationPolicy *ViewAggregationPolicy `ddl:"keyword"`
	Tag               []TagAssociation       `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-view.

type CreateViewRequest added in v0.76.0

type CreateViewRequest struct {
	OrReplace   *bool
	Secure      *bool
	Temporary   *bool
	Recursive   *bool
	IfNotExists *bool

	Columns           []ViewColumnRequest
	CopyGrants        *bool
	Comment           *string
	RowAccessPolicy   *ViewRowAccessPolicyRequest
	AggregationPolicy *ViewAggregationPolicyRequest
	Tag               []TagAssociation
	// contains filtered or unexported fields
}

func NewCreateViewRequest added in v0.76.0

func NewCreateViewRequest(
	name SchemaObjectIdentifier,
	sql string,
) *CreateViewRequest

func (*CreateViewRequest) GetName added in v0.76.0

func (*CreateViewRequest) WithAggregationPolicy added in v0.95.0

func (s *CreateViewRequest) WithAggregationPolicy(AggregationPolicy ViewAggregationPolicyRequest) *CreateViewRequest

func (*CreateViewRequest) WithColumns added in v0.76.0

func (s *CreateViewRequest) WithColumns(Columns []ViewColumnRequest) *CreateViewRequest

func (*CreateViewRequest) WithComment added in v0.76.0

func (s *CreateViewRequest) WithComment(Comment string) *CreateViewRequest

func (*CreateViewRequest) WithCopyGrants added in v0.76.0

func (s *CreateViewRequest) WithCopyGrants(CopyGrants bool) *CreateViewRequest

func (*CreateViewRequest) WithIfNotExists added in v0.76.0

func (s *CreateViewRequest) WithIfNotExists(IfNotExists bool) *CreateViewRequest

func (*CreateViewRequest) WithOrReplace added in v0.76.0

func (s *CreateViewRequest) WithOrReplace(OrReplace bool) *CreateViewRequest

func (*CreateViewRequest) WithRecursive added in v0.76.0

func (s *CreateViewRequest) WithRecursive(Recursive bool) *CreateViewRequest

func (*CreateViewRequest) WithRowAccessPolicy added in v0.76.0

func (s *CreateViewRequest) WithRowAccessPolicy(RowAccessPolicy ViewRowAccessPolicyRequest) *CreateViewRequest

func (*CreateViewRequest) WithSecure added in v0.76.0

func (s *CreateViewRequest) WithSecure(Secure bool) *CreateViewRequest

func (*CreateViewRequest) WithTag added in v0.76.0

func (*CreateViewRequest) WithTemporary added in v0.76.0

func (s *CreateViewRequest) WithTemporary(Temporary bool) *CreateViewRequest

type CreateWarehouseOptions added in v0.66.0

type CreateWarehouseOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	// Object properties
	WarehouseType                   *WarehouseType           `ddl:"parameter,single_quotes" sql:"WAREHOUSE_TYPE"`
	WarehouseSize                   *WarehouseSize           `ddl:"parameter,single_quotes" sql:"WAREHOUSE_SIZE"`
	MaxClusterCount                 *int                     `ddl:"parameter" sql:"MAX_CLUSTER_COUNT"`
	MinClusterCount                 *int                     `ddl:"parameter" sql:"MIN_CLUSTER_COUNT"`
	ScalingPolicy                   *ScalingPolicy           `ddl:"parameter,single_quotes" sql:"SCALING_POLICY"`
	AutoSuspend                     *int                     `ddl:"parameter" sql:"AUTO_SUSPEND"`
	AutoResume                      *bool                    `ddl:"parameter" sql:"AUTO_RESUME"`
	InitiallySuspended              *bool                    `ddl:"parameter" sql:"INITIALLY_SUSPENDED"`
	ResourceMonitor                 *AccountObjectIdentifier `ddl:"identifier,equals" sql:"RESOURCE_MONITOR"`
	Comment                         *string                  `ddl:"parameter,single_quotes" sql:"COMMENT"`
	EnableQueryAcceleration         *bool                    `ddl:"parameter" sql:"ENABLE_QUERY_ACCELERATION"`
	QueryAccelerationMaxScaleFactor *int                     `ddl:"parameter" sql:"QUERY_ACCELERATION_MAX_SCALE_FACTOR"`

	// Object params
	MaxConcurrencyLevel             *int             `ddl:"parameter" sql:"MAX_CONCURRENCY_LEVEL"`
	StatementQueuedTimeoutInSeconds *int             `ddl:"parameter" sql:"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"`
	StatementTimeoutInSeconds       *int             `ddl:"parameter" sql:"STATEMENT_TIMEOUT_IN_SECONDS"`
	Tag                             []TagAssociation `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateWarehouseOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-warehouse.

type CreateWithBasicAuthenticationSecretOptions added in v0.97.0

type CreateWithBasicAuthenticationSecretOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Username string  `ddl:"parameter,single_quotes" sql:"USERNAME"`
	Password string  `ddl:"parameter,single_quotes" sql:"PASSWORD"`
	Comment  *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateWithBasicAuthenticationSecretOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-secret.

type CreateWithBasicAuthenticationSecretRequest added in v0.97.0

type CreateWithBasicAuthenticationSecretRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	Username string // required
	Password string // required
	Comment  *string
	// contains filtered or unexported fields
}

func NewCreateWithBasicAuthenticationSecretRequest added in v0.97.0

func NewCreateWithBasicAuthenticationSecretRequest(
	name SchemaObjectIdentifier,
	Username string,
	Password string,
) *CreateWithBasicAuthenticationSecretRequest

func (*CreateWithBasicAuthenticationSecretRequest) WithComment added in v0.97.0

func (*CreateWithBasicAuthenticationSecretRequest) WithIfNotExists added in v0.97.0

func (*CreateWithBasicAuthenticationSecretRequest) WithOrReplace added in v0.97.0

type CreateWithGenericStringSecretOptions added in v0.97.0

type CreateWithGenericStringSecretOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	SecretString string  `ddl:"parameter,single_quotes" sql:"SECRET_STRING"`
	Comment      *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateWithGenericStringSecretOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-secret.

type CreateWithGenericStringSecretRequest added in v0.97.0

type CreateWithGenericStringSecretRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	SecretString string // required
	Comment      *string
	// contains filtered or unexported fields
}

func NewCreateWithGenericStringSecretRequest added in v0.97.0

func NewCreateWithGenericStringSecretRequest(
	name SchemaObjectIdentifier,
	SecretString string,
) *CreateWithGenericStringSecretRequest

func (*CreateWithGenericStringSecretRequest) WithComment added in v0.97.0

func (*CreateWithGenericStringSecretRequest) WithIfNotExists added in v0.97.0

func (*CreateWithGenericStringSecretRequest) WithOrReplace added in v0.97.0

type CreateWithManualPartitioningExternalTableOptions added in v0.72.0

type CreateWithManualPartitioningExternalTableOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	Columns             []ExternalTableColumn `ddl:"list,parentheses"`
	CloudProviderParams *CloudProviderParams
	PartitionBy         []string `ddl:"keyword,parentheses" sql:"PARTITION BY"`
	Location            string   `ddl:"parameter" sql:"LOCATION"`

	FileFormat []ExternalTableFileFormat `ddl:"parameter,parentheses" sql:"FILE_FORMAT"`
	// RawFileFormat was introduced, because of the decision taken during https://github.com/Snowflake-Labs/terraform-provider-snowflake/pull/2228
	// that for now the snowflake_external_table resource should continue on using raw file format, which wasn't previously supported by the new SDK.
	// In the future it should most likely be replaced by a more structured version FileFormat
	RawFileFormat   *RawFileFormat        `ddl:"list,parentheses" sql:"FILE_FORMAT ="`
	CopyGrants      *bool                 `ddl:"keyword" sql:"COPY GRANTS"`
	Comment         *string               `ddl:"parameter,single_quotes" sql:"COMMENT"`
	RowAccessPolicy *TableRowAccessPolicy `ddl:"keyword"`
	Tag             []TagAssociation      `ddl:"keyword,parentheses" sql:"TAG"`
	// contains filtered or unexported fields
}

CreateWithManualPartitioningExternalTableOptions based on https://docs.snowflake.com/en/sql-reference/sql/create-external-table

type CreateWithManualPartitioningExternalTableRequest added in v0.72.0

type CreateWithManualPartitioningExternalTableRequest struct {
	// contains filtered or unexported fields
}

func NewCreateWithManualPartitioningExternalTableRequest added in v0.72.0

func NewCreateWithManualPartitioningExternalTableRequest(
	name SchemaObjectIdentifier,
	location string,
) *CreateWithManualPartitioningExternalTableRequest

func (*CreateWithManualPartitioningExternalTableRequest) WithCloudProviderParams added in v0.72.0

func (*CreateWithManualPartitioningExternalTableRequest) WithColumns added in v0.72.0

func (*CreateWithManualPartitioningExternalTableRequest) WithComment added in v0.72.0

func (*CreateWithManualPartitioningExternalTableRequest) WithCopyGrants added in v0.72.0

func (*CreateWithManualPartitioningExternalTableRequest) WithFileFormat added in v0.80.0

func (*CreateWithManualPartitioningExternalTableRequest) WithIfNotExists added in v0.72.0

func (*CreateWithManualPartitioningExternalTableRequest) WithOrReplace added in v0.72.0

func (*CreateWithManualPartitioningExternalTableRequest) WithPartitionBy added in v0.72.0

func (*CreateWithManualPartitioningExternalTableRequest) WithRawFileFormat added in v0.80.0

func (*CreateWithManualPartitioningExternalTableRequest) WithRowAccessPolicy added in v0.72.0

func (*CreateWithManualPartitioningExternalTableRequest) WithTag added in v0.72.0

type CreateWithOAuthAuthorizationCodeFlowSecretOptions added in v0.97.0

type CreateWithOAuthAuthorizationCodeFlowSecretOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	OauthRefreshToken           string                  `ddl:"parameter,single_quotes" sql:"OAUTH_REFRESH_TOKEN"`
	OauthRefreshTokenExpiryTime string                  `ddl:"parameter,single_quotes" sql:"OAUTH_REFRESH_TOKEN_EXPIRY_TIME"`
	ApiIntegration              AccountObjectIdentifier `ddl:"identifier,equals" sql:"API_AUTHENTICATION"`
	Comment                     *string                 `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateWithOAuthAuthorizationCodeFlowSecretOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-secret.

type CreateWithOAuthAuthorizationCodeFlowSecretRequest added in v0.97.0

type CreateWithOAuthAuthorizationCodeFlowSecretRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	OauthRefreshToken           string                  // required
	OauthRefreshTokenExpiryTime string                  // required
	ApiIntegration              AccountObjectIdentifier // required
	Comment                     *string
	// contains filtered or unexported fields
}

func NewCreateWithOAuthAuthorizationCodeFlowSecretRequest added in v0.97.0

func NewCreateWithOAuthAuthorizationCodeFlowSecretRequest(
	name SchemaObjectIdentifier,
	OauthRefreshToken string,
	OauthRefreshTokenExpiryTime string,
	ApiIntegration AccountObjectIdentifier,
) *CreateWithOAuthAuthorizationCodeFlowSecretRequest

func (*CreateWithOAuthAuthorizationCodeFlowSecretRequest) WithComment added in v0.97.0

func (*CreateWithOAuthAuthorizationCodeFlowSecretRequest) WithIfNotExists added in v0.97.0

func (*CreateWithOAuthAuthorizationCodeFlowSecretRequest) WithOrReplace added in v0.97.0

type CreateWithOAuthClientCredentialsFlowSecretOptions added in v0.97.0

type CreateWithOAuthClientCredentialsFlowSecretOptions struct {
	OrReplace *bool `ddl:"keyword" sql:"OR REPLACE"`

	IfNotExists *bool `ddl:"keyword" sql:"IF NOT EXISTS"`

	ApiIntegration AccountObjectIdentifier `ddl:"identifier,equals" sql:"API_AUTHENTICATION"`
	OauthScopes    *OauthScopesList        `ddl:"parameter,parentheses" sql:"OAUTH_SCOPES"`
	Comment        *string                 `ddl:"parameter,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

CreateWithOAuthClientCredentialsFlowSecretOptions is based on https://docs.snowflake.com/en/sql-reference/sql/create-secret.

type CreateWithOAuthClientCredentialsFlowSecretRequest added in v0.97.0

type CreateWithOAuthClientCredentialsFlowSecretRequest struct {
	OrReplace   *bool
	IfNotExists *bool

	ApiIntegration AccountObjectIdentifier // required
	OauthScopes    *OauthScopesListRequest
	Comment        *string
	// contains filtered or unexported fields
}

func NewCreateWithOAuthClientCredentialsFlowSecretRequest added in v0.97.0

func NewCreateWithOAuthClientCredentialsFlowSecretRequest(
	name SchemaObjectIdentifier,
	ApiIntegration AccountObjectIdentifier,
) *CreateWithOAuthClientCredentialsFlowSecretRequest

func (*CreateWithOAuthClientCredentialsFlowSecretRequest) WithComment added in v0.97.0

func (*CreateWithOAuthClientCredentialsFlowSecretRequest) WithIfNotExists added in v0.97.0

func (*CreateWithOAuthClientCredentialsFlowSecretRequest) WithOauthScopes added in v0.97.0

func (*CreateWithOAuthClientCredentialsFlowSecretRequest) WithOrReplace added in v0.97.0

type CurrentSecondaryRoles added in v0.72.0

type CurrentSecondaryRoles struct {
	Roles []AccountObjectIdentifier
	Value SecondaryRoleOption
}

type CurrentSessionDetails added in v0.86.0

type CurrentSessionDetails struct {
	Account          string `db:"CURRENT_ACCOUNT"`
	AccountName      string `db:"CURRENT_ACCOUNT_NAME"`
	OrganizationName string `db:"CURRENT_ORGANIZATION_NAME"`
	Role             string `db:"CURRENT_ROLE"`
	Region           string `db:"CURRENT_REGION"`
	Session          string `db:"CURRENT_SESSION"`
	User             string `db:"CURRENT_USER"`
}

func (*CurrentSessionDetails) AccountURL added in v0.86.0

func (acc *CurrentSessionDetails) AccountURL() (string, error)

type DataMetricFuncionRefEntityDomainOption added in v0.95.0

type DataMetricFuncionRefEntityDomainOption string
const (
	DataMetricFuncionRefEntityDomainView DataMetricFuncionRefEntityDomainOption = "VIEW"
)

type DataMetricFunctionRefArgument added in v0.95.0

type DataMetricFunctionRefArgument struct {
	Domain string `json:"domain"`
	Id     string `json:"id"`
	Name   string `json:"name"`
}

type DataMetricFunctionReference added in v0.95.0

type DataMetricFunctionReference struct {
	MetricDatabaseName    string
	MetricSchemaName      string
	MetricName            string
	ArgumentSignature     string
	DataType              string
	RefEntityDatabaseName string
	RefEntitySchemaName   string
	RefEntityName         string
	RefEntityDomain       string
	RefArguments          []DataMetricFunctionRefArgument
	RefId                 string
	Schedule              string
	ScheduleStatus        string
}

type DataMetricFunctionReferences added in v0.95.0

type DataMetricFunctionReferences interface {
	GetForEntity(ctx context.Context, request *GetForEntityDataMetricFunctionReferenceRequest) ([]DataMetricFunctionReference, error)
}

type DataMetricScheduleStatusOption added in v0.95.0

type DataMetricScheduleStatusOption string
const (
	DataMetricScheduleStatusStarted                                                   DataMetricScheduleStatusOption = "STARTED"
	DataMetricScheduleStatusStartedAndPendingScheduleUpdate                           DataMetricScheduleStatusOption = "STARTED_AND_PENDING_SCHEDULE_UPDATE"
	DataMetricScheduleStatusSuspended                                                 DataMetricScheduleStatusOption = "SUSPENDED"
	DataMetricScheduleStatusSuspendedTableDoesNotExistOrNotAuthorized                 DataMetricScheduleStatusOption = "SUSPENDED_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED"
	DataMetricScheduleStatusSuspendedDataMetricFunctionDoesNotExistOrNotAuthorized    DataMetricScheduleStatusOption = "SUSPENDED_DATA_METRIC_FUNCTION_DOES_NOT_EXIST_OR_NOT_AUTHORIZED"
	DataMetricScheduleStatusSuspendedTableColumnDoesNotExistOrNotAuthorized           DataMetricScheduleStatusOption = "SUSPENDED_TABLE_COLUMN_DOES_NOT_EXIST_OR_NOT_AUTHORIZED"
	DataMetricScheduleStatusSuspendedInsufficientPrivilegeToExecuteDataMetricFunction DataMetricScheduleStatusOption = "SUSPENDED_INSUFFICIENT_PRIVILEGE_TO_EXECUTE_DATA_METRIC_FUNCTION"
	DataMetricScheduleStatusSuspendedActiveEventTableDoesNotExistOrNotAuthorized      DataMetricScheduleStatusOption = "SUSPENDED_ACTIVE_EVENT_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED"
	DataMetricScheduleStatusSuspendedByUserAction                                     DataMetricScheduleStatusOption = "SUSPENDED_BY_USER_ACTION"
)

func ToAllowedDataMetricScheduleStatusOption added in v0.95.0

func ToAllowedDataMetricScheduleStatusOption(s string) (DataMetricScheduleStatusOption, error)

func ToDataMetricScheduleStatusOption added in v0.95.0

func ToDataMetricScheduleStatusOption(s string) (DataMetricScheduleStatusOption, error)

type DataType

type DataType string

DataType is based on https://docs.snowflake.com/en/sql-reference/intro-summary-data-types.

const (
	DataTypeNumber       DataType = "NUMBER"
	DataTypeInt          DataType = "INT"
	DataTypeFloat        DataType = "FLOAT"
	DataTypeVARCHAR      DataType = "VARCHAR"
	DataTypeString       DataType = "STRING"
	DataTypeBinary       DataType = "BINARY"
	DataTypeBoolean      DataType = "BOOLEAN"
	DataTypeDate         DataType = "DATE"
	DataTypeTime         DataType = "TIME"
	DataTypeTimestamp    DataType = "TIMESTAMP"
	DataTypeTimestampLTZ DataType = "TIMESTAMP_LTZ"
	DataTypeTimestampNTZ DataType = "TIMESTAMP_NTZ"
	DataTypeTimestampTZ  DataType = "TIMESTAMP_TZ"
	DataTypeVariant      DataType = "VARIANT"
	DataTypeObject       DataType = "OBJECT"
	DataTypeArray        DataType = "ARRAY"
	DataTypeGeography    DataType = "GEOGRAPHY"
	DataTypeGeometry     DataType = "GEOMETRY"
)

func ParseFunctionArgumentsFromString added in v0.95.0

func ParseFunctionArgumentsFromString(arguments string) ([]DataType, error)

ParseFunctionArgumentsFromString parses function argument from arguments string with optional argument names. Varying types are not supported (e.g. VARCHAR(200)), because Snowflake outputs them in a shortened version (VARCHAR in this case). The only exception is newly added type VECTOR that has the following structure VECTOR(<type>, n) where <type> right now can be either INT or FLOAT and n is the number of elements in the VECTOR. Snowflake returns vectors with their exact type, and this function supports it.

func ToDataType added in v0.66.2

func ToDataType(s string) (DataType, error)

type Database

type Database struct {
	CreatedOn     time.Time
	Name          string
	IsDefault     bool
	IsCurrent     bool
	Origin        *ExternalObjectIdentifier
	Owner         string
	Comment       string
	Options       string
	RetentionTime int
	ResourceGroup string
	DroppedOn     time.Time
	Transient     bool
	Kind          string
	OwnerRoleType string
}

func (*Database) ID

func (*Database) ObjectType added in v0.65.0

func (v *Database) ObjectType() ObjectType

type DatabaseDetails added in v0.65.0

type DatabaseDetails struct {
	Rows []DatabaseDetailsRow
}

type DatabaseDetailsRow added in v0.66.0

type DatabaseDetailsRow struct {
	CreatedOn time.Time
	Name      string
	Kind      string
}

type DatabaseObjectIdentifier added in v0.70.0

type DatabaseObjectIdentifier struct {
	// contains filtered or unexported fields
}

func NewDatabaseObjectIdentifier added in v0.70.0

func NewDatabaseObjectIdentifier(databaseName, name string) DatabaseObjectIdentifier

func NewDatabaseObjectIdentifierFromFullyQualifiedName added in v0.70.0

func NewDatabaseObjectIdentifierFromFullyQualifiedName(fullyQualifiedName string) DatabaseObjectIdentifier

func ParseDatabaseObjectIdentifier added in v0.95.0

func ParseDatabaseObjectIdentifier(identifier string) (DatabaseObjectIdentifier, error)

func (DatabaseObjectIdentifier) DatabaseId added in v0.92.0

func (DatabaseObjectIdentifier) DatabaseName added in v0.70.0

func (i DatabaseObjectIdentifier) DatabaseName() string

func (DatabaseObjectIdentifier) FullyQualifiedName added in v0.70.0

func (i DatabaseObjectIdentifier) FullyQualifiedName() string

func (DatabaseObjectIdentifier) Name added in v0.70.0

type DatabaseParameter added in v0.95.0

type DatabaseParameter string
const (
	DatabaseParameterDataRetentionTimeInDays                 DatabaseParameter = "DATA_RETENTION_TIME_IN_DAYS"
	DatabaseParameterMaxDataExtensionTimeInDays              DatabaseParameter = "MAX_DATA_EXTENSION_TIME_IN_DAYS"
	DatabaseParameterExternalVolume                          DatabaseParameter = "EXTERNAL_VOLUME"
	DatabaseParameterCatalog                                 DatabaseParameter = "CATALOG"
	DatabaseParameterReplaceInvalidCharacters                DatabaseParameter = "REPLACE_INVALID_CHARACTERS"
	DatabaseParameterDefaultDdlCollation                     DatabaseParameter = "DEFAULT_DDL_COLLATION"
	DatabaseParameterStorageSerializationPolicy              DatabaseParameter = "STORAGE_SERIALIZATION_POLICY"
	DatabaseParameterLogLevel                                DatabaseParameter = "LOG_LEVEL"
	DatabaseParameterTraceLevel                              DatabaseParameter = "TRACE_LEVEL"
	DatabaseParameterSuspendTaskAfterNumFailures             DatabaseParameter = "SUSPEND_TASK_AFTER_NUM_FAILURES"
	DatabaseParameterTaskAutoRetryAttempts                   DatabaseParameter = "TASK_AUTO_RETRY_ATTEMPTS"
	DatabaseParameterUserTaskManagedInitialWarehouseSize     DatabaseParameter = "USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"
	DatabaseParameterUserTaskTimeoutMs                       DatabaseParameter = "USER_TASK_TIMEOUT_MS"
	DatabaseParameterUserTaskMinimumTriggerIntervalInSeconds DatabaseParameter = "USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"
	DatabaseParameterQuotedIdentifiersIgnoreCase             DatabaseParameter = "QUOTED_IDENTIFIERS_IGNORE_CASE"
	DatabaseParameterEnableConsoleOutput                     DatabaseParameter = "ENABLE_CONSOLE_OUTPUT"
)

type DatabaseRole added in v0.70.0

type DatabaseRole struct {
	CreatedOn              string
	Name                   string
	DatabaseName           string // value not returned by SHOW, filled in the convert function
	IsDefault              bool
	IsCurrent              bool
	IsInherited            bool
	GrantedToRoles         int
	GrantedToDatabaseRoles int
	GrantedDatabaseRoles   int
	Owner                  string
	Comment                string
	OwnerRoleType          string
}

DatabaseRole is a user-friendly result for a SHOW DATABASE ROLES query. At the time of writing there is no format specified in the docs.

func (DatabaseRole) ID added in v0.95.0

type DatabaseRoleGrantOn added in v0.71.0

type DatabaseRoleGrantOn struct {
	Database     *AccountObjectIdentifier `ddl:"identifier" sql:"DATABASE"`
	Schema       *GrantOnSchema           `ddl:"-"`
	SchemaObject *GrantOnSchemaObject     `ddl:"-"`
}

type DatabaseRoleGrantPrivileges added in v0.71.0

type DatabaseRoleGrantPrivileges struct {
	DatabasePrivileges     []AccountObjectPrivilege `ddl:"-"`
	SchemaPrivileges       []SchemaPrivilege        `ddl:"-"`
	SchemaObjectPrivileges []SchemaObjectPrivilege  `ddl:"-"`
	AllPrivileges          *bool                    `ddl:"keyword" sql:"ALL PRIVILEGES"`
}

type DatabaseRoleRename added in v0.70.0

type DatabaseRoleRename struct {
	Name DatabaseObjectIdentifier `ddl:"identifier"`
}

type DatabaseRoleSet added in v0.70.0

type DatabaseRoleSet struct {
	Comment string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type DatabaseRoleSetRequest added in v0.70.0

type DatabaseRoleSetRequest struct {
	// contains filtered or unexported fields
}

func NewDatabaseRoleSetRequest added in v0.70.0

func NewDatabaseRoleSetRequest(
	comment string,
) *DatabaseRoleSetRequest

type DatabaseRoleUnset added in v0.70.0

type DatabaseRoleUnset struct {
	Comment bool `ddl:"keyword" sql:"COMMENT"`
}

type DatabaseRoleUnsetRequest added in v0.70.0

type DatabaseRoleUnsetRequest struct{}

func NewDatabaseRoleUnsetRequest added in v0.70.0

func NewDatabaseRoleUnsetRequest() *DatabaseRoleUnsetRequest

type DatabaseRoles added in v0.70.0

type DatabaseSet added in v0.66.0

type DatabaseSet struct {
	// Parameters
	DataRetentionTimeInDays                 *int                        `ddl:"parameter" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays              *int                        `ddl:"parameter" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ExternalVolume                          *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"EXTERNAL_VOLUME"`
	Catalog                                 *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"CATALOG"`
	ReplaceInvalidCharacters                *bool                       `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	DefaultDDLCollation                     *string                     `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	StorageSerializationPolicy              *StorageSerializationPolicy `ddl:"parameter" sql:"STORAGE_SERIALIZATION_POLICY"`
	LogLevel                                *LogLevel                   `ddl:"parameter,single_quotes" sql:"LOG_LEVEL"`
	TraceLevel                              *TraceLevel                 `ddl:"parameter,single_quotes" sql:"TRACE_LEVEL"`
	SuspendTaskAfterNumFailures             *int                        `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TaskAutoRetryAttempts                   *int                        `ddl:"parameter" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskManagedInitialWarehouseSize     *WarehouseSize              `ddl:"parameter" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                       *int                        `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	UserTaskMinimumTriggerIntervalInSeconds *int                        `ddl:"parameter" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	QuotedIdentifiersIgnoreCase             *bool                       `ddl:"parameter" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	EnableConsoleOutput                     *bool                       `ddl:"parameter" sql:"ENABLE_CONSOLE_OUTPUT"`

	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type DatabaseUnset added in v0.66.0

type DatabaseUnset struct {
	// Parameters
	DataRetentionTimeInDays                 *bool `ddl:"keyword" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays              *bool `ddl:"keyword" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ExternalVolume                          *bool `ddl:"keyword" sql:"EXTERNAL_VOLUME"`
	Catalog                                 *bool `ddl:"keyword" sql:"CATALOG"`
	ReplaceInvalidCharacters                *bool `ddl:"keyword" sql:"REPLACE_INVALID_CHARACTERS"`
	DefaultDDLCollation                     *bool `ddl:"keyword" sql:"DEFAULT_DDL_COLLATION"`
	StorageSerializationPolicy              *bool `ddl:"keyword" sql:"STORAGE_SERIALIZATION_POLICY"`
	LogLevel                                *bool `ddl:"keyword" sql:"LOG_LEVEL"`
	TraceLevel                              *bool `ddl:"keyword" sql:"TRACE_LEVEL"`
	SuspendTaskAfterNumFailures             *bool `ddl:"keyword" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TaskAutoRetryAttempts                   *bool `ddl:"keyword" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskManagedInitialWarehouseSize     *bool `ddl:"keyword" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                       *bool `ddl:"keyword" sql:"USER_TASK_TIMEOUT_MS"`
	UserTaskMinimumTriggerIntervalInSeconds *bool `ddl:"keyword" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	QuotedIdentifiersIgnoreCase             *bool `ddl:"keyword" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	EnableConsoleOutput                     *bool `ddl:"keyword" sql:"ENABLE_CONSOLE_OUTPUT"`

	Comment *bool `ddl:"keyword" sql:"COMMENT"`
}

type DescNetworkRulesRow added in v0.87.0

type DescNetworkRulesRow struct {
	CreatedOn    time.Time `db:"created_on"`
	Name         string    `db:"name"`
	DatabaseName string    `db:"database_name"`
	SchemaName   string    `db:"schema_name"`
	Owner        string    `db:"owner"`
	Comment      string    `db:"comment"`
	Type         string    `db:"type"`
	Mode         string    `db:"mode"`
	ValueList    string    `db:"value_list"`
}

type DescribeApiIntegrationOptions added in v0.85.0

type DescribeApiIntegrationOptions struct {
	// contains filtered or unexported fields
}

DescribeApiIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-integration.

type DescribeApiIntegrationRequest added in v0.85.0

type DescribeApiIntegrationRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeApiIntegrationRequest added in v0.85.0

func NewDescribeApiIntegrationRequest(
	name AccountObjectIdentifier,
) *DescribeApiIntegrationRequest

type DescribeApplicationOptions added in v0.85.0

type DescribeApplicationOptions struct {
	// contains filtered or unexported fields
}

DescribeApplicationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-application.

type DescribeApplicationRequest added in v0.85.0

type DescribeApplicationRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeApplicationRequest added in v0.85.0

func NewDescribeApplicationRequest(
	name AccountObjectIdentifier,
) *DescribeApplicationRequest

type DescribeAuthenticationPolicyOptions added in v0.96.0

type DescribeAuthenticationPolicyOptions struct {
	// contains filtered or unexported fields
}

DescribeAuthenticationPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-authentication-policy.

type DescribeAuthenticationPolicyRequest added in v0.96.0

type DescribeAuthenticationPolicyRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeAuthenticationPolicyRequest added in v0.96.0

func NewDescribeAuthenticationPolicyRequest(
	name SchemaObjectIdentifier,
) *DescribeAuthenticationPolicyRequest

type DescribeCortexSearchServiceOptions added in v0.93.0

type DescribeCortexSearchServiceOptions struct {
	// contains filtered or unexported fields
}

DescribeCortexSearchServiceOptions is based on https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/desc-cortex-search.

type DescribeCortexSearchServiceRequest added in v0.93.0

type DescribeCortexSearchServiceRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeCortexSearchServiceRequest added in v0.93.0

func NewDescribeCortexSearchServiceRequest(
	name SchemaObjectIdentifier,
) *DescribeCortexSearchServiceRequest

type DescribeDynamicTableRequest added in v0.72.0

type DescribeDynamicTableRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeDynamicTableRequest added in v0.72.0

func NewDescribeDynamicTableRequest(
	name SchemaObjectIdentifier,
) *DescribeDynamicTableRequest

type DescribeEventTableOptions added in v0.78.0

type DescribeEventTableOptions struct {
	// contains filtered or unexported fields
}

DescribeEventTableOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-event-table.

type DescribeEventTableRequest added in v0.78.0

type DescribeEventTableRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeEventTableRequest added in v0.78.0

func NewDescribeEventTableRequest(
	name SchemaObjectIdentifier,
) *DescribeEventTableRequest

type DescribeExternalFunctionOptions added in v0.85.0

type DescribeExternalFunctionOptions struct {
	// contains filtered or unexported fields
}

DescribeExternalFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-function.

type DescribeExternalFunctionRequest added in v0.85.0

type DescribeExternalFunctionRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeExternalFunctionRequest added in v0.85.0

func NewDescribeExternalFunctionRequest(
	name SchemaObjectIdentifierWithArguments,
) *DescribeExternalFunctionRequest

type DescribeExternalTableColumnsRequest added in v0.72.0

type DescribeExternalTableColumnsRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeExternalTableColumnsRequest added in v0.72.0

func NewDescribeExternalTableColumnsRequest(
	id SchemaObjectIdentifier,
) *DescribeExternalTableColumnsRequest

type DescribeExternalTableStageRequest added in v0.72.0

type DescribeExternalTableStageRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeExternalTableStageRequest added in v0.72.0

func NewDescribeExternalTableStageRequest(
	id SchemaObjectIdentifier,
) *DescribeExternalTableStageRequest

type DescribeExternalVolumeOptions added in v0.96.0

type DescribeExternalVolumeOptions struct {
	// contains filtered or unexported fields
}

DescribeExternalVolumeOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-external-volume.

type DescribeExternalVolumeRequest added in v0.96.0

type DescribeExternalVolumeRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeExternalVolumeRequest added in v0.96.0

func NewDescribeExternalVolumeRequest(
	name AccountObjectIdentifier,
) *DescribeExternalVolumeRequest

type DescribeFunctionOptions added in v0.82.0

type DescribeFunctionOptions struct {
	// contains filtered or unexported fields
}

DescribeFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-function.

type DescribeFunctionRequest added in v0.82.0

type DescribeFunctionRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeFunctionRequest added in v0.82.0

func NewDescribeFunctionRequest(
	name SchemaObjectIdentifierWithArguments,
) *DescribeFunctionRequest

type DescribeMaterializedViewOptions added in v0.85.0

type DescribeMaterializedViewOptions struct {
	// contains filtered or unexported fields
}

DescribeMaterializedViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-materialized-view.

type DescribeMaterializedViewRequest added in v0.85.0

type DescribeMaterializedViewRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeMaterializedViewRequest added in v0.85.0

func NewDescribeMaterializedViewRequest(
	name SchemaObjectIdentifier,
) *DescribeMaterializedViewRequest

type DescribeNetworkPolicyOptions added in v0.72.0

type DescribeNetworkPolicyOptions struct {
	// contains filtered or unexported fields
}

DescribeNetworkPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-network-policy.

type DescribeNetworkPolicyRequest added in v0.72.0

type DescribeNetworkPolicyRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeNetworkPolicyRequest added in v0.72.0

func NewDescribeNetworkPolicyRequest(
	name AccountObjectIdentifier,
) *DescribeNetworkPolicyRequest

type DescribeNetworkRuleOptions added in v0.87.0

type DescribeNetworkRuleOptions struct {
	// contains filtered or unexported fields
}

DescribeNetworkRuleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-network-rule.

type DescribeNetworkRuleRequest added in v0.87.0

type DescribeNetworkRuleRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeNetworkRuleRequest added in v0.87.0

func NewDescribeNetworkRuleRequest(
	name SchemaObjectIdentifier,
) *DescribeNetworkRuleRequest

type DescribeNotificationIntegrationOptions added in v0.85.0

type DescribeNotificationIntegrationOptions struct {
	// contains filtered or unexported fields
}

DescribeNotificationIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-integration.

type DescribeNotificationIntegrationRequest added in v0.85.0

type DescribeNotificationIntegrationRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeNotificationIntegrationRequest added in v0.85.0

func NewDescribeNotificationIntegrationRequest(
	name AccountObjectIdentifier,
) *DescribeNotificationIntegrationRequest

type DescribeProcedureOptions added in v0.79.0

type DescribeProcedureOptions struct {
	// contains filtered or unexported fields
}

DescribeProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-procedure.

type DescribeProcedureRequest added in v0.79.0

type DescribeProcedureRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeProcedureRequest added in v0.79.0

func NewDescribeProcedureRequest(
	name SchemaObjectIdentifierWithArguments,
) *DescribeProcedureRequest

type DescribeRowAccessPolicyOptions added in v0.84.0

type DescribeRowAccessPolicyOptions struct {
	// contains filtered or unexported fields
}

DescribeRowAccessPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-row-access-policy.

type DescribeRowAccessPolicyRequest added in v0.84.0

type DescribeRowAccessPolicyRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeRowAccessPolicyRequest added in v0.84.0

func NewDescribeRowAccessPolicyRequest(
	name SchemaObjectIdentifier,
) *DescribeRowAccessPolicyRequest

type DescribeSecretOptions added in v0.97.0

type DescribeSecretOptions struct {
	// contains filtered or unexported fields
}

DescribeSecretOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-secret.

type DescribeSecretRequest added in v0.97.0

type DescribeSecretRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeSecretRequest added in v0.97.0

func NewDescribeSecretRequest(
	name SchemaObjectIdentifier,
) *DescribeSecretRequest

type DescribeSecurityIntegrationOptions added in v0.92.0

type DescribeSecurityIntegrationOptions struct {
	// contains filtered or unexported fields
}

DescribeSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-integration.

type DescribeSecurityIntegrationRequest added in v0.92.0

type DescribeSecurityIntegrationRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeSecurityIntegrationRequest added in v0.92.0

func NewDescribeSecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *DescribeSecurityIntegrationRequest

type DescribeSequenceOptions added in v0.85.0

type DescribeSequenceOptions struct {
	// contains filtered or unexported fields
}

DescribeSequenceOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-sequence.

type DescribeSequenceRequest added in v0.85.0

type DescribeSequenceRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeSequenceRequest added in v0.85.0

func NewDescribeSequenceRequest(
	name SchemaObjectIdentifier,
) *DescribeSequenceRequest

type DescribeSessionPolicyOptions added in v0.72.0

type DescribeSessionPolicyOptions struct {
	// contains filtered or unexported fields
}

DescribeSessionPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-session-policy.

type DescribeSessionPolicyRequest added in v0.72.0

type DescribeSessionPolicyRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeSessionPolicyRequest added in v0.72.0

func NewDescribeSessionPolicyRequest(
	name SchemaObjectIdentifier,
) *DescribeSessionPolicyRequest

type DescribeStageOptions added in v0.76.0

type DescribeStageOptions struct {
	// contains filtered or unexported fields
}

DescribeStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-stage.

type DescribeStageRequest added in v0.76.0

type DescribeStageRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeStageRequest added in v0.76.0

func NewDescribeStageRequest(
	name SchemaObjectIdentifier,
) *DescribeStageRequest

type DescribeStorageIntegrationOptions added in v0.84.0

type DescribeStorageIntegrationOptions struct {
	// contains filtered or unexported fields
}

DescribeStorageIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-integration.

type DescribeStorageIntegrationRequest added in v0.84.0

type DescribeStorageIntegrationRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeStorageIntegrationRequest added in v0.84.0

func NewDescribeStorageIntegrationRequest(
	name AccountObjectIdentifier,
) *DescribeStorageIntegrationRequest

type DescribeStreamOptions added in v0.74.0

type DescribeStreamOptions struct {
	// contains filtered or unexported fields
}

DescribeStreamOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-stream.

type DescribeStreamRequest added in v0.74.0

type DescribeStreamRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeStreamRequest added in v0.74.0

func NewDescribeStreamRequest(
	name SchemaObjectIdentifier,
) *DescribeStreamRequest

type DescribeStreamlitOptions added in v0.85.0

type DescribeStreamlitOptions struct {
	// contains filtered or unexported fields
}

DescribeStreamlitOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-streamlit.

type DescribeStreamlitRequest added in v0.85.0

type DescribeStreamlitRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeStreamlitRequest added in v0.85.0

func NewDescribeStreamlitRequest(
	name SchemaObjectIdentifier,
) *DescribeStreamlitRequest

type DescribeTableColumnsRequest added in v0.78.0

type DescribeTableColumnsRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeTableColumnsRequest added in v0.78.0

func NewDescribeTableColumnsRequest(
	id SchemaObjectIdentifier,
) *DescribeTableColumnsRequest

type DescribeTableStageRequest added in v0.78.0

type DescribeTableStageRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeTableStageRequest added in v0.78.0

func NewDescribeTableStageRequest(
	id SchemaObjectIdentifier,
) *DescribeTableStageRequest

type DescribeTaskOptions added in v0.73.0

type DescribeTaskOptions struct {
	// contains filtered or unexported fields
}

DescribeTaskOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-task.

type DescribeTaskRequest added in v0.73.0

type DescribeTaskRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeTaskRequest added in v0.73.0

func NewDescribeTaskRequest(
	name SchemaObjectIdentifier,
) *DescribeTaskRequest

type DescribeViewOptions added in v0.76.0

type DescribeViewOptions struct {
	// contains filtered or unexported fields
}

DescribeViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/desc-view.

type DescribeViewRequest added in v0.76.0

type DescribeViewRequest struct {
	// contains filtered or unexported fields
}

func NewDescribeViewRequest added in v0.76.0

func NewDescribeViewRequest(
	name SchemaObjectIdentifier,
) *DescribeViewRequest

type DirectoryTableRefresh added in v0.76.0

type DirectoryTableRefresh struct {
	Subpath *string `ddl:"parameter,single_quotes" sql:"SUBPATH"`
}

type DirectoryTableRefreshRequest added in v0.76.0

type DirectoryTableRefreshRequest struct {
	Subpath *string
}

func NewDirectoryTableRefreshRequest added in v0.76.0

func NewDirectoryTableRefreshRequest() *DirectoryTableRefreshRequest

func (*DirectoryTableRefreshRequest) WithSubpath added in v0.76.0

type DirectoryTableSet added in v0.76.0

type DirectoryTableSet struct {
	Enable bool `ddl:"parameter" sql:"ENABLE"`
}

type DirectoryTableSetRequest added in v0.76.0

type DirectoryTableSetRequest struct {
	Enable bool // required
}

func NewDirectoryTableSetRequest added in v0.76.0

func NewDirectoryTableSetRequest(
	Enable bool,
) *DirectoryTableSetRequest

type DisableFailover added in v0.66.0

type DisableFailover struct {
	ToAccounts []AccountIdentifier `ddl:"keyword,no_parentheses" sql:"TO ACCOUNTS"`
}

type DisableReplication added in v0.66.0

type DisableReplication struct {
	ToAccounts []AccountIdentifier `ddl:"keyword,no_parentheses" sql:"TO ACCOUNTS"`
}

type Distribution added in v0.84.0

type Distribution string
var (
	DistributionInternal Distribution = "INTERNAL"
	DistributionExternal Distribution = "EXTERNAL"
)

func DistributionPointer added in v0.84.0

func DistributionPointer(v Distribution) *Distribution

type DropAccountOptions added in v0.72.0

type DropAccountOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropAccountOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-account.

type DropAlertOptions added in v0.90.0

type DropAlertOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropAlertOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-alert.

type DropApiIntegrationOptions added in v0.85.0

type DropApiIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropApiIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-integration.

type DropApiIntegrationRequest added in v0.85.0

type DropApiIntegrationRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropApiIntegrationRequest added in v0.85.0

func NewDropApiIntegrationRequest(
	name AccountObjectIdentifier,
) *DropApiIntegrationRequest

func (*DropApiIntegrationRequest) WithIfExists added in v0.85.0

func (s *DropApiIntegrationRequest) WithIfExists(IfExists *bool) *DropApiIntegrationRequest

type DropApplicationOptions added in v0.85.0

type DropApplicationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Cascade *bool `ddl:"keyword" sql:"CASCADE"`
	// contains filtered or unexported fields
}

DropApplicationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-application.

type DropApplicationPackageOptions added in v0.84.0

type DropApplicationPackageOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropApplicationPackageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-application-package.

type DropApplicationPackageRequest added in v0.84.0

type DropApplicationPackageRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropApplicationPackageRequest added in v0.84.0

func NewDropApplicationPackageRequest(
	name AccountObjectIdentifier,
) *DropApplicationPackageRequest

func (*DropApplicationPackageRequest) WithIfExists added in v0.90.0

type DropApplicationRequest added in v0.85.0

type DropApplicationRequest struct {
	IfExists *bool

	Cascade *bool
	// contains filtered or unexported fields
}

func NewDropApplicationRequest added in v0.85.0

func NewDropApplicationRequest(
	name AccountObjectIdentifier,
) *DropApplicationRequest

func (*DropApplicationRequest) WithCascade added in v0.85.0

func (s *DropApplicationRequest) WithCascade(Cascade *bool) *DropApplicationRequest

func (*DropApplicationRequest) WithIfExists added in v0.85.0

func (s *DropApplicationRequest) WithIfExists(IfExists *bool) *DropApplicationRequest

type DropAuthenticationPolicyOptions added in v0.96.0

type DropAuthenticationPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropAuthenticationPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-authentication-policy.

type DropAuthenticationPolicyRequest added in v0.96.0

type DropAuthenticationPolicyRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropAuthenticationPolicyRequest added in v0.96.0

func NewDropAuthenticationPolicyRequest(
	name SchemaObjectIdentifier,
) *DropAuthenticationPolicyRequest

func (*DropAuthenticationPolicyRequest) WithIfExists added in v0.96.0

type DropCortexSearchServiceOptions added in v0.93.0

type DropCortexSearchServiceOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropCortexSearchServiceOptions is based on https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/drop-cortex-search.

type DropCortexSearchServiceRequest added in v0.93.0

type DropCortexSearchServiceRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropCortexSearchServiceRequest added in v0.93.0

func NewDropCortexSearchServiceRequest(
	name SchemaObjectIdentifier,
) *DropCortexSearchServiceRequest

func (*DropCortexSearchServiceRequest) WithIfExists added in v0.93.0

type DropDatabaseOptions added in v0.66.0

type DropDatabaseOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Cascade  *bool `ddl:"keyword" sql:"CASCADE"`
	Restrict *bool `ddl:"keyword" sql:"RESTRICT"`
	// contains filtered or unexported fields
}

DropDatabaseOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-database.

type DropDatabaseRoleRequest added in v0.70.0

type DropDatabaseRoleRequest struct {
	// contains filtered or unexported fields
}

func NewDropDatabaseRoleRequest added in v0.70.0

func NewDropDatabaseRoleRequest(
	name DatabaseObjectIdentifier,
) *DropDatabaseRoleRequest

func (*DropDatabaseRoleRequest) WithIfExists added in v0.70.0

func (s *DropDatabaseRoleRequest) WithIfExists(ifExists bool) *DropDatabaseRoleRequest

type DropDynamicTableRequest added in v0.72.0

type DropDynamicTableRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropDynamicTableRequest added in v0.72.0

func NewDropDynamicTableRequest(
	name SchemaObjectIdentifier,
) *DropDynamicTableRequest

func (*DropDynamicTableRequest) WithIfExists added in v0.90.0

func (s *DropDynamicTableRequest) WithIfExists(ifExists bool) *DropDynamicTableRequest

type DropEventTableOptions added in v0.78.0

type DropEventTableOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Restrict *bool `ddl:"keyword" sql:"RESTRICT"`
	// contains filtered or unexported fields
}

DropEventTableOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-table.

type DropEventTableRequest added in v0.78.0

type DropEventTableRequest struct {
	IfExists *bool

	Restrict *bool
	// contains filtered or unexported fields
}

func NewDropEventTableRequest added in v0.78.0

func NewDropEventTableRequest(
	name SchemaObjectIdentifier,
) *DropEventTableRequest

func (*DropEventTableRequest) WithIfExists added in v0.78.0

func (s *DropEventTableRequest) WithIfExists(IfExists *bool) *DropEventTableRequest

func (*DropEventTableRequest) WithRestrict added in v0.78.0

func (s *DropEventTableRequest) WithRestrict(Restrict *bool) *DropEventTableRequest

type DropExternalTableOptions added in v0.72.0

type DropExternalTableOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	DropOption *ExternalTableDropOption
	// contains filtered or unexported fields
}

DropExternalTableOptions based on https://docs.snowflake.com/en/sql-reference/sql/drop-external-table

type DropExternalTableRequest added in v0.72.0

type DropExternalTableRequest struct {
	// contains filtered or unexported fields
}

func NewDropExternalTableRequest added in v0.72.0

func NewDropExternalTableRequest(
	name SchemaObjectIdentifier,
) *DropExternalTableRequest

func (*DropExternalTableRequest) WithDropOption added in v0.72.0

func (*DropExternalTableRequest) WithIfExists added in v0.72.0

func (s *DropExternalTableRequest) WithIfExists(ifExists bool) *DropExternalTableRequest

type DropExternalVolumeOptions added in v0.96.0

type DropExternalVolumeOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropExternalVolumeOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-external-volume.

type DropExternalVolumeRequest added in v0.96.0

type DropExternalVolumeRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropExternalVolumeRequest added in v0.96.0

func NewDropExternalVolumeRequest(
	name AccountObjectIdentifier,
) *DropExternalVolumeRequest

func (*DropExternalVolumeRequest) WithIfExists added in v0.96.0

func (s *DropExternalVolumeRequest) WithIfExists(IfExists bool) *DropExternalVolumeRequest

type DropFailoverGroupOptions added in v0.66.0

type DropFailoverGroupOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropFailoverGroupOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-failover-group.

type DropFileFormatOptions added in v0.68.0

type DropFileFormatOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropFileFormatOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-file-format.

type DropFunctionOptions added in v0.82.0

type DropFunctionOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-function.

type DropFunctionRequest added in v0.82.0

type DropFunctionRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropFunctionRequest added in v0.82.0

func NewDropFunctionRequest(
	name SchemaObjectIdentifierWithArguments,
) *DropFunctionRequest

func (*DropFunctionRequest) WithIfExists added in v0.82.0

func (s *DropFunctionRequest) WithIfExists(IfExists bool) *DropFunctionRequest

type DropManagedAccountOptions added in v0.84.0

type DropManagedAccountOptions struct {
	// contains filtered or unexported fields
}

DropManagedAccountOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-managed-account.

type DropManagedAccountRequest added in v0.84.0

type DropManagedAccountRequest struct {
	// contains filtered or unexported fields
}

func NewDropManagedAccountRequest added in v0.84.0

func NewDropManagedAccountRequest(
	name AccountObjectIdentifier,
) *DropManagedAccountRequest

type DropMaskingPolicyOptions added in v0.66.0

type DropMaskingPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropMaskingPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-masking-policy.

type DropMaterializedViewOptions added in v0.85.0

type DropMaterializedViewOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropMaterializedViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-materialized-view.

type DropMaterializedViewRequest added in v0.85.0

type DropMaterializedViewRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropMaterializedViewRequest added in v0.85.0

func NewDropMaterializedViewRequest(
	name SchemaObjectIdentifier,
) *DropMaterializedViewRequest

func (*DropMaterializedViewRequest) WithIfExists added in v0.85.0

func (s *DropMaterializedViewRequest) WithIfExists(IfExists *bool) *DropMaterializedViewRequest

type DropNetworkPolicyOptions added in v0.72.0

type DropNetworkPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropNetworkPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-network-policy.

type DropNetworkPolicyRequest added in v0.72.0

type DropNetworkPolicyRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropNetworkPolicyRequest added in v0.72.0

func NewDropNetworkPolicyRequest(
	name AccountObjectIdentifier,
) *DropNetworkPolicyRequest

func (*DropNetworkPolicyRequest) WithIfExists added in v0.72.0

func (s *DropNetworkPolicyRequest) WithIfExists(IfExists bool) *DropNetworkPolicyRequest

type DropNetworkRuleOptions added in v0.87.0

type DropNetworkRuleOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropNetworkRuleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-network-rule.

type DropNetworkRuleRequest added in v0.87.0

type DropNetworkRuleRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropNetworkRuleRequest added in v0.87.0

func NewDropNetworkRuleRequest(
	name SchemaObjectIdentifier,
) *DropNetworkRuleRequest

func (*DropNetworkRuleRequest) WithIfExists added in v0.87.0

func (s *DropNetworkRuleRequest) WithIfExists(IfExists *bool) *DropNetworkRuleRequest

type DropNotificationIntegrationOptions added in v0.85.0

type DropNotificationIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropNotificationIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-integration.

type DropNotificationIntegrationRequest added in v0.85.0

type DropNotificationIntegrationRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropNotificationIntegrationRequest added in v0.85.0

func NewDropNotificationIntegrationRequest(
	name AccountObjectIdentifier,
) *DropNotificationIntegrationRequest

func (*DropNotificationIntegrationRequest) WithIfExists added in v0.85.0

type DropPasswordPolicyOptions added in v0.66.0

type DropPasswordPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropPasswordPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-password-policy.

type DropPipeOptions added in v0.72.0

type DropPipeOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropPipeOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-pipe.

type DropProcedureOptions added in v0.79.0

type DropProcedureOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-procedure.

type DropProcedureRequest added in v0.79.0

type DropProcedureRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropProcedureRequest added in v0.79.0

func NewDropProcedureRequest(
	name SchemaObjectIdentifierWithArguments,
) *DropProcedureRequest

func (*DropProcedureRequest) WithIfExists added in v0.79.0

func (s *DropProcedureRequest) WithIfExists(IfExists bool) *DropProcedureRequest

type DropResourceMonitorOptions added in v0.90.0

type DropResourceMonitorOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropResourceMonitorOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-resource-monitor.

type DropRoleOptions added in v0.72.0

type DropRoleOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropRoleOptions based on https://docs.snowflake.com/en/sql-reference/sql/drop-role

type DropRoleRequest added in v0.72.0

type DropRoleRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropRoleRequest added in v0.72.0

func NewDropRoleRequest(name AccountObjectIdentifier) *DropRoleRequest

func (*DropRoleRequest) WithIfExists added in v0.72.0

func (s *DropRoleRequest) WithIfExists(ifExists bool) *DropRoleRequest

type DropRowAccessPolicyOptions added in v0.84.0

type DropRowAccessPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropRowAccessPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-row-access-policy.

type DropRowAccessPolicyRequest added in v0.84.0

type DropRowAccessPolicyRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropRowAccessPolicyRequest added in v0.84.0

func NewDropRowAccessPolicyRequest(
	name SchemaObjectIdentifier,
) *DropRowAccessPolicyRequest

func (*DropRowAccessPolicyRequest) WithIfExists added in v0.84.0

func (s *DropRowAccessPolicyRequest) WithIfExists(IfExists *bool) *DropRowAccessPolicyRequest

type DropSchemaOptions added in v0.70.0

type DropSchemaOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	// one of
	Cascade  *bool `ddl:"static" sql:"CASCADE"`
	Restrict *bool `ddl:"static" sql:"RESTRICT"`
	// contains filtered or unexported fields
}

DropSchemaOptions Based on https://docs.snowflake.com/en/sql-reference/sql/drop-schema

type DropSearchOptimization added in v0.78.0

type DropSearchOptimization struct {

	// Optional
	On []string `ddl:"keyword" sql:"ON"`
	// contains filtered or unexported fields
}

type DropSecretOptions added in v0.97.0

type DropSecretOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropSecretOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-secret.

type DropSecretRequest added in v0.97.0

type DropSecretRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropSecretRequest added in v0.97.0

func NewDropSecretRequest(
	name SchemaObjectIdentifier,
) *DropSecretRequest

func (*DropSecretRequest) WithIfExists added in v0.97.0

func (s *DropSecretRequest) WithIfExists(IfExists bool) *DropSecretRequest

type DropSecurityIntegrationOptions added in v0.92.0

type DropSecurityIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-integration.

type DropSecurityIntegrationRequest added in v0.92.0

type DropSecurityIntegrationRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropSecurityIntegrationRequest added in v0.92.0

func NewDropSecurityIntegrationRequest(
	name AccountObjectIdentifier,
) *DropSecurityIntegrationRequest

func (*DropSecurityIntegrationRequest) WithIfExists added in v0.92.0

type DropSequenceOptions added in v0.85.0

type DropSequenceOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Constraint *SequenceConstraint `ddl:"keyword"`
	// contains filtered or unexported fields
}

DropSequenceOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-sequence.

type DropSequenceRequest added in v0.85.0

type DropSequenceRequest struct {
	IfExists *bool

	Constraint *SequenceConstraintRequest
	// contains filtered or unexported fields
}

func NewDropSequenceRequest added in v0.85.0

func NewDropSequenceRequest(
	name SchemaObjectIdentifier,
) *DropSequenceRequest

func (*DropSequenceRequest) WithConstraint added in v0.85.0

func (s *DropSequenceRequest) WithConstraint(Constraint *SequenceConstraintRequest) *DropSequenceRequest

func (*DropSequenceRequest) WithIfExists added in v0.85.0

func (s *DropSequenceRequest) WithIfExists(IfExists *bool) *DropSequenceRequest

type DropSessionPolicyOptions added in v0.66.0

type DropSessionPolicyOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropSessionPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-session-policy.

type DropSessionPolicyRequest added in v0.72.0

type DropSessionPolicyRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropSessionPolicyRequest added in v0.72.0

func NewDropSessionPolicyRequest(
	name SchemaObjectIdentifier,
) *DropSessionPolicyRequest

func (*DropSessionPolicyRequest) WithIfExists added in v0.72.0

func (s *DropSessionPolicyRequest) WithIfExists(IfExists *bool) *DropSessionPolicyRequest

type DropShareOptions added in v0.90.0

type DropShareOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropShareOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-share.

type DropStageOptions added in v0.76.0

type DropStageOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-stage.

type DropStageRequest added in v0.76.0

type DropStageRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropStageRequest added in v0.76.0

func NewDropStageRequest(
	name SchemaObjectIdentifier,
) *DropStageRequest

func (*DropStageRequest) WithIfExists added in v0.76.0

func (s *DropStageRequest) WithIfExists(IfExists *bool) *DropStageRequest

type DropStorageIntegrationOptions added in v0.84.0

type DropStorageIntegrationOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropStorageIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-integration.

type DropStorageIntegrationRequest added in v0.84.0

type DropStorageIntegrationRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropStorageIntegrationRequest added in v0.84.0

func NewDropStorageIntegrationRequest(
	name AccountObjectIdentifier,
) *DropStorageIntegrationRequest

func (*DropStorageIntegrationRequest) WithIfExists added in v0.84.0

type DropStreamOptions added in v0.74.0

type DropStreamOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropStreamOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-stream.

type DropStreamRequest added in v0.74.0

type DropStreamRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropStreamRequest added in v0.74.0

func NewDropStreamRequest(
	name SchemaObjectIdentifier,
) *DropStreamRequest

func (*DropStreamRequest) WithIfExists added in v0.74.0

func (s *DropStreamRequest) WithIfExists(IfExists bool) *DropStreamRequest

type DropStreamlitOptions added in v0.85.0

type DropStreamlitOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropStreamlitOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-streamlit.

type DropStreamlitRequest added in v0.85.0

type DropStreamlitRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropStreamlitRequest added in v0.85.0

func NewDropStreamlitRequest(
	name SchemaObjectIdentifier,
) *DropStreamlitRequest

func (*DropStreamlitRequest) WithIfExists added in v0.85.0

func (s *DropStreamlitRequest) WithIfExists(IfExists bool) *DropStreamlitRequest

type DropTableRequest added in v0.78.0

type DropTableRequest struct {
	IfExists *bool
	Name     SchemaObjectIdentifier // required
	// One of
	Cascade  *bool
	Restrict *bool
}

func NewDropTableRequest added in v0.78.0

func NewDropTableRequest(
	name SchemaObjectIdentifier,
) *DropTableRequest

func (*DropTableRequest) WithCascade added in v0.78.0

func (s *DropTableRequest) WithCascade(cascade *bool) *DropTableRequest

func (*DropTableRequest) WithIfExists added in v0.78.0

func (s *DropTableRequest) WithIfExists(ifExists *bool) *DropTableRequest

func (*DropTableRequest) WithRestrict added in v0.78.0

func (s *DropTableRequest) WithRestrict(restrict *bool) *DropTableRequest

type DropTagRequest added in v0.74.0

type DropTagRequest struct {
	// contains filtered or unexported fields
}

func NewDropTagRequest added in v0.74.0

func NewDropTagRequest(name SchemaObjectIdentifier) *DropTagRequest

func (*DropTagRequest) WithIfExists added in v0.74.0

func (s *DropTagRequest) WithIfExists(ifExists bool) *DropTagRequest

type DropTaskOptions added in v0.73.0

type DropTaskOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropTaskOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-task.

type DropTaskRequest added in v0.73.0

type DropTaskRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropTaskRequest added in v0.73.0

func NewDropTaskRequest(
	name SchemaObjectIdentifier,
) *DropTaskRequest

func (*DropTaskRequest) WithIfExists added in v0.73.0

func (s *DropTaskRequest) WithIfExists(IfExists bool) *DropTaskRequest

type DropUserOptions added in v0.66.0

type DropUserOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropUserOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-user.

type DropVersion added in v0.84.0

type DropVersion struct {
	VersionIdentifier string `ddl:"keyword,no_quotes"`
}

type DropVersionRequest added in v0.84.0

type DropVersionRequest struct {
	VersionIdentifier string // required
}

func NewDropVersionRequest added in v0.84.0

func NewDropVersionRequest(
	VersionIdentifier string,
) *DropVersionRequest

type DropViewOptions added in v0.76.0

type DropViewOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-view.

type DropViewRequest added in v0.76.0

type DropViewRequest struct {
	IfExists *bool
	// contains filtered or unexported fields
}

func NewDropViewRequest added in v0.76.0

func NewDropViewRequest(
	name SchemaObjectIdentifier,
) *DropViewRequest

func (*DropViewRequest) WithIfExists added in v0.76.0

func (s *DropViewRequest) WithIfExists(IfExists bool) *DropViewRequest

type DropWarehouseOptions added in v0.66.0

type DropWarehouseOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`
	// contains filtered or unexported fields
}

DropWarehouseOptions is based on https://docs.snowflake.com/en/sql-reference/sql/drop-warehouse.

type DynamicTable added in v0.72.0

type DynamicTable struct {
	CreatedOn           time.Time
	Name                string
	Reserved            string
	DatabaseName        string
	SchemaName          string
	ClusterBy           string
	Rows                int
	Bytes               int
	Owner               string
	TargetLag           string
	RefreshMode         DynamicTableRefreshMode
	RefreshModeReason   string
	Warehouse           string
	Comment             string
	Text                string
	AutomaticClustering bool
	SchedulingState     DynamicTableSchedulingState
	LastSuspendedOn     time.Time
	IsClone             bool
	IsReplica           bool
	DataTimestamp       time.Time
	OwnerRoleType       string
}

func (*DynamicTable) ID added in v0.72.0

type DynamicTableDetails added in v0.72.0

type DynamicTableDetails struct {
	Name       string
	Type       DataType
	Kind       string
	IsNull     bool
	Default    string
	PrimaryKey string
	UniqueKey  string
	Check      string
	Expression string
	Comment    string
	PolicyName string
}

type DynamicTableInitialize added in v0.86.0

type DynamicTableInitialize string
const (
	DynamicTableInitializeOnCreate   DynamicTableInitialize = "ON_CREATE"
	DynamicTableInitializeOnSchedule DynamicTableInitialize = "ON_SCHEDULE"
)

func (DynamicTableInitialize) ToPointer added in v0.86.0

type DynamicTableRefreshMode added in v0.72.0

type DynamicTableRefreshMode string
const (
	DynamicTableRefreshModeAuto        DynamicTableRefreshMode = "AUTO"
	DynamicTableRefreshModeIncremental DynamicTableRefreshMode = "INCREMENTAL"
	DynamicTableRefreshModeFull        DynamicTableRefreshMode = "FULL"
)

func (DynamicTableRefreshMode) ToPointer added in v0.86.0

type DynamicTableSchedulingState added in v0.72.0

type DynamicTableSchedulingState string
const (
	DynamicTableSchedulingStateActive    DynamicTableSchedulingState = "ACTIVE"
	DynamicTableSchedulingStateSuspended DynamicTableSchedulingState = "SUSPENDED"
)

type DynamicTableSet added in v0.72.0

type DynamicTableSet struct {
	TargetLag *TargetLag               `ddl:"parameter,no_quotes" sql:"TARGET_LAG"`
	Warehouse *AccountObjectIdentifier `ddl:"identifier,equals" sql:"WAREHOUSE"`
}

type DynamicTableSetRequest added in v0.72.0

type DynamicTableSetRequest struct {
	// contains filtered or unexported fields
}

func NewDynamicTableSetRequest added in v0.72.0

func NewDynamicTableSetRequest() *DynamicTableSetRequest

func (*DynamicTableSetRequest) WithTargetLag added in v0.72.0

func (s *DynamicTableSetRequest) WithTargetLag(targetLag TargetLag) *DynamicTableSetRequest

func (*DynamicTableSetRequest) WithWarehouse added in v0.74.0

type DynamicTables added in v0.72.0

type EmailParams added in v0.85.0

type EmailParams struct {
	AllowedRecipients []NotificationIntegrationAllowedRecipient `ddl:"parameter,parentheses" sql:"ALLOWED_RECIPIENTS"`
	// contains filtered or unexported fields
}

type EmailParamsRequest added in v0.85.0

type EmailParamsRequest struct {
	AllowedRecipients []NotificationIntegrationAllowedRecipient
}

func NewEmailParamsRequest added in v0.85.0

func NewEmailParamsRequest() *EmailParamsRequest

func (*EmailParamsRequest) WithAllowedRecipients added in v0.85.0

func (s *EmailParamsRequest) WithAllowedRecipients(AllowedRecipients []NotificationIntegrationAllowedRecipient) *EmailParamsRequest

type EmailPattern added in v0.92.0

type EmailPattern struct {
	Pattern string `ddl:"keyword,single_quotes"`
}

type EnableFailover added in v0.66.0

type EnableFailover struct {
	ToAccounts []AccountIdentifier `ddl:"keyword,no_parentheses" sql:"TO ACCOUNTS"`
}

type EnableReplication added in v0.66.0

type EnableReplication struct {
	ToAccounts         []AccountIdentifier `ddl:"keyword,no_parentheses" sql:"TO ACCOUNTS"`
	IgnoreEditionCheck *bool               `ddl:"keyword" sql:"IGNORE EDITION CHECK"`
}

type Error added in v0.76.0

type Error struct {
	// contains filtered or unexported fields
}

func (*Error) Error added in v0.76.0

func (e *Error) Error() string

type EventTable added in v0.78.0

type EventTable struct {
	CreatedOn     time.Time
	Name          string
	DatabaseName  string
	SchemaName    string
	Owner         string
	Comment       string
	OwnerRoleType string
}

func (*EventTable) ID added in v0.89.0

type EventTableAddRowAccessPolicy added in v0.78.0

type EventTableAddRowAccessPolicy struct {
	RowAccessPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"ROW ACCESS POLICY"`
	On              []string               `ddl:"keyword,parentheses" sql:"ON"`
	// contains filtered or unexported fields
}

type EventTableAddRowAccessPolicyRequest added in v0.78.0

type EventTableAddRowAccessPolicyRequest struct {
	RowAccessPolicy SchemaObjectIdentifier // required
	On              []string               // required
}

func NewEventTableAddRowAccessPolicyRequest added in v0.78.0

func NewEventTableAddRowAccessPolicyRequest(
	RowAccessPolicy SchemaObjectIdentifier,
	On []string,
) *EventTableAddRowAccessPolicyRequest

type EventTableClusteringAction added in v0.78.0

type EventTableClusteringAction struct {
	ClusterBy         *[]string `ddl:"keyword,parentheses" sql:"CLUSTER BY"`
	SuspendRecluster  *bool     `ddl:"keyword" sql:"SUSPEND RECLUSTER"`
	ResumeRecluster   *bool     `ddl:"keyword" sql:"RESUME RECLUSTER"`
	DropClusteringKey *bool     `ddl:"keyword" sql:"DROP CLUSTERING KEY"`
}

type EventTableClusteringActionRequest added in v0.78.0

type EventTableClusteringActionRequest struct {
	ClusterBy         *[]string
	SuspendRecluster  *bool
	ResumeRecluster   *bool
	DropClusteringKey *bool
}

func NewEventTableClusteringActionRequest added in v0.78.0

func NewEventTableClusteringActionRequest() *EventTableClusteringActionRequest

func (*EventTableClusteringActionRequest) WithClusterBy added in v0.78.0

func (*EventTableClusteringActionRequest) WithDropClusteringKey added in v0.78.0

func (s *EventTableClusteringActionRequest) WithDropClusteringKey(DropClusteringKey *bool) *EventTableClusteringActionRequest

func (*EventTableClusteringActionRequest) WithResumeRecluster added in v0.78.0

func (s *EventTableClusteringActionRequest) WithResumeRecluster(ResumeRecluster *bool) *EventTableClusteringActionRequest

func (*EventTableClusteringActionRequest) WithSuspendRecluster added in v0.78.0

func (s *EventTableClusteringActionRequest) WithSuspendRecluster(SuspendRecluster *bool) *EventTableClusteringActionRequest

type EventTableDetails added in v0.78.0

type EventTableDetails struct {
	Name    string
	Kind    string
	Comment string
}

type EventTableDropAndAddRowAccessPolicy added in v0.78.0

type EventTableDropAndAddRowAccessPolicy struct {
	Drop EventTableDropRowAccessPolicy `ddl:"keyword"`
	Add  EventTableAddRowAccessPolicy  `ddl:"keyword"`
}

type EventTableDropAndAddRowAccessPolicyRequest added in v0.78.0

type EventTableDropAndAddRowAccessPolicyRequest struct {
	Drop EventTableDropRowAccessPolicyRequest // required
	Add  EventTableAddRowAccessPolicyRequest  // required
}

type EventTableDropRowAccessPolicy added in v0.78.0

type EventTableDropRowAccessPolicy struct {
	RowAccessPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"ROW ACCESS POLICY"`
	// contains filtered or unexported fields
}

type EventTableDropRowAccessPolicyRequest added in v0.78.0

type EventTableDropRowAccessPolicyRequest struct {
	RowAccessPolicy SchemaObjectIdentifier // required
}

func NewEventTableDropRowAccessPolicyRequest added in v0.78.0

func NewEventTableDropRowAccessPolicyRequest(
	RowAccessPolicy SchemaObjectIdentifier,
) *EventTableDropRowAccessPolicyRequest

type EventTableSearchOptimizationAction added in v0.78.0

type EventTableSearchOptimizationAction struct {
	Add  *SearchOptimization `ddl:"keyword" sql:"ADD"`
	Drop *SearchOptimization `ddl:"keyword" sql:"DROP"`
}

type EventTableSearchOptimizationActionRequest added in v0.78.0

type EventTableSearchOptimizationActionRequest struct {
	Add  *SearchOptimizationRequest
	Drop *SearchOptimizationRequest
}

func NewEventTableSearchOptimizationActionRequest added in v0.78.0

func NewEventTableSearchOptimizationActionRequest() *EventTableSearchOptimizationActionRequest

func (*EventTableSearchOptimizationActionRequest) WithAdd added in v0.78.0

func (*EventTableSearchOptimizationActionRequest) WithDrop added in v0.78.0

type EventTableSet added in v0.78.0

type EventTableSet struct {
	DataRetentionTimeInDays    *int    `ddl:"parameter" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays *int    `ddl:"parameter" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ChangeTracking             *bool   `ddl:"parameter" sql:"CHANGE_TRACKING"`
	Comment                    *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type EventTableSetRequest added in v0.78.0

type EventTableSetRequest struct {
	DataRetentionTimeInDays    *int
	MaxDataExtensionTimeInDays *int
	ChangeTracking             *bool
	Comment                    *string
}

func NewEventTableSetRequest added in v0.78.0

func NewEventTableSetRequest() *EventTableSetRequest

func (*EventTableSetRequest) WithChangeTracking added in v0.78.0

func (s *EventTableSetRequest) WithChangeTracking(ChangeTracking *bool) *EventTableSetRequest

func (*EventTableSetRequest) WithComment added in v0.78.0

func (s *EventTableSetRequest) WithComment(Comment *string) *EventTableSetRequest

func (*EventTableSetRequest) WithDataRetentionTimeInDays added in v0.78.0

func (s *EventTableSetRequest) WithDataRetentionTimeInDays(DataRetentionTimeInDays *int) *EventTableSetRequest

func (*EventTableSetRequest) WithMaxDataExtensionTimeInDays added in v0.78.0

func (s *EventTableSetRequest) WithMaxDataExtensionTimeInDays(MaxDataExtensionTimeInDays *int) *EventTableSetRequest

type EventTableUnset added in v0.78.0

type EventTableUnset struct {
	DataRetentionTimeInDays    *bool `ddl:"keyword" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays *bool `ddl:"keyword" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ChangeTracking             *bool `ddl:"keyword" sql:"CHANGE_TRACKING"`
	Comment                    *bool `ddl:"keyword" sql:"COMMENT"`
}

type EventTableUnsetRequest added in v0.78.0

type EventTableUnsetRequest struct {
	DataRetentionTimeInDays    *bool
	MaxDataExtensionTimeInDays *bool
	ChangeTracking             *bool
	Comment                    *bool
}

func NewEventTableUnsetRequest added in v0.78.0

func NewEventTableUnsetRequest() *EventTableUnsetRequest

func (*EventTableUnsetRequest) WithChangeTracking added in v0.78.0

func (s *EventTableUnsetRequest) WithChangeTracking(ChangeTracking *bool) *EventTableUnsetRequest

func (*EventTableUnsetRequest) WithComment added in v0.78.0

func (s *EventTableUnsetRequest) WithComment(Comment *bool) *EventTableUnsetRequest

func (*EventTableUnsetRequest) WithDataRetentionTimeInDays added in v0.78.0

func (s *EventTableUnsetRequest) WithDataRetentionTimeInDays(DataRetentionTimeInDays *bool) *EventTableUnsetRequest

func (*EventTableUnsetRequest) WithMaxDataExtensionTimeInDays added in v0.78.0

func (s *EventTableUnsetRequest) WithMaxDataExtensionTimeInDays(MaxDataExtensionTimeInDays *bool) *EventTableUnsetRequest

type EventTables added in v0.78.0

type EventTables interface {
	Create(ctx context.Context, request *CreateEventTableRequest) error
	Show(ctx context.Context, request *ShowEventTableRequest) ([]EventTable, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*EventTable, error)
	Describe(ctx context.Context, id SchemaObjectIdentifier) (*EventTableDetails, error)
	Drop(ctx context.Context, request *DropEventTableRequest) error
	Alter(ctx context.Context, request *AlterEventTableRequest) error
}

type ExecuteAs added in v0.79.0

type ExecuteAs string
const (
	ExecuteAsCaller ExecuteAs = "EXECUTE AS CALLER"
	ExecuteAsOwner  ExecuteAs = "EXECUTE AS OWNER"
)

func ExecuteAsPointer added in v0.79.0

func ExecuteAsPointer(v ExecuteAs) *ExecuteAs

type ExecuteTaskOptions added in v0.73.0

type ExecuteTaskOptions struct {
	RetryLast *bool `ddl:"keyword" sql:"RETRY LAST"`
	// contains filtered or unexported fields
}

ExecuteTaskOptions is based on https://docs.snowflake.com/en/sql-reference/sql/execute-task.

type ExecuteTaskRequest added in v0.73.0

type ExecuteTaskRequest struct {
	RetryLast *bool
	// contains filtered or unexported fields
}

func NewExecuteTaskRequest added in v0.73.0

func NewExecuteTaskRequest(
	name SchemaObjectIdentifier,
) *ExecuteTaskRequest

func (*ExecuteTaskRequest) WithRetryLast added in v0.73.0

func (s *ExecuteTaskRequest) WithRetryLast(RetryLast bool) *ExecuteTaskRequest

type ExtendedIn added in v0.95.0

type ExtendedIn struct {
	In
	Application        AccountObjectIdentifier `ddl:"identifier" sql:"APPLICATION"`
	ApplicationPackage AccountObjectIdentifier `ddl:"identifier" sql:"APPLICATION PACKAGE"`
}

type ExternalAccessIntegrations added in v0.94.0

type ExternalAccessIntegrations struct {
	ExternalAccessIntegrations []AccountObjectIdentifier `ddl:"list,must_parentheses"`
}

type ExternalAccessIntegrationsRequest added in v0.94.0

type ExternalAccessIntegrationsRequest struct {
	ExternalAccessIntegrations []AccountObjectIdentifier // required
}

func NewExternalAccessIntegrationsRequest added in v0.94.0

func NewExternalAccessIntegrationsRequest(
	ExternalAccessIntegrations []AccountObjectIdentifier,
) *ExternalAccessIntegrationsRequest

type ExternalAzureDirectoryTableOptions added in v0.76.0

type ExternalAzureDirectoryTableOptions struct {
	Enable                  *bool   `ddl:"parameter" sql:"ENABLE"`
	RefreshOnCreate         *bool   `ddl:"parameter" sql:"REFRESH_ON_CREATE"`
	AutoRefresh             *bool   `ddl:"parameter" sql:"AUTO_REFRESH"`
	NotificationIntegration *string `ddl:"parameter,single_quotes" sql:"NOTIFICATION_INTEGRATION"`
}

type ExternalAzureDirectoryTableOptionsRequest added in v0.76.0

type ExternalAzureDirectoryTableOptionsRequest struct {
	Enable                  *bool
	RefreshOnCreate         *bool
	AutoRefresh             *bool
	NotificationIntegration *string
}

func NewExternalAzureDirectoryTableOptionsRequest added in v0.76.0

func NewExternalAzureDirectoryTableOptionsRequest() *ExternalAzureDirectoryTableOptionsRequest

func (*ExternalAzureDirectoryTableOptionsRequest) WithAutoRefresh added in v0.76.0

func (*ExternalAzureDirectoryTableOptionsRequest) WithEnable added in v0.76.0

func (*ExternalAzureDirectoryTableOptionsRequest) WithNotificationIntegration added in v0.76.0

func (s *ExternalAzureDirectoryTableOptionsRequest) WithNotificationIntegration(NotificationIntegration *string) *ExternalAzureDirectoryTableOptionsRequest

func (*ExternalAzureDirectoryTableOptionsRequest) WithRefreshOnCreate added in v0.76.0

type ExternalAzureStageParams added in v0.76.0

type ExternalAzureStageParams struct {
	Url                string                         `ddl:"parameter,single_quotes" sql:"URL"`
	StorageIntegration *AccountObjectIdentifier       `ddl:"identifier,equals" sql:"STORAGE_INTEGRATION"`
	Credentials        *ExternalStageAzureCredentials `ddl:"list,parentheses,no_comma" sql:"CREDENTIALS ="`
	Encryption         *ExternalStageAzureEncryption  `ddl:"list,parentheses,no_comma" sql:"ENCRYPTION ="`
}

type ExternalAzureStageParamsRequest added in v0.76.0

type ExternalAzureStageParamsRequest struct {
	Url                string // required
	StorageIntegration *AccountObjectIdentifier
	Credentials        *ExternalStageAzureCredentialsRequest
	Encryption         *ExternalStageAzureEncryptionRequest
}

func NewExternalAzureStageParamsRequest added in v0.76.0

func NewExternalAzureStageParamsRequest(
	Url string,
) *ExternalAzureStageParamsRequest

func (*ExternalAzureStageParamsRequest) WithCredentials added in v0.76.0

func (*ExternalAzureStageParamsRequest) WithEncryption added in v0.76.0

func (*ExternalAzureStageParamsRequest) WithStorageIntegration added in v0.76.0

func (s *ExternalAzureStageParamsRequest) WithStorageIntegration(StorageIntegration *AccountObjectIdentifier) *ExternalAzureStageParamsRequest

type ExternalFunction added in v0.85.0

type ExternalFunction struct {
	CreatedOn          string
	Name               string
	SchemaName         string
	IsBuiltin          bool
	IsAggregate        bool
	IsAnsi             bool
	MinNumArguments    int
	MaxNumArguments    int
	Arguments          []DataType
	ArgumentsRaw       string
	Description        string
	CatalogName        string
	IsTableFunction    bool
	ValidForClustering bool
	IsSecure           bool
	IsExternalFunction bool
	Language           string
	IsMemoizable       bool
	IsDataMetric       bool
}

func (*ExternalFunction) ID added in v0.89.0

type ExternalFunctionArgument added in v0.85.0

type ExternalFunctionArgument struct {
	ArgName     string   `ddl:"keyword,no_quotes"`
	ArgDataType DataType `ddl:"keyword,no_quotes"`
}

type ExternalFunctionArgumentRequest added in v0.85.0

type ExternalFunctionArgumentRequest struct {
	ArgName     string   // required
	ArgDataType DataType // required
}

func NewExternalFunctionArgumentRequest added in v0.85.0

func NewExternalFunctionArgumentRequest(
	ArgName string,
	ArgDataType DataType,
) *ExternalFunctionArgumentRequest

type ExternalFunctionContextHeader added in v0.85.0

type ExternalFunctionContextHeader struct {
	ContextFunction string `ddl:"keyword,no_quotes"`
}

type ExternalFunctionContextHeaderRequest added in v0.85.0

type ExternalFunctionContextHeaderRequest struct {
	ContextFunction string // required
}

func NewExternalFunctionContextHeaderRequest added in v0.85.0

func NewExternalFunctionContextHeaderRequest(
	ContextFunction string,
) *ExternalFunctionContextHeaderRequest

type ExternalFunctionHeader added in v0.85.0

type ExternalFunctionHeader struct {
	Name  string `ddl:"keyword,single_quotes"`
	Value string `ddl:"parameter,single_quotes"`
}

type ExternalFunctionHeaderRequest added in v0.85.0

type ExternalFunctionHeaderRequest struct {
	Name  string // required
	Value string // required
}

func NewExternalFunctionHeaderRequest added in v0.85.0

func NewExternalFunctionHeaderRequest(
	Name string,
	Value string,
) *ExternalFunctionHeaderRequest

type ExternalFunctionProperty added in v0.85.0

type ExternalFunctionProperty struct {
	Property string
	Value    string
}

type ExternalFunctionSet added in v0.85.0

type ExternalFunctionSet struct {
	ApiIntegration     *AccountObjectIdentifier        `ddl:"identifier" sql:"API_INTEGRATION ="`
	Headers            []ExternalFunctionHeader        `ddl:"parameter,parentheses" sql:"HEADERS"`
	ContextHeaders     []ExternalFunctionContextHeader `ddl:"parameter,parentheses" sql:"CONTEXT_HEADERS"`
	MaxBatchRows       *int                            `ddl:"parameter" sql:"MAX_BATCH_ROWS"`
	Compression        *string                         `ddl:"parameter" sql:"COMPRESSION"`
	RequestTranslator  *SchemaObjectIdentifier         `ddl:"identifier" sql:"REQUEST_TRANSLATOR ="`
	ResponseTranslator *SchemaObjectIdentifier         `ddl:"identifier" sql:"RESPONSE_TRANSLATOR ="`
}

type ExternalFunctionSetRequest added in v0.85.0

type ExternalFunctionSetRequest struct {
	ApiIntegration     *AccountObjectIdentifier
	Headers            []ExternalFunctionHeaderRequest
	ContextHeaders     []ExternalFunctionContextHeaderRequest
	MaxBatchRows       *int
	Compression        *string
	RequestTranslator  *SchemaObjectIdentifier
	ResponseTranslator *SchemaObjectIdentifier
}

func NewExternalFunctionSetRequest added in v0.85.0

func NewExternalFunctionSetRequest() *ExternalFunctionSetRequest

func (*ExternalFunctionSetRequest) WithApiIntegration added in v0.85.0

func (s *ExternalFunctionSetRequest) WithApiIntegration(ApiIntegration AccountObjectIdentifier) *ExternalFunctionSetRequest

func (*ExternalFunctionSetRequest) WithCompression added in v0.85.0

func (s *ExternalFunctionSetRequest) WithCompression(Compression string) *ExternalFunctionSetRequest

func (*ExternalFunctionSetRequest) WithContextHeaders added in v0.85.0

func (*ExternalFunctionSetRequest) WithHeaders added in v0.85.0

func (*ExternalFunctionSetRequest) WithMaxBatchRows added in v0.85.0

func (s *ExternalFunctionSetRequest) WithMaxBatchRows(MaxBatchRows int) *ExternalFunctionSetRequest

func (*ExternalFunctionSetRequest) WithRequestTranslator added in v0.85.0

func (s *ExternalFunctionSetRequest) WithRequestTranslator(RequestTranslator SchemaObjectIdentifier) *ExternalFunctionSetRequest

func (*ExternalFunctionSetRequest) WithResponseTranslator added in v0.85.0

func (s *ExternalFunctionSetRequest) WithResponseTranslator(ResponseTranslator SchemaObjectIdentifier) *ExternalFunctionSetRequest

type ExternalFunctionUnset added in v0.85.0

type ExternalFunctionUnset struct {
	Comment            *bool `ddl:"keyword" sql:"COMMENT"`
	Headers            *bool `ddl:"keyword" sql:"HEADERS"`
	ContextHeaders     *bool `ddl:"keyword" sql:"CONTEXT_HEADERS"`
	MaxBatchRows       *bool `ddl:"keyword" sql:"MAX_BATCH_ROWS"`
	Compression        *bool `ddl:"keyword" sql:"COMPRESSION"`
	Secure             *bool `ddl:"keyword" sql:"SECURE"`
	RequestTranslator  *bool `ddl:"keyword" sql:"REQUEST_TRANSLATOR"`
	ResponseTranslator *bool `ddl:"keyword" sql:"RESPONSE_TRANSLATOR"`
}

type ExternalFunctionUnsetRequest added in v0.85.0

type ExternalFunctionUnsetRequest struct {
	Comment            *bool
	Headers            *bool
	ContextHeaders     *bool
	MaxBatchRows       *bool
	Compression        *bool
	Secure             *bool
	RequestTranslator  *bool
	ResponseTranslator *bool
}

func NewExternalFunctionUnsetRequest added in v0.85.0

func NewExternalFunctionUnsetRequest() *ExternalFunctionUnsetRequest

func (*ExternalFunctionUnsetRequest) WithComment added in v0.85.0

func (*ExternalFunctionUnsetRequest) WithCompression added in v0.85.0

func (s *ExternalFunctionUnsetRequest) WithCompression(Compression bool) *ExternalFunctionUnsetRequest

func (*ExternalFunctionUnsetRequest) WithContextHeaders added in v0.85.0

func (s *ExternalFunctionUnsetRequest) WithContextHeaders(ContextHeaders bool) *ExternalFunctionUnsetRequest

func (*ExternalFunctionUnsetRequest) WithHeaders added in v0.85.0

func (*ExternalFunctionUnsetRequest) WithMaxBatchRows added in v0.85.0

func (s *ExternalFunctionUnsetRequest) WithMaxBatchRows(MaxBatchRows bool) *ExternalFunctionUnsetRequest

func (*ExternalFunctionUnsetRequest) WithRequestTranslator added in v0.85.0

func (s *ExternalFunctionUnsetRequest) WithRequestTranslator(RequestTranslator bool) *ExternalFunctionUnsetRequest

func (*ExternalFunctionUnsetRequest) WithResponseTranslator added in v0.85.0

func (s *ExternalFunctionUnsetRequest) WithResponseTranslator(ResponseTranslator bool) *ExternalFunctionUnsetRequest

func (*ExternalFunctionUnsetRequest) WithSecure added in v0.85.0

type ExternalGCSDirectoryTableOptions added in v0.76.0

type ExternalGCSDirectoryTableOptions struct {
	Enable                  *bool   `ddl:"parameter" sql:"ENABLE"`
	RefreshOnCreate         *bool   `ddl:"parameter" sql:"REFRESH_ON_CREATE"`
	AutoRefresh             *bool   `ddl:"parameter" sql:"AUTO_REFRESH"`
	NotificationIntegration *string `ddl:"parameter,single_quotes" sql:"NOTIFICATION_INTEGRATION"`
}

type ExternalGCSDirectoryTableOptionsRequest added in v0.76.0

type ExternalGCSDirectoryTableOptionsRequest struct {
	Enable                  *bool
	RefreshOnCreate         *bool
	AutoRefresh             *bool
	NotificationIntegration *string
}

func NewExternalGCSDirectoryTableOptionsRequest added in v0.76.0

func NewExternalGCSDirectoryTableOptionsRequest() *ExternalGCSDirectoryTableOptionsRequest

func (*ExternalGCSDirectoryTableOptionsRequest) WithAutoRefresh added in v0.76.0

func (*ExternalGCSDirectoryTableOptionsRequest) WithEnable added in v0.76.0

func (*ExternalGCSDirectoryTableOptionsRequest) WithNotificationIntegration added in v0.76.0

func (s *ExternalGCSDirectoryTableOptionsRequest) WithNotificationIntegration(NotificationIntegration *string) *ExternalGCSDirectoryTableOptionsRequest

func (*ExternalGCSDirectoryTableOptionsRequest) WithRefreshOnCreate added in v0.76.0

type ExternalGCSStageParams added in v0.76.0

type ExternalGCSStageParams struct {
	Url                string                      `ddl:"parameter,single_quotes" sql:"URL"`
	StorageIntegration *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"STORAGE_INTEGRATION"`
	Encryption         *ExternalStageGCSEncryption `ddl:"list,parentheses,no_comma" sql:"ENCRYPTION ="`
}

type ExternalGCSStageParamsRequest added in v0.76.0

type ExternalGCSStageParamsRequest struct {
	Url                string // required
	StorageIntegration *AccountObjectIdentifier
	Encryption         *ExternalStageGCSEncryptionRequest
}

func NewExternalGCSStageParamsRequest added in v0.76.0

func NewExternalGCSStageParamsRequest(
	Url string,
) *ExternalGCSStageParamsRequest

func (*ExternalGCSStageParamsRequest) WithEncryption added in v0.76.0

func (*ExternalGCSStageParamsRequest) WithStorageIntegration added in v0.76.0

func (s *ExternalGCSStageParamsRequest) WithStorageIntegration(StorageIntegration *AccountObjectIdentifier) *ExternalGCSStageParamsRequest

type ExternalOauthIntegrationSet added in v0.92.0

type ExternalOauthIntegrationSet struct {
	Enabled                                    *bool                                                                `ddl:"parameter" sql:"ENABLED"`
	ExternalOauthType                          *ExternalOauthSecurityIntegrationTypeOption                          `ddl:"parameter" sql:"EXTERNAL_OAUTH_TYPE"`
	ExternalOauthIssuer                        *string                                                              `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_ISSUER"`
	ExternalOauthTokenUserMappingClaim         []TokenUserMappingClaim                                              `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM"`
	ExternalOauthSnowflakeUserMappingAttribute *ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE"`
	ExternalOauthJwsKeysUrl                    []JwsKeysUrl                                                         `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_JWS_KEYS_URL"`
	ExternalOauthBlockedRolesList              *BlockedRolesList                                                    `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_BLOCKED_ROLES_LIST"`
	ExternalOauthAllowedRolesList              *AllowedRolesList                                                    `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_ALLOWED_ROLES_LIST"`
	ExternalOauthRsaPublicKey                  *string                                                              `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_RSA_PUBLIC_KEY"`
	ExternalOauthRsaPublicKey2                 *string                                                              `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_RSA_PUBLIC_KEY_2"`
	ExternalOauthAudienceList                  *AudienceList                                                        `ddl:"parameter,parentheses" sql:"EXTERNAL_OAUTH_AUDIENCE_LIST"`
	ExternalOauthAnyRoleMode                   *ExternalOauthSecurityIntegrationAnyRoleModeOption                   `ddl:"parameter" sql:"EXTERNAL_OAUTH_ANY_ROLE_MODE"`
	ExternalOauthScopeDelimiter                *string                                                              `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_SCOPE_DELIMITER"`
	ExternalOauthScopeMappingAttribute         *string                                                              `ddl:"parameter,single_quotes" sql:"EXTERNAL_OAUTH_SCOPE_MAPPING_ATTRIBUTE"`
	Comment                                    *StringAllowEmpty                                                    `ddl:"parameter" sql:"COMMENT"`
}

type ExternalOauthIntegrationSetRequest added in v0.92.0

type ExternalOauthIntegrationSetRequest struct {
	Enabled                                    *bool
	ExternalOauthType                          *ExternalOauthSecurityIntegrationTypeOption
	ExternalOauthIssuer                        *string
	ExternalOauthTokenUserMappingClaim         []TokenUserMappingClaim
	ExternalOauthSnowflakeUserMappingAttribute *ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption
	ExternalOauthJwsKeysUrl                    []JwsKeysUrl
	ExternalOauthBlockedRolesList              *BlockedRolesListRequest
	ExternalOauthAllowedRolesList              *AllowedRolesListRequest
	ExternalOauthRsaPublicKey                  *string
	ExternalOauthRsaPublicKey2                 *string
	ExternalOauthAudienceList                  *AudienceListRequest
	ExternalOauthAnyRoleMode                   *ExternalOauthSecurityIntegrationAnyRoleModeOption
	ExternalOauthScopeDelimiter                *string
	ExternalOauthScopeMappingAttribute         *string
	Comment                                    *StringAllowEmpty
}

func NewExternalOauthIntegrationSetRequest added in v0.92.0

func NewExternalOauthIntegrationSetRequest() *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithComment added in v0.92.0

func (*ExternalOauthIntegrationSetRequest) WithEnabled added in v0.92.0

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthAllowedRolesList added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthAllowedRolesList(ExternalOauthAllowedRolesList AllowedRolesListRequest) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthAnyRoleMode added in v0.92.0

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthAudienceList added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthAudienceList(ExternalOauthAudienceList AudienceListRequest) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthBlockedRolesList added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthBlockedRolesList(ExternalOauthBlockedRolesList BlockedRolesListRequest) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthIssuer added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthIssuer(ExternalOauthIssuer string) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthJwsKeysUrl added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthJwsKeysUrl(ExternalOauthJwsKeysUrl []JwsKeysUrl) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthRsaPublicKey added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthRsaPublicKey(ExternalOauthRsaPublicKey string) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthRsaPublicKey2 added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthRsaPublicKey2(ExternalOauthRsaPublicKey2 string) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthScopeDelimiter added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthScopeDelimiter(ExternalOauthScopeDelimiter string) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthScopeMappingAttribute added in v0.93.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthScopeMappingAttribute(ExternalOauthScopeMappingAttribute string) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthSnowflakeUserMappingAttribute added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthSnowflakeUserMappingAttribute(ExternalOauthSnowflakeUserMappingAttribute ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthTokenUserMappingClaim added in v0.92.0

func (s *ExternalOauthIntegrationSetRequest) WithExternalOauthTokenUserMappingClaim(ExternalOauthTokenUserMappingClaim []TokenUserMappingClaim) *ExternalOauthIntegrationSetRequest

func (*ExternalOauthIntegrationSetRequest) WithExternalOauthType added in v0.92.0

type ExternalOauthIntegrationUnset added in v0.92.0

type ExternalOauthIntegrationUnset struct {
	Enabled                   *bool `ddl:"keyword" sql:"ENABLED"`
	ExternalOauthAudienceList *bool `ddl:"keyword" sql:"EXTERNAL_OAUTH_AUDIENCE_LIST"`
}

type ExternalOauthIntegrationUnsetRequest added in v0.92.0

type ExternalOauthIntegrationUnsetRequest struct {
	Enabled                   *bool
	ExternalOauthAudienceList *bool
}

func NewExternalOauthIntegrationUnsetRequest added in v0.92.0

func NewExternalOauthIntegrationUnsetRequest() *ExternalOauthIntegrationUnsetRequest

func (*ExternalOauthIntegrationUnsetRequest) WithEnabled added in v0.92.0

func (*ExternalOauthIntegrationUnsetRequest) WithExternalOauthAudienceList added in v0.92.0

func (s *ExternalOauthIntegrationUnsetRequest) WithExternalOauthAudienceList(ExternalOauthAudienceList bool) *ExternalOauthIntegrationUnsetRequest

type ExternalOauthSecurityIntegrationAnyRoleModeOption added in v0.92.0

type ExternalOauthSecurityIntegrationAnyRoleModeOption string
const (
	ExternalOauthSecurityIntegrationAnyRoleModeDisable            ExternalOauthSecurityIntegrationAnyRoleModeOption = "DISABLE"
	ExternalOauthSecurityIntegrationAnyRoleModeEnable             ExternalOauthSecurityIntegrationAnyRoleModeOption = "ENABLE"
	ExternalOauthSecurityIntegrationAnyRoleModeEnableForPrivilege ExternalOauthSecurityIntegrationAnyRoleModeOption = "ENABLE_FOR_PRIVILEGE"
)

func ToExternalOauthSecurityIntegrationAnyRoleModeOption added in v0.93.0

func ToExternalOauthSecurityIntegrationAnyRoleModeOption(s string) (ExternalOauthSecurityIntegrationAnyRoleModeOption, error)

type ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption added in v0.92.0

type ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption string
const (
	ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeLoginName    ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption = "LOGIN_NAME"
	ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeEmailAddress ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption = "EMAIL_ADDRESS"
)

func ToExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption added in v0.93.0

func ToExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption(s string) (ExternalOauthSecurityIntegrationSnowflakeUserMappingAttributeOption, error)

type ExternalOauthSecurityIntegrationTypeOption added in v0.92.0

type ExternalOauthSecurityIntegrationTypeOption string
const (
	ExternalOauthSecurityIntegrationTypeOkta         ExternalOauthSecurityIntegrationTypeOption = "OKTA"
	ExternalOauthSecurityIntegrationTypeAzure        ExternalOauthSecurityIntegrationTypeOption = "AZURE"
	ExternalOauthSecurityIntegrationTypePingFederate ExternalOauthSecurityIntegrationTypeOption = "PING_FEDERATE"
	ExternalOauthSecurityIntegrationTypeCustom       ExternalOauthSecurityIntegrationTypeOption = "CUSTOM"
)

func ToExternalOauthSecurityIntegrationTypeOption added in v0.93.0

func ToExternalOauthSecurityIntegrationTypeOption(s string) (ExternalOauthSecurityIntegrationTypeOption, error)

type ExternalObjectIdentifier added in v0.65.0

type ExternalObjectIdentifier struct {
	// contains filtered or unexported fields
}

for objects that live in other accounts

func NewExternalObjectIdentifier added in v0.65.0

func NewExternalObjectIdentifier(accountIdentifier AccountIdentifier, objectIdentifier ObjectIdentifier) ExternalObjectIdentifier

func NewExternalObjectIdentifierFromFullyQualifiedName added in v0.65.0

func NewExternalObjectIdentifierFromFullyQualifiedName(fullyQualifiedName string) ExternalObjectIdentifier

func ParseExternalObjectIdentifier added in v0.95.0

func ParseExternalObjectIdentifier(identifier string) (ExternalObjectIdentifier, error)

ParseExternalObjectIdentifier is implemented with an assumption that the identifier consists of three parts, because:

  • After identifier rework, we expect account identifiers to always have two parts "<organization_name>.<account_name>".
  • So far, the only external things that we referred to with external identifiers had only one part (not including the account identifier), meaning it will always be represented as sdk.AccountObjectIdentifier. Documentation also doesn't describe any case where account identifier would be used as part of the identifier that would refer to the "lower level" object. Reference: https://docs.snowflake.com/en/user-guide/admin-account-identifier#where-are-account-identifiers-used.

func (ExternalObjectIdentifier) AccountIdentifier added in v0.95.0

func (i ExternalObjectIdentifier) AccountIdentifier() AccountIdentifier

func (ExternalObjectIdentifier) FullyQualifiedName added in v0.65.0

func (i ExternalObjectIdentifier) FullyQualifiedName() string

func (ExternalObjectIdentifier) Name added in v0.65.0

type ExternalS3DirectoryTableOptions added in v0.76.0

type ExternalS3DirectoryTableOptions struct {
	Enable          *bool `ddl:"parameter" sql:"ENABLE"`
	RefreshOnCreate *bool `ddl:"parameter" sql:"REFRESH_ON_CREATE"`
	AutoRefresh     *bool `ddl:"parameter" sql:"AUTO_REFRESH"`
}

type ExternalS3DirectoryTableOptionsRequest added in v0.76.0

type ExternalS3DirectoryTableOptionsRequest struct {
	Enable          *bool
	RefreshOnCreate *bool
	AutoRefresh     *bool
}

func NewExternalS3DirectoryTableOptionsRequest added in v0.76.0

func NewExternalS3DirectoryTableOptionsRequest() *ExternalS3DirectoryTableOptionsRequest

func (*ExternalS3DirectoryTableOptionsRequest) WithAutoRefresh added in v0.76.0

func (*ExternalS3DirectoryTableOptionsRequest) WithEnable added in v0.76.0

func (*ExternalS3DirectoryTableOptionsRequest) WithRefreshOnCreate added in v0.76.0

type ExternalS3StageParams added in v0.76.0

type ExternalS3StageParams struct {
	Url                string                      `ddl:"parameter,single_quotes" sql:"URL"`
	StorageIntegration *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"STORAGE_INTEGRATION"`
	Credentials        *ExternalStageS3Credentials `ddl:"list,parentheses,no_comma" sql:"CREDENTIALS ="`
	Encryption         *ExternalStageS3Encryption  `ddl:"list,parentheses,no_comma" sql:"ENCRYPTION ="`
}

type ExternalS3StageParamsRequest added in v0.76.0

type ExternalS3StageParamsRequest struct {
	Url                string // required
	StorageIntegration *AccountObjectIdentifier
	Credentials        *ExternalStageS3CredentialsRequest
	Encryption         *ExternalStageS3EncryptionRequest
}

func NewExternalS3StageParamsRequest added in v0.76.0

func NewExternalS3StageParamsRequest(
	Url string,
) *ExternalS3StageParamsRequest

func (*ExternalS3StageParamsRequest) WithCredentials added in v0.76.0

func (*ExternalS3StageParamsRequest) WithEncryption added in v0.76.0

func (*ExternalS3StageParamsRequest) WithStorageIntegration added in v0.76.0

func (s *ExternalS3StageParamsRequest) WithStorageIntegration(StorageIntegration *AccountObjectIdentifier) *ExternalS3StageParamsRequest

type ExternalStageAzureCredentials added in v0.76.0

type ExternalStageAzureCredentials struct {
	AzureSasToken string `ddl:"parameter,single_quotes" sql:"AZURE_SAS_TOKEN"`
}

type ExternalStageAzureCredentialsRequest added in v0.76.0

type ExternalStageAzureCredentialsRequest struct {
	AzureSasToken string // required
}

func NewExternalStageAzureCredentialsRequest added in v0.76.0

func NewExternalStageAzureCredentialsRequest(
	AzureSasToken string,
) *ExternalStageAzureCredentialsRequest

type ExternalStageAzureEncryption added in v0.76.0

type ExternalStageAzureEncryption struct {
	Type      *ExternalStageAzureEncryptionOption `ddl:"parameter,single_quotes" sql:"TYPE"`
	MasterKey *string                             `ddl:"parameter,single_quotes" sql:"MASTER_KEY"`
}

type ExternalStageAzureEncryptionOption added in v0.76.0

type ExternalStageAzureEncryptionOption string
var (
	ExternalStageAzureEncryptionCSE  ExternalStageAzureEncryptionOption = "AZURE_CSE"
	ExternalStageAzureEncryptionNone ExternalStageAzureEncryptionOption = "NONE"
)

type ExternalStageAzureEncryptionRequest added in v0.76.0

type ExternalStageAzureEncryptionRequest struct {
	Type      *ExternalStageAzureEncryptionOption // required
	MasterKey *string
}

func NewExternalStageAzureEncryptionRequest added in v0.76.0

func NewExternalStageAzureEncryptionRequest(
	Type *ExternalStageAzureEncryptionOption,
) *ExternalStageAzureEncryptionRequest

func (*ExternalStageAzureEncryptionRequest) WithMasterKey added in v0.76.0

type ExternalStageGCSEncryption added in v0.76.0

type ExternalStageGCSEncryption struct {
	Type     *ExternalStageGCSEncryptionOption `ddl:"parameter,single_quotes" sql:"TYPE"`
	KmsKeyId *string                           `ddl:"parameter,single_quotes" sql:"KMS_KEY_ID"`
}

type ExternalStageGCSEncryptionOption added in v0.76.0

type ExternalStageGCSEncryptionOption string
var (
	ExternalStageGCSEncryptionSSEKMS ExternalStageGCSEncryptionOption = "GCS_SSE_KMS"
	ExternalStageGCSEncryptionNone   ExternalStageGCSEncryptionOption = "NONE"
)

type ExternalStageGCSEncryptionRequest added in v0.76.0

type ExternalStageGCSEncryptionRequest struct {
	Type     *ExternalStageGCSEncryptionOption // required
	KmsKeyId *string
}

func NewExternalStageGCSEncryptionRequest added in v0.76.0

func NewExternalStageGCSEncryptionRequest(
	Type *ExternalStageGCSEncryptionOption,
) *ExternalStageGCSEncryptionRequest

func (*ExternalStageGCSEncryptionRequest) WithKmsKeyId added in v0.76.0

type ExternalStageS3CompatibleCredentials added in v0.76.0

type ExternalStageS3CompatibleCredentials struct {
	AWSKeyId     *string `ddl:"parameter,single_quotes" sql:"AWS_KEY_ID"`
	AWSSecretKey *string `ddl:"parameter,single_quotes" sql:"AWS_SECRET_KEY"`
}

type ExternalStageS3CompatibleCredentialsRequest added in v0.76.0

type ExternalStageS3CompatibleCredentialsRequest struct {
	AWSKeyId     *string // required
	AWSSecretKey *string // required
}

func NewExternalStageS3CompatibleCredentialsRequest added in v0.76.0

func NewExternalStageS3CompatibleCredentialsRequest(
	AwsKeyId *string,
	AwsSecretKey *string,
) *ExternalStageS3CompatibleCredentialsRequest

type ExternalStageS3Credentials added in v0.76.0

type ExternalStageS3Credentials struct {
	AWSKeyId     *string `ddl:"parameter,single_quotes" sql:"AWS_KEY_ID"`
	AWSSecretKey *string `ddl:"parameter,single_quotes" sql:"AWS_SECRET_KEY"`
	AWSToken     *string `ddl:"parameter,single_quotes" sql:"AWS_TOKEN"`
	AWSRole      *string `ddl:"parameter,single_quotes" sql:"AWS_ROLE"`
}

type ExternalStageS3CredentialsRequest added in v0.76.0

type ExternalStageS3CredentialsRequest struct {
	AWSKeyId     *string
	AWSSecretKey *string
	AWSToken     *string
	AWSRole      *string
}

func NewExternalStageS3CredentialsRequest added in v0.76.0

func NewExternalStageS3CredentialsRequest() *ExternalStageS3CredentialsRequest

func (*ExternalStageS3CredentialsRequest) WithAwsKeyId added in v0.76.0

func (*ExternalStageS3CredentialsRequest) WithAwsRole added in v0.76.0

func (*ExternalStageS3CredentialsRequest) WithAwsSecretKey added in v0.76.0

func (*ExternalStageS3CredentialsRequest) WithAwsToken added in v0.76.0

type ExternalStageS3Encryption added in v0.76.0

type ExternalStageS3Encryption struct {
	Type      *ExternalStageS3EncryptionOption `ddl:"parameter,single_quotes" sql:"TYPE"`
	MasterKey *string                          `ddl:"parameter,single_quotes" sql:"MASTER_KEY"`
	KmsKeyId  *string                          `ddl:"parameter,single_quotes" sql:"KMS_KEY_ID"`
}

type ExternalStageS3EncryptionOption added in v0.76.0

type ExternalStageS3EncryptionOption string
var (
	ExternalStageS3EncryptionCSE    ExternalStageS3EncryptionOption = "AWS_CSE"
	ExternalStageS3EncryptionSSES3  ExternalStageS3EncryptionOption = "AWS_SSE_S3"
	ExternalStageS3EncryptionSSEKMS ExternalStageS3EncryptionOption = "AWS_SSE_KMS"
	ExternalStageS3EncryptionNone   ExternalStageS3EncryptionOption = "NONE"
)

type ExternalStageS3EncryptionRequest added in v0.76.0

type ExternalStageS3EncryptionRequest struct {
	Type      *ExternalStageS3EncryptionOption // required
	MasterKey *string
	KmsKeyId  *string
}

func NewExternalStageS3EncryptionRequest added in v0.76.0

func NewExternalStageS3EncryptionRequest(
	Type *ExternalStageS3EncryptionOption,
) *ExternalStageS3EncryptionRequest

func (*ExternalStageS3EncryptionRequest) WithKmsKeyId added in v0.76.0

func (*ExternalStageS3EncryptionRequest) WithMasterKey added in v0.76.0

type ExternalTable added in v0.72.0

type ExternalTable struct {
	CreatedOn           time.Time
	Name                string
	DatabaseName        string
	SchemaName          string
	Invalid             bool
	InvalidReason       string
	Owner               string
	Comment             string
	Stage               string
	Location            string
	FileFormatName      string
	FileFormatType      string
	Cloud               string
	Region              string
	NotificationChannel string
	LastRefreshedOn     time.Time
	TableFormat         string
	LastRefreshDetails  string
	OwnerRoleType       string
}

func (*ExternalTable) ID added in v0.72.0

func (*ExternalTable) ObjectType added in v0.72.0

func (v *ExternalTable) ObjectType() ObjectType

type ExternalTableAvroCompression added in v0.72.0

type ExternalTableAvroCompression string
var (
	ExternalTableAvroCompressionAuto       ExternalTableAvroCompression = "AUTO"
	ExternalTableAvroCompressionGzip       ExternalTableAvroCompression = "GZIP"
	ExternalTableAvroCompressionBz2        ExternalTableAvroCompression = "BZ2"
	ExternalTableAvroCompressionBrotli     ExternalTableAvroCompression = "BROTLI"
	ExternalTableAvroCompressionZstd       ExternalTableAvroCompression = "ZSTD"
	ExternalTableAvroCompressionDeflate    ExternalTableAvroCompression = "DEFLATE"
	ExternalTableAvroCompressionRawDeflate ExternalTableAvroCompression = "RAW_DEFLATE"
	ExternalTableAvroCompressionNone       ExternalTableAvroCompression = "NONE"
)

type ExternalTableColumn added in v0.72.0

type ExternalTableColumn struct {
	Name             string   `ddl:"keyword"`
	Type             DataType `ddl:"keyword"`
	AsExpression     []string `ddl:"keyword,parentheses" sql:"AS"`
	NotNull          *bool    `ddl:"keyword" sql:"NOT NULL"`
	InlineConstraint *ColumnInlineConstraint
}

type ExternalTableColumnDetails added in v0.72.0

type ExternalTableColumnDetails struct {
	Name       string
	Type       DataType
	Kind       string
	IsNullable bool
	Default    *string
	IsPrimary  bool
	IsUnique   bool
	Check      *bool
	Expression *string
	Comment    *string
	PolicyName *string
}

type ExternalTableColumnRequest added in v0.72.0

type ExternalTableColumnRequest struct {
	// contains filtered or unexported fields
}

func NewExternalTableColumnRequest added in v0.72.0

func NewExternalTableColumnRequest(
	name string,
	dataType DataType,
	asExpression string,
) *ExternalTableColumnRequest

func (*ExternalTableColumnRequest) WithInlineConstraint added in v0.72.0

func (s *ExternalTableColumnRequest) WithInlineConstraint(inlineConstraint ColumnInlineConstraintRequest) *ExternalTableColumnRequest

func (*ExternalTableColumnRequest) WithNotNull added in v0.78.0

type ExternalTableCsvCompression added in v0.72.0

type ExternalTableCsvCompression string
var (
	ExternalTableCsvCompressionAuto       ExternalTableCsvCompression = "AUTO"
	ExternalTableCsvCompressionGzip       ExternalTableCsvCompression = "GZIP"
	ExternalTableCsvCompressionBz2        ExternalTableCsvCompression = "BZ2"
	ExternalTableCsvCompressionBrotli     ExternalTableCsvCompression = "BROTLI"
	ExternalTableCsvCompressionZstd       ExternalTableCsvCompression = "ZSTD"
	ExternalTableCsvCompressionDeflate    ExternalTableCsvCompression = "DEFLATE"
	ExternalTableCsvCompressionRawDeflate ExternalTableCsvCompression = "RAW_DEFALTE"
	ExternalTableCsvCompressionNone       ExternalTableCsvCompression = "NONE"
)

type ExternalTableDropOption added in v0.72.0

type ExternalTableDropOption struct {
	Restrict *bool `ddl:"keyword" sql:"RESTRICT"`
	Cascade  *bool `ddl:"keyword" sql:"CASCADE"`
}

type ExternalTableDropOptionRequest added in v0.72.0

type ExternalTableDropOptionRequest struct {
	// contains filtered or unexported fields
}

func NewExternalTableDropOptionRequest added in v0.72.0

func NewExternalTableDropOptionRequest() *ExternalTableDropOptionRequest

func (*ExternalTableDropOptionRequest) WithCascade added in v0.72.0

func (*ExternalTableDropOptionRequest) WithRestrict added in v0.72.0

type ExternalTableFile added in v0.72.0

type ExternalTableFile struct {
	Name string `ddl:"keyword,single_quotes"`
}

type ExternalTableFileFormat added in v0.72.0

type ExternalTableFileFormat struct {
	Name    *string                      `ddl:"parameter,single_quotes" sql:"FORMAT_NAME"`
	Type    *ExternalTableFileFormatType `ddl:"parameter" sql:"TYPE"`
	Options *ExternalTableFileFormatTypeOptions
}

type ExternalTableFileFormatRequest added in v0.72.0

type ExternalTableFileFormatRequest struct {
	// contains filtered or unexported fields
}

func NewExternalTableFileFormatRequest added in v0.72.0

func NewExternalTableFileFormatRequest() *ExternalTableFileFormatRequest

func (*ExternalTableFileFormatRequest) WithFileFormatType added in v0.72.0

func (*ExternalTableFileFormatRequest) WithName added in v0.72.0

func (*ExternalTableFileFormatRequest) WithOptions added in v0.72.0

type ExternalTableFileFormatType added in v0.72.0

type ExternalTableFileFormatType string
var (
	ExternalTableFileFormatTypeCSV     ExternalTableFileFormatType = "CSV"
	ExternalTableFileFormatTypeJSON    ExternalTableFileFormatType = "JSON"
	ExternalTableFileFormatTypeAvro    ExternalTableFileFormatType = "AVRO"
	ExternalTableFileFormatTypeORC     ExternalTableFileFormatType = "ORC"
	ExternalTableFileFormatTypeParquet ExternalTableFileFormatType = "PARQUET"
)

type ExternalTableFileFormatTypeOptions added in v0.72.0

type ExternalTableFileFormatTypeOptions struct {
	// CSV type options
	CSVCompression               *ExternalTableCsvCompression `ddl:"parameter" sql:"COMPRESSION"`
	CSVRecordDelimiter           *string                      `ddl:"parameter,single_quotes" sql:"RECORD_DELIMITER"`
	CSVFieldDelimiter            *string                      `ddl:"parameter,single_quotes" sql:"FIELD_DELIMITER"`
	CSVSkipHeader                *int                         `ddl:"parameter" sql:"SKIP_HEADER"`
	CSVSkipBlankLines            *bool                        `ddl:"parameter" sql:"SKIP_BLANK_LINES"`
	CSVEscapeUnenclosedField     *string                      `ddl:"parameter,single_quotes" sql:"ESCAPE_UNENCLOSED_FIELD"`
	CSVTrimSpace                 *bool                        `ddl:"parameter" sql:"TRIM_SPACE"`
	CSVFieldOptionallyEnclosedBy *string                      `ddl:"parameter,single_quotes" sql:"FIELD_OPTIONALLY_ENCLOSED_BY"`
	CSVNullIf                    *[]NullString                `ddl:"parameter,parentheses" sql:"NULL_IF"`
	CSVEmptyFieldAsNull          *bool                        `ddl:"parameter" sql:"EMPTY_FIELD_AS_NULL"`
	CSVEncoding                  *CSVEncoding                 `ddl:"parameter,single_quotes" sql:"ENCODING"`

	// JSON type options
	JSONCompression              *ExternalTableJsonCompression `ddl:"parameter" sql:"COMPRESSION"`
	JSONAllowDuplicate           *bool                         `ddl:"parameter" sql:"ALLOW_DUPLICATE"`
	JSONStripOuterArray          *bool                         `ddl:"parameter" sql:"STRIP_OUTER_ARRAY"`
	JSONStripNullValues          *bool                         `ddl:"parameter" sql:"STRIP_NULL_VALUES"`
	JSONReplaceInvalidCharacters *bool                         `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`

	// AVRO type options
	AvroCompression              *ExternalTableAvroCompression `ddl:"parameter" sql:"COMPRESSION"`
	AvroReplaceInvalidCharacters *bool                         `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`

	// ORC type options
	ORCTrimSpace                *bool         `ddl:"parameter" sql:"TRIM_SPACE"`
	ORCReplaceInvalidCharacters *bool         `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	ORCNullIf                   *[]NullString `ddl:"parameter,parentheses" sql:"NULL_IF"`

	// PARQUET type options
	ParquetCompression              *ExternalTableParquetCompression `ddl:"parameter" sql:"COMPRESSION"`
	ParquetBinaryAsText             *bool                            `ddl:"parameter" sql:"BINARY_AS_TEXT"`
	ParquetReplaceInvalidCharacters *bool                            `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
}

type ExternalTableFileFormatTypeOptionsRequest added in v0.72.0

type ExternalTableFileFormatTypeOptionsRequest struct {
	// contains filtered or unexported fields
}

func NewExternalTableFileFormatTypeOptionsRequest added in v0.72.0

func NewExternalTableFileFormatTypeOptionsRequest() *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithAvroCompression added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithAvroReplaceInvalidCharacters added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithAvroReplaceInvalidCharacters(avroReplaceInvalidCharacters bool) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvCompression added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvEmptyFieldAsNull added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithCsvEmptyFieldAsNull(csvEmptyFieldAsNull bool) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvEncoding added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvEscapeUnenclosedField added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithCsvEscapeUnenclosedField(csvEscapeUnenclosedField string) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvFieldDelimiter added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvFieldOptionallyEnclosedBy added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithCsvFieldOptionallyEnclosedBy(csvFieldOptionallyEnclosedBy string) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvNullIf added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvRecordDelimiter added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvSkipBlankLines added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvSkipHeader added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithCsvTrimSpace added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithJsonAllowDuplicate added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithJsonAllowDuplicate(jsonAllowDuplicate bool) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithJsonCompression added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithJsonReplaceInvalidCharacters added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithJsonReplaceInvalidCharacters(jsonReplaceInvalidCharacters bool) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithJsonStripNullValues added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithJsonStripNullValues(jsonStripNullValues bool) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithJsonStripOuterArray added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithJsonStripOuterArray(jsonStripOuterArray bool) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithOrcNullIf added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithOrcReplaceInvalidCharacters added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithOrcReplaceInvalidCharacters(orcReplaceInvalidCharacters bool) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithOrcTrimSpace added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithParquetBinaryAsText added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithParquetBinaryAsText(parquetBinaryAsText bool) *ExternalTableFileFormatTypeOptionsRequest

func (*ExternalTableFileFormatTypeOptionsRequest) WithParquetCompression added in v0.72.0

func (*ExternalTableFileFormatTypeOptionsRequest) WithParquetReplaceInvalidCharacters added in v0.72.0

func (s *ExternalTableFileFormatTypeOptionsRequest) WithParquetReplaceInvalidCharacters(parquetReplaceInvalidCharacters bool) *ExternalTableFileFormatTypeOptionsRequest

type ExternalTableFileRequest added in v0.72.0

type ExternalTableFileRequest struct {
	// contains filtered or unexported fields
}

func NewExternalTableFileRequest added in v0.72.0

func NewExternalTableFileRequest(
	name string,
) *ExternalTableFileRequest

type ExternalTableJsonCompression added in v0.72.0

type ExternalTableJsonCompression string
var (
	ExternalTableJsonCompressionAuto       ExternalTableJsonCompression = "AUTO"
	ExternalTableJsonCompressionGzip       ExternalTableJsonCompression = "GZIP"
	ExternalTableJsonCompressionBz2        ExternalTableJsonCompression = "BZ2"
	ExternalTableJsonCompressionBrotli     ExternalTableJsonCompression = "BROTLI"
	ExternalTableJsonCompressionZstd       ExternalTableJsonCompression = "ZSTD"
	ExternalTableJsonCompressionDeflate    ExternalTableJsonCompression = "DEFLATE"
	ExternalTableJsonCompressionRawDeflate ExternalTableJsonCompression = "RAW_DEFLATE"
	ExternalTableJsonCompressionNone       ExternalTableJsonCompression = "NONE"
)

type ExternalTableParquetCompression added in v0.72.0

type ExternalTableParquetCompression string
var (
	ExternalTableParquetCompressionAuto   ExternalTableParquetCompression = "AUTO"
	ExternalTableParquetCompressionSnappy ExternalTableParquetCompression = "SNAPPY"
	ExternalTableParquetCompressionNone   ExternalTableParquetCompression = "NONE"
)

type ExternalTableStageDetails added in v0.72.0

type ExternalTableStageDetails struct {
	ParentProperty  string
	Property        string
	PropertyType    string
	PropertyValue   string
	PropertyDefault string
}

type ExternalVolume added in v0.96.0

type ExternalVolume struct {
	Name        string
	AllowWrites string
	Comment     string
}

type ExternalVolumeGCSEncryption added in v0.96.0

type ExternalVolumeGCSEncryption struct {
	Type     GCSEncryptionType `ddl:"parameter,single_quotes" sql:"TYPE"`
	KmsKeyId *string           `ddl:"parameter,single_quotes" sql:"KMS_KEY_ID"`
}

type ExternalVolumeGCSEncryptionRequest added in v0.96.0

type ExternalVolumeGCSEncryptionRequest struct {
	Type     GCSEncryptionType // required
	KmsKeyId *string
}

func NewExternalVolumeGCSEncryptionRequest added in v0.96.0

func NewExternalVolumeGCSEncryptionRequest(
	Type GCSEncryptionType,
) *ExternalVolumeGCSEncryptionRequest

func (*ExternalVolumeGCSEncryptionRequest) WithKmsKeyId added in v0.96.0

type ExternalVolumeProperty added in v0.96.0

type ExternalVolumeProperty struct {
	Parent  string
	Name    string
	Type    string
	Value   string
	Default string
}

type ExternalVolumeS3Encryption added in v0.96.0

type ExternalVolumeS3Encryption struct {
	Type     S3EncryptionType `ddl:"parameter,single_quotes" sql:"TYPE"`
	KmsKeyId *string          `ddl:"parameter,single_quotes" sql:"KMS_KEY_ID"`
}

type ExternalVolumeS3EncryptionRequest added in v0.96.0

type ExternalVolumeS3EncryptionRequest struct {
	Type     S3EncryptionType // required
	KmsKeyId *string
}

func NewExternalVolumeS3EncryptionRequest added in v0.96.0

func NewExternalVolumeS3EncryptionRequest(
	Type S3EncryptionType,
) *ExternalVolumeS3EncryptionRequest

func (*ExternalVolumeS3EncryptionRequest) WithKmsKeyId added in v0.96.0

type ExternalVolumeStorageLocation added in v0.96.0

type ExternalVolumeStorageLocation struct {
	S3StorageLocationParams    *S3StorageLocationParams    `ddl:"list,parentheses,no_comma"`
	GCSStorageLocationParams   *GCSStorageLocationParams   `ddl:"list,parentheses,no_comma"`
	AzureStorageLocationParams *AzureStorageLocationParams `ddl:"list,parentheses,no_comma"`
}

type ExternalVolumeStorageLocationRequest added in v0.96.0

type ExternalVolumeStorageLocationRequest struct {
	S3StorageLocationParams    *S3StorageLocationParamsRequest
	GCSStorageLocationParams   *GCSStorageLocationParamsRequest
	AzureStorageLocationParams *AzureStorageLocationParamsRequest
}

func NewExternalVolumeStorageLocationRequest added in v0.96.0

func NewExternalVolumeStorageLocationRequest() *ExternalVolumeStorageLocationRequest

func (*ExternalVolumeStorageLocationRequest) WithAzureStorageLocationParams added in v0.96.0

func (s *ExternalVolumeStorageLocationRequest) WithAzureStorageLocationParams(AzureStorageLocationParams AzureStorageLocationParamsRequest) *ExternalVolumeStorageLocationRequest

func (*ExternalVolumeStorageLocationRequest) WithGCSStorageLocationParams added in v0.96.0

func (s *ExternalVolumeStorageLocationRequest) WithGCSStorageLocationParams(GCSStorageLocationParams GCSStorageLocationParamsRequest) *ExternalVolumeStorageLocationRequest

func (*ExternalVolumeStorageLocationRequest) WithS3StorageLocationParams added in v0.96.0

func (s *ExternalVolumeStorageLocationRequest) WithS3StorageLocationParams(S3StorageLocationParams S3StorageLocationParamsRequest) *ExternalVolumeStorageLocationRequest

type ExternalVolumes added in v0.96.0

type FailoverGroup added in v0.65.0

type FailoverGroup struct {
	RegionGroup             string
	SnowflakeRegion         string
	CreatedOn               time.Time
	AccountName             string
	Name                    string
	Type                    string
	Comment                 string
	IsPrimary               bool
	Primary                 ExternalObjectIdentifier
	ObjectTypes             []PluralObjectType
	AllowedIntegrationTypes []IntegrationType
	AllowedAccounts         []AccountIdentifier
	OrganizationName        string
	AccountLocator          string
	ReplicationSchedule     string
	SecondaryState          FailoverGroupSecondaryState
	NextScheduledRefresh    string
	Owner                   string
}

FailoverGroups is a user friendly result for a CREATE FAILOVER GROUP query.

func (*FailoverGroup) ExternalID added in v0.65.0

func (v *FailoverGroup) ExternalID() ExternalObjectIdentifier

func (*FailoverGroup) ID added in v0.65.0

func (*FailoverGroup) ObjectType added in v0.65.0

func (v *FailoverGroup) ObjectType() ObjectType

type FailoverGroupAdd added in v0.65.0

type FailoverGroupAdd struct {
	AllowedDatabases   []AccountObjectIdentifier `ddl:"parameter,reverse" sql:"TO ALLOWED_DATABASES"`
	AllowedShares      []AccountObjectIdentifier `ddl:"parameter,reverse" sql:"TO ALLOWED_SHARES"`
	AllowedAccounts    []AccountIdentifier       `ddl:"parameter,reverse" sql:"TO ALLOWED_ACCOUNTS"`
	IgnoreEditionCheck *bool                     `ddl:"keyword" sql:"IGNORE_EDITION_CHECK"`
}

type FailoverGroupMove added in v0.65.0

type FailoverGroupMove struct {
	Databases []AccountObjectIdentifier `ddl:"parameter,no_equals" sql:"DATABASES"`
	Shares    []AccountObjectIdentifier `ddl:"parameter,no_equals" sql:"SHARES"`
	To        AccountObjectIdentifier   `ddl:"identifier" sql:"TO FAILOVER GROUP"`
}

type FailoverGroupRemove added in v0.65.0

type FailoverGroupRemove struct {
	AllowedDatabases []AccountObjectIdentifier `ddl:"parameter,reverse" sql:"FROM ALLOWED_DATABASES"`
	AllowedShares    []AccountObjectIdentifier `ddl:"parameter,reverse" sql:"FROM ALLOWED_SHARES"`
	AllowedAccounts  []AccountIdentifier       `ddl:"parameter,reverse" sql:"FROM ALLOWED_ACCOUNTS"`
}

type FailoverGroupSecondaryState added in v0.65.0

type FailoverGroupSecondaryState string
const (
	FailoverGroupSecondaryStateSuspended FailoverGroupSecondaryState = "SUSPENDED"
	FailoverGroupSecondaryStateStarted   FailoverGroupSecondaryState = "STARTED"
	FailoverGroupSecondaryStateNull      FailoverGroupSecondaryState = "NULL"
)

type FailoverGroupSet added in v0.65.0

type FailoverGroupSet struct {
	ObjectTypes             []PluralObjectType `ddl:"parameter" sql:"OBJECT_TYPES"`
	AllowedIntegrationTypes []IntegrationType  `ddl:"parameter" sql:"ALLOWED_INTEGRATION_TYPES"`
	ReplicationSchedule     *string            `ddl:"parameter,single_quotes" sql:"REPLICATION_SCHEDULE"`
}

type FailoverGroupUnset added in v0.90.0

type FailoverGroupUnset struct {
	ReplicationSchedule *bool `ddl:"keyword" sql:"REPLICATION_SCHEDULE"`
}

type FileFormat added in v0.68.0

type FileFormat struct {
	Name          SchemaObjectIdentifier
	CreatedOn     time.Time
	Type          FileFormatType
	Owner         string
	Comment       string
	OwnerRoleType string
	Options       FileFormatTypeOptions
}

func (*FileFormat) ID added in v0.68.0

func (*FileFormat) ObjectType added in v0.68.0

func (v *FileFormat) ObjectType() ObjectType

type FileFormatDetails added in v0.68.0

type FileFormatDetails struct {
	Type    FileFormatType
	Options FileFormatTypeOptions
}

type FileFormatDetailsRow added in v0.68.0

type FileFormatDetailsRow struct {
	Property         string
	Property_Type    string
	Property_Value   string
	Property_Default string
}

type FileFormatRow added in v0.68.0

type FileFormatRow struct {
	FormatOptions string    `db:"format_options"`
	CreatedOn     time.Time `db:"created_on"`
	Name          string    `db:"name"`
	DatabaseName  string    `db:"database_name"`
	SchemaName    string    `db:"schema_name"`
	FormatType    string    `db:"type"`
	Owner         string    `db:"owner"`
	Comment       string    `db:"comment"`
	OwnerRoleType string    `db:"owner_role_type"`
}

type FileFormatType added in v0.68.0

type FileFormatType string
var (
	FileFormatTypeCSV     FileFormatType = "CSV"
	FileFormatTypeJSON    FileFormatType = "JSON"
	FileFormatTypeAvro    FileFormatType = "AVRO"
	FileFormatTypeORC     FileFormatType = "ORC"
	FileFormatTypeParquet FileFormatType = "PARQUET"
	FileFormatTypeXML     FileFormatType = "XML"
)

type FileFormatTypeOptions added in v0.68.0

type FileFormatTypeOptions struct {
	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`

	// CSV type options
	CSVCompression                *CSVCompression `ddl:"parameter" sql:"COMPRESSION"`
	CSVRecordDelimiter            *string         `ddl:"parameter,single_quotes" sql:"RECORD_DELIMITER"`
	CSVFieldDelimiter             *string         `ddl:"parameter,single_quotes" sql:"FIELD_DELIMITER"`
	CSVFileExtension              *string         `ddl:"parameter,single_quotes" sql:"FILE_EXTENSION"`
	CSVParseHeader                *bool           `ddl:"parameter" sql:"PARSE_HEADER"`
	CSVSkipHeader                 *int            `ddl:"parameter" sql:"SKIP_HEADER"`
	CSVSkipBlankLines             *bool           `ddl:"parameter" sql:"SKIP_BLANK_LINES"`
	CSVDateFormat                 *string         `ddl:"parameter,single_quotes" sql:"DATE_FORMAT"`
	CSVTimeFormat                 *string         `ddl:"parameter,single_quotes" sql:"TIME_FORMAT"`
	CSVTimestampFormat            *string         `ddl:"parameter,single_quotes" sql:"TIMESTAMP_FORMAT"`
	CSVBinaryFormat               *BinaryFormat   `ddl:"parameter" sql:"BINARY_FORMAT"`
	CSVEscape                     *string         `ddl:"parameter,single_quotes" sql:"ESCAPE"`
	CSVEscapeUnenclosedField      *string         `ddl:"parameter,single_quotes" sql:"ESCAPE_UNENCLOSED_FIELD"`
	CSVTrimSpace                  *bool           `ddl:"parameter" sql:"TRIM_SPACE"`
	CSVFieldOptionallyEnclosedBy  *string         `ddl:"parameter,single_quotes" sql:"FIELD_OPTIONALLY_ENCLOSED_BY"`
	CSVNullIf                     *[]NullString   `ddl:"parameter,parentheses" sql:"NULL_IF"`
	CSVErrorOnColumnCountMismatch *bool           `ddl:"parameter" sql:"ERROR_ON_COLUMN_COUNT_MISMATCH"`
	CSVReplaceInvalidCharacters   *bool           `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	CSVEmptyFieldAsNull           *bool           `ddl:"parameter" sql:"EMPTY_FIELD_AS_NULL"`
	CSVSkipByteOrderMark          *bool           `ddl:"parameter" sql:"SKIP_BYTE_ORDER_MARK"`
	CSVEncoding                   *CSVEncoding    `ddl:"parameter,single_quotes" sql:"ENCODING"`

	// JSON type options
	JSONCompression              *JSONCompression `ddl:"parameter" sql:"COMPRESSION"`
	JSONDateFormat               *string          `ddl:"parameter,single_quotes" sql:"DATE_FORMAT"`
	JSONTimeFormat               *string          `ddl:"parameter,single_quotes" sql:"TIME_FORMAT"`
	JSONTimestampFormat          *string          `ddl:"parameter,single_quotes" sql:"TIMESTAMP_FORMAT"`
	JSONBinaryFormat             *BinaryFormat    `ddl:"parameter" sql:"BINARY_FORMAT"`
	JSONTrimSpace                *bool            `ddl:"parameter" sql:"TRIM_SPACE"`
	JSONNullIf                   []NullString     `ddl:"parameter,parentheses" sql:"NULL_IF"`
	JSONFileExtension            *string          `ddl:"parameter,single_quotes" sql:"FILE_EXTENSION"`
	JSONEnableOctal              *bool            `ddl:"parameter" sql:"ENABLE_OCTAL"`
	JSONAllowDuplicate           *bool            `ddl:"parameter" sql:"ALLOW_DUPLICATE"`
	JSONStripOuterArray          *bool            `ddl:"parameter" sql:"STRIP_OUTER_ARRAY"`
	JSONStripNullValues          *bool            `ddl:"parameter" sql:"STRIP_NULL_VALUES"`
	JSONReplaceInvalidCharacters *bool            `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	JSONIgnoreUTF8Errors         *bool            `ddl:"parameter" sql:"IGNORE_UTF8_ERRORS"`
	JSONSkipByteOrderMark        *bool            `ddl:"parameter" sql:"SKIP_BYTE_ORDER_MARK"`

	// AVRO type options
	AvroCompression              *AvroCompression `ddl:"parameter" sql:"COMPRESSION"`
	AvroTrimSpace                *bool            `ddl:"parameter" sql:"TRIM_SPACE"`
	AvroReplaceInvalidCharacters *bool            `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	AvroNullIf                   *[]NullString    `ddl:"parameter,parentheses" sql:"NULL_IF"`

	// ORC type options
	ORCTrimSpace                *bool         `ddl:"parameter" sql:"TRIM_SPACE"`
	ORCReplaceInvalidCharacters *bool         `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	ORCNullIf                   *[]NullString `ddl:"parameter,parentheses" sql:"NULL_IF"`

	// PARQUET type options
	ParquetCompression              *ParquetCompression `ddl:"parameter" sql:"COMPRESSION"`
	ParquetSnappyCompression        *bool               `ddl:"parameter" sql:"SNAPPY_COMPRESSION"`
	ParquetBinaryAsText             *bool               `ddl:"parameter" sql:"BINARY_AS_TEXT"`
	ParquetTrimSpace                *bool               `ddl:"parameter" sql:"TRIM_SPACE"`
	ParquetReplaceInvalidCharacters *bool               `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	ParquetNullIf                   *[]NullString       `ddl:"parameter,parentheses" sql:"NULL_IF"`

	// XML type options
	XMLCompression              *XMLCompression `ddl:"parameter" sql:"COMPRESSION"`
	XMLIgnoreUTF8Errors         *bool           `ddl:"parameter" sql:"IGNORE_UTF8_ERRORS"`
	XMLPreserveSpace            *bool           `ddl:"parameter" sql:"PRESERVE_SPACE"`
	XMLStripOuterElement        *bool           `ddl:"parameter" sql:"STRIP_OUTER_ELEMENT"`
	XMLDisableSnowflakeData     *bool           `ddl:"parameter" sql:"DISABLE_SNOWFLAKE_DATA"`
	XMLDisableAutoConvert       *bool           `ddl:"parameter" sql:"DISABLE_AUTO_CONVERT"`
	XMLReplaceInvalidCharacters *bool           `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	XMLSkipByteOrderMark        *bool           `ddl:"parameter" sql:"SKIP_BYTE_ORDER_MARK"`
}

type FileFormatTypeOptionsRequest added in v0.78.0

type FileFormatTypeOptionsRequest struct {
	CSVCompression                *CSVCompression
	CSVRecordDelimiter            *string
	CSVFieldDelimiter             *string
	CSVFileExtension              *string
	CSVParseHeader                *bool
	CSVSkipHeader                 *int
	CSVSkipBlankLines             *bool
	CSVDateFormat                 *string
	CSVTimeFormat                 *string
	CSVTimestampFormat            *string
	CSVBinaryFormat               *BinaryFormat
	CSVEscape                     *string
	CSVEscapeUnenclosedField      *string
	CSVTrimSpace                  *bool
	CSVFieldOptionallyEnclosedBy  *string
	CSVNullIf                     *[]NullString
	CSVErrorOnColumnCountMismatch *bool
	CSVReplaceInvalidCharacters   *bool
	CSVEmptyFieldAsNull           *bool
	CSVSkipByteOrderMark          *bool
	CSVEncoding                   *CSVEncoding

	// JSON type options
	JSONCompression              *JSONCompression
	JSONDateFormat               *string
	JSONTimeFormat               *string
	JSONTimestampFormat          *string
	JSONBinaryFormat             *BinaryFormat
	JSONTrimSpace                *bool
	JSONNullIf                   []NullString
	JSONFileExtension            *string
	JSONEnableOctal              *bool
	JSONAllowDuplicate           *bool
	JSONStripOuterArray          *bool
	JSONStripNullValues          *bool
	JSONReplaceInvalidCharacters *bool
	JSONIgnoreUTF8Errors         *bool
	JSONSkipByteOrderMark        *bool

	// AVRO type options
	AvroCompression              *AvroCompression
	AvroTrimSpace                *bool
	AvroReplaceInvalidCharacters *bool
	AvroNullIf                   *[]NullString

	// ORC type options
	ORCTrimSpace                *bool
	ORCReplaceInvalidCharacters *bool
	ORCNullIf                   *[]NullString

	// PARQUET type options
	ParquetCompression              *ParquetCompression
	ParquetSnappyCompression        *bool
	ParquetBinaryAsText             *bool
	ParquetTrimSpace                *bool
	ParquetReplaceInvalidCharacters *bool
	ParquetNullIf                   *[]NullString

	// XML type options
	XMLCompression              *XMLCompression
	XMLIgnoreUTF8Errors         *bool
	XMLPreserveSpace            *bool
	XMLStripOuterElement        *bool
	XMLDisableSnowflakeData     *bool
	XMLDisableAutoConvert       *bool
	XMLReplaceInvalidCharacters *bool
	XMLSkipByteOrderMark        *bool

	Comment *string
}

func NewFileFormatTypeOptionsRequest added in v0.78.0

func NewFileFormatTypeOptionsRequest() *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithAvroCompression added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithAvroCompression(avroCompression *AvroCompression) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithAvroNullIf added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithAvroNullIf(avroNullIf *[]NullString) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithAvroReplaceInvalidCharacters added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithAvroReplaceInvalidCharacters(avroReplaceInvalidCharacters *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithAvroTrimSpace added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithAvroTrimSpace(avroTrimSpace *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVBinaryFormat added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVBinaryFormat(csvBinaryFormat *BinaryFormat) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVCompression added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVCompression(csvCompression *CSVCompression) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVDateFormat added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVDateFormat(csvDateFormat *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVEmptyFieldAsNull added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVEmptyFieldAsNull(csvEmptyFieldAsNull *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVEncoding added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVEncoding(csvEncoding *CSVEncoding) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVErrorOnColumnCountMismatch added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVErrorOnColumnCountMismatch(csvErrorOnColumnCountMismatch *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVEscape added in v0.78.0

func (*FileFormatTypeOptionsRequest) WithCSVEscapeUnenclosedField added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVEscapeUnenclosedField(csvEscapeUnenclosedField *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVFieldDelimiter added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVFieldDelimiter(csvFieldDelimiter *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVFieldOptionallyEnclosedBy added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVFieldOptionallyEnclosedBy(csvFieldOptionallyEnclosedBy *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVFileExtension added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVFileExtension(csvFileExtension *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVNullIf added in v0.78.0

func (*FileFormatTypeOptionsRequest) WithCSVParseHeader added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVParseHeader(csvParseHeader *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVRecordDelimiter added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVRecordDelimiter(csvRecordDelimiter *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVReplaceInvalidCharacters added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVReplaceInvalidCharacters(csvReplaceInvalidCharacters *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVSkipBlankLines added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVSkipBlankLines(csvSkipBlankLines *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVSkipByteOrderMark added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVSkipByteOrderMark(csvSkipByteOrderMark *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVSkipHeader added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVSkipHeader(csvSkipHeader *int) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVTimeFormat added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVTimeFormat(csvTimeFormat *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVTimestampFormat added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVTimestampFormat(csvTimestampFormat *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithCSVTrimSpace added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithCSVTrimSpace(csvTrimSpace *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithComment added in v0.78.0

func (*FileFormatTypeOptionsRequest) WithJSONAllowDuplicate added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONAllowDuplicate(jsonAllowDuplicate *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONBinaryFormat added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONBinaryFormat(jsonBinaryFormat *BinaryFormat) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONCompression added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONCompression(jsonCompression *JSONCompression) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONDateFormat added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONDateFormat(jsonDateFormat *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONEnableOctal added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONEnableOctal(jsonEnableOctal *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONFileExtension added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONFileExtension(jsonFileExtension *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONIgnoreUTF8Errors added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONIgnoreUTF8Errors(jsonIgnoreUTF8Errors *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONNullIf added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONNullIf(jsonNullIf []NullString) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONReplaceInvalidCharacters added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONReplaceInvalidCharacters(jsonReplaceInvalidCharacters *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONSkipByteOrderMark added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONSkipByteOrderMark(jsonSkipByteOrderMark *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONStripNullValues added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONStripNullValues(jsonStripNullValues *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONStripOuterArray added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONStripOuterArray(jsonStripOuterArray *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONTimeFormat added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONTimeFormat(jsonTimeFormat *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONTimestampFormat added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONTimestampFormat(jsonTimestampFormat *string) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithJSONTrimSpace added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithJSONTrimSpace(jsonTrimSpace *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithORCNullIf added in v0.78.0

func (*FileFormatTypeOptionsRequest) WithORCReplaceInvalidCharacters added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithORCReplaceInvalidCharacters(orcReplaceInvalidCharacters *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithORCTrimSpace added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithORCTrimSpace(orcTrimSpace *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithParquetBinaryAsText added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithParquetBinaryAsText(parquetBinaryAsText *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithParquetCompression added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithParquetCompression(parquetCompression *ParquetCompression) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithParquetNullIf added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithParquetNullIf(parquetNullIf *[]NullString) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithParquetReplaceInvalidCharacters added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithParquetReplaceInvalidCharacters(parquetReplaceInvalidCharacters *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithParquetSnappyCompression added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithParquetSnappyCompression(parquetSnappyCompression *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithParquetTrimSpace added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithParquetTrimSpace(parquetTrimSpace *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithXMLCompression added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithXMLCompression(xmlCompression *XMLCompression) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithXMLDisableAutoConvert added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithXMLDisableAutoConvert(xmlDisableAutoConvert *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithXMLDisableSnowflakeData added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithXMLDisableSnowflakeData(xmlDisableSnowflakeData *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithXMLIgnoreUTF8Errors added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithXMLIgnoreUTF8Errors(xmlIgnoreUTF8Errors *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithXMLPreserveSpace added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithXMLPreserveSpace(xmlPreserveSpace *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithXMLReplaceInvalidCharacters added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithXMLReplaceInvalidCharacters(xmlReplaceInvalidCharacters *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithXMLSkipByteOrderMark added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithXMLSkipByteOrderMark(xmlSkipByteOrderMark *bool) *FileFormatTypeOptionsRequest

func (*FileFormatTypeOptionsRequest) WithXMLStripOuterElement added in v0.78.0

func (s *FileFormatTypeOptionsRequest) WithXMLStripOuterElement(xmlStripOuterElement *bool) *FileFormatTypeOptionsRequest

type FloatProperty added in v0.95.0

type FloatProperty struct {
	Value        *float64
	DefaultValue *float64
	Description  string
}

type ForceResumePipeOption added in v0.88.0

type ForceResumePipeOption string
const (
	StalenessCheckOverrideForceResumePipeOption         ForceResumePipeOption = "STALENESS_CHECK_OVERRIDE"
	OwnershipTransferCheckOverrideForceResumePipeOption ForceResumePipeOption = "OWNERSHIP_TRANSFER_CHECK_OVERRIDE"
)

type ForeignKeyAction added in v0.78.0

type ForeignKeyAction string
const (
	ForeignKeyCascadeAction    ForeignKeyAction = "CASCADE"
	ForeignKeySetNullAction    ForeignKeyAction = "SET NULL"
	ForeignKeySetDefaultAction ForeignKeyAction = "SET DEFAULT"
	ForeignKeyRestrictAction   ForeignKeyAction = "RESTRICT"
	ForeignKeyNoAction         ForeignKeyAction = "NO ACTION"
)

func ToForeignKeyAction added in v0.86.0

func ToForeignKeyAction(s string) (ForeignKeyAction, error)

type ForeignKeyOnAction added in v0.72.0

type ForeignKeyOnAction struct {
	OnUpdate *ForeignKeyAction `ddl:"parameter,no_equals" sql:"ON UPDATE"`
	OnDelete *ForeignKeyAction `ddl:"parameter,no_equals" sql:"ON DELETE"`
}

func NewForeignKeyOnAction added in v0.78.0

func NewForeignKeyOnAction() *ForeignKeyOnAction

func (*ForeignKeyOnAction) WithOnDelete added in v0.78.0

func (s *ForeignKeyOnAction) WithOnDelete(onDelete *ForeignKeyAction) *ForeignKeyOnAction

func (*ForeignKeyOnAction) WithOnUpdate added in v0.78.0

func (s *ForeignKeyOnAction) WithOnUpdate(onUpdate *ForeignKeyAction) *ForeignKeyOnAction

type Frequency added in v0.69.0

type Frequency string
const (
	FrequencyMonthly Frequency = "MONTHLY"
	FrequencyDaily   Frequency = "DAILY"
	FrequencyWeekly  Frequency = "WEEKLY"
	FrequencyYearly  Frequency = "YEARLY"
	FrequencyNever   Frequency = "NEVER"
)

func ToResourceMonitorFrequency added in v0.96.0

func ToResourceMonitorFrequency(s string) (*Frequency, error)

type Function added in v0.82.0

type Function struct {
	CreatedOn          string
	Name               string
	SchemaName         string
	IsBuiltin          bool
	IsAggregate        bool
	IsAnsi             bool
	MinNumArguments    int
	MaxNumArguments    int
	Arguments          []DataType
	ArgumentsRaw       string
	Description        string
	CatalogName        string
	IsTableFunction    bool
	ValidForClustering bool
	IsSecure           bool
	IsExternalFunction bool
	Language           string
	IsMemoizable       bool
}

func (*Function) ID added in v0.89.0

type FunctionArgument added in v0.82.0

type FunctionArgument struct {
	ArgName      string   `ddl:"keyword,no_quotes"`
	ArgDataType  DataType `ddl:"keyword,no_quotes"`
	DefaultValue *string  `ddl:"parameter,no_equals" sql:"DEFAULT"`
}

type FunctionArgumentRequest added in v0.82.0

type FunctionArgumentRequest struct {
	ArgName      string   // required
	ArgDataType  DataType // required
	DefaultValue *string
}

func NewFunctionArgumentRequest added in v0.82.0

func NewFunctionArgumentRequest(
	ArgName string,
	ArgDataType DataType,
) *FunctionArgumentRequest

func (*FunctionArgumentRequest) WithDefaultValue added in v0.82.0

func (s *FunctionArgumentRequest) WithDefaultValue(DefaultValue string) *FunctionArgumentRequest

type FunctionColumn added in v0.82.0

type FunctionColumn struct {
	ColumnName     string   `ddl:"keyword,no_quotes"`
	ColumnDataType DataType `ddl:"keyword,no_quotes"`
}

type FunctionColumnRequest added in v0.82.0

type FunctionColumnRequest struct {
	ColumnName     string   // required
	ColumnDataType DataType // required
}

func NewFunctionColumnRequest added in v0.82.0

func NewFunctionColumnRequest(
	ColumnName string,
	ColumnDataType DataType,
) *FunctionColumnRequest

type FunctionDetail added in v0.82.0

type FunctionDetail struct {
	Property string
	Value    string
}

type FunctionImport added in v0.82.0

type FunctionImport struct {
	Import string `ddl:"keyword,single_quotes"`
}

type FunctionImportRequest added in v0.82.0

type FunctionImportRequest struct {
	Import string
}

func NewFunctionImportRequest added in v0.82.0

func NewFunctionImportRequest() *FunctionImportRequest

func (*FunctionImportRequest) WithImport added in v0.82.0

func (s *FunctionImportRequest) WithImport(Import string) *FunctionImportRequest

type FunctionPackage added in v0.82.0

type FunctionPackage struct {
	Package string `ddl:"keyword,single_quotes"`
}

type FunctionPackageRequest added in v0.82.0

type FunctionPackageRequest struct {
	Package string
}

func NewFunctionPackageRequest added in v0.82.0

func NewFunctionPackageRequest() *FunctionPackageRequest

func (*FunctionPackageRequest) WithPackage added in v0.82.0

func (s *FunctionPackageRequest) WithPackage(Package string) *FunctionPackageRequest

type FunctionReturns added in v0.82.0

type FunctionReturns struct {
	ResultDataType *FunctionReturnsResultDataType `ddl:"keyword"`
	Table          *FunctionReturnsTable          `ddl:"keyword" sql:"TABLE"`
}

type FunctionReturnsRequest added in v0.82.0

type FunctionReturnsRequest struct {
	ResultDataType *FunctionReturnsResultDataTypeRequest
	Table          *FunctionReturnsTableRequest
}

func NewFunctionReturnsRequest added in v0.82.0

func NewFunctionReturnsRequest() *FunctionReturnsRequest

func (*FunctionReturnsRequest) WithResultDataType added in v0.82.0

func (*FunctionReturnsRequest) WithTable added in v0.82.0

type FunctionReturnsResultDataType added in v0.82.0

type FunctionReturnsResultDataType struct {
	ResultDataType DataType `ddl:"keyword,no_quotes"`
}

type FunctionReturnsResultDataTypeRequest added in v0.82.0

type FunctionReturnsResultDataTypeRequest struct {
	ResultDataType DataType // required
}

func NewFunctionReturnsResultDataTypeRequest added in v0.82.0

func NewFunctionReturnsResultDataTypeRequest(
	ResultDataType DataType,
) *FunctionReturnsResultDataTypeRequest

type FunctionReturnsTable added in v0.82.0

type FunctionReturnsTable struct {
	Columns []FunctionColumn `ddl:"parameter,parentheses,no_equals"`
}

type FunctionReturnsTableRequest added in v0.82.0

type FunctionReturnsTableRequest struct {
	Columns []FunctionColumnRequest
}

func NewFunctionReturnsTableRequest added in v0.82.0

func NewFunctionReturnsTableRequest() *FunctionReturnsTableRequest

func (*FunctionReturnsTableRequest) WithColumns added in v0.82.0

type Functions added in v0.82.0

type Functions interface {
	CreateForJava(ctx context.Context, request *CreateForJavaFunctionRequest) error
	CreateForJavascript(ctx context.Context, request *CreateForJavascriptFunctionRequest) error
	CreateForPython(ctx context.Context, request *CreateForPythonFunctionRequest) error
	CreateForScala(ctx context.Context, request *CreateForScalaFunctionRequest) error
	CreateForSQL(ctx context.Context, request *CreateForSQLFunctionRequest) error
	Alter(ctx context.Context, request *AlterFunctionRequest) error
	Drop(ctx context.Context, request *DropFunctionRequest) error
	Show(ctx context.Context, request *ShowFunctionRequest) ([]Function, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifierWithArguments) (*Function, error)
	Describe(ctx context.Context, id SchemaObjectIdentifierWithArguments) ([]FunctionDetail, error)
}

type GCSEncryptionType added in v0.96.0

type GCSEncryptionType string

type GCSStorageLocationParams added in v0.96.0

type GCSStorageLocationParams struct {
	Name               string                       `ddl:"parameter,single_quotes" sql:"NAME"`
	StorageProviderGcs string                       `ddl:"static" sql:"STORAGE_PROVIDER = 'GCS'"`
	StorageBaseUrl     string                       `ddl:"parameter,single_quotes" sql:"STORAGE_BASE_URL"`
	Encryption         *ExternalVolumeGCSEncryption `ddl:"list,parentheses,no_comma" sql:"ENCRYPTION ="`
}

type GCSStorageLocationParamsRequest added in v0.96.0

type GCSStorageLocationParamsRequest struct {
	Name           string // required
	StorageBaseUrl string // required
	Encryption     *ExternalVolumeGCSEncryptionRequest
}

func NewGCSStorageLocationParamsRequest added in v0.96.0

func NewGCSStorageLocationParamsRequest(
	Name string,
	StorageBaseUrl string,
) *GCSStorageLocationParamsRequest

func (*GCSStorageLocationParamsRequest) WithEncryption added in v0.96.0

type GCSStorageParams added in v0.84.0

type GCSStorageParams struct {
	// contains filtered or unexported fields
}

type GCSStorageParamsRequest added in v0.84.0

type GCSStorageParamsRequest struct{}

func NewGCSStorageParamsRequest added in v0.84.0

func NewGCSStorageParamsRequest() *GCSStorageParamsRequest

type GeographyOutputFormat added in v0.65.0

type GeographyOutputFormat string
const (
	GeographyOutputFormatGeoJSON GeographyOutputFormat = "GeoJSON"
	GeographyOutputFormatWKT     GeographyOutputFormat = "WKT"
	GeographyOutputFormatWKB     GeographyOutputFormat = "WKB"
	GeographyOutputFormatEWKT    GeographyOutputFormat = "EWKT"
	GeographyOutputFormatEWKB    GeographyOutputFormat = "EWKB"
)

func ToGeographyOutputFormat added in v0.95.0

func ToGeographyOutputFormat(s string) (GeographyOutputFormat, error)

type GeometryOutputFormat added in v0.94.0

type GeometryOutputFormat string
const (
	GeometryOutputFormatGeoJSON GeometryOutputFormat = "GeoJSON"
	GeometryOutputFormatWKT     GeometryOutputFormat = "WKT"
	GeometryOutputFormatWKB     GeometryOutputFormat = "WKB"
	GeometryOutputFormatEWKT    GeometryOutputFormat = "EWKT"
	GeometryOutputFormatEWKB    GeometryOutputFormat = "EWKB"
)

func ToGeometryOutputFormat added in v0.95.0

func ToGeometryOutputFormat(s string) (GeometryOutputFormat, error)

type GetForEntityDataMetricFunctionReferenceOptions added in v0.95.0

type GetForEntityDataMetricFunctionReferenceOptions struct {
	// contains filtered or unexported fields
}

GetForEntityDataMetricFunctionReferenceOptions is based on https://docs.snowflake.com/en/sql-reference/functions/data_metric_function_references.

type GetForEntityDataMetricFunctionReferenceRequest added in v0.95.0

type GetForEntityDataMetricFunctionReferenceRequest struct {
	RefEntityDomain DataMetricFuncionRefEntityDomainOption // required
	// contains filtered or unexported fields
}

func NewGetForEntityDataMetricFunctionReferenceRequest added in v0.95.0

func NewGetForEntityDataMetricFunctionReferenceRequest(
	refEntityName ObjectIdentifier,
	RefEntityDomain DataMetricFuncionRefEntityDomainOption,
) *GetForEntityDataMetricFunctionReferenceRequest

type GetForEntityPolicyReferenceRequest added in v0.86.0

type GetForEntityPolicyReferenceRequest struct {
	RefEntityName   ObjectIdentifier   // required
	RefEntityDomain PolicyEntityDomain // required
}

func NewGetForEntityPolicyReferenceRequest added in v0.86.0

func NewGetForEntityPolicyReferenceRequest(
	RefEntityName ObjectIdentifier,
	RefEntityDomain PolicyEntityDomain,
) *GetForEntityPolicyReferenceRequest

type GlobalPrivilege added in v0.68.0

type GlobalPrivilege string
const (
	GlobalPrivilegeCreateAccount             GlobalPrivilege = "CREATE ACCOUNT"
	GlobalPrivilegeCreateApplication         GlobalPrivilege = "CREATE APPLICATION"
	GlobalPrivilegeCreateApplicationPackage  GlobalPrivilege = "CREATE APPLICATION PACKAGE"
	GlobalPrivilegeCreateComputePool         GlobalPrivilege = "CREATE COMPUTE POOL"
	GlobalPrivilegeCreateDataExchangeListing GlobalPrivilege = "CREATE DATA EXCHANGE LISTING"
	GlobalPrivilegeCreateDatabase            GlobalPrivilege = "CREATE DATABASE"
	GlobalPrivilegeCreateFailoverGroup       GlobalPrivilege = "CREATE FAILOVER GROUP"
	GlobalPrivilegeCreateIntegration         GlobalPrivilege = "CREATE INTEGRATION"
	GlobalPrivilegeCreateNetworkPolicy       GlobalPrivilege = "CREATE NETWORK POLICY"
	GlobalPrivilegeCreateExternalVolume      GlobalPrivilege = "CREATE EXTERNAL VOLUME"
	GlobalPrivilegeCreateReplicationGroup    GlobalPrivilege = "CREATE REPLICATION GROUP"
	GlobalPrivilegeCreateRole                GlobalPrivilege = "CREATE ROLE"
	GlobalPrivilegeCreateShare               GlobalPrivilege = "CREATE SHARE"
	GlobalPrivilegeCreateUser                GlobalPrivilege = "CREATE USER"
	GlobalPrivilegeCreateWarehouse           GlobalPrivilege = "CREATE WAREHOUSE"

	GlobalPrivilegeAttachPolicy        GlobalPrivilege = "ATTACH POLICY"
	GlobalPrivilegeAudit               GlobalPrivilege = "AUDIT"
	GlobalPrivilegeBindServiceEndpoint GlobalPrivilege = "BIND SERVICE ENDPOINT"

	GlobalPrivilegeApplyAggregationPolicy    GlobalPrivilege = "APPLY AGGREGATION POLICY"
	GlobalPrivilegeApplyAuthenticationPolicy GlobalPrivilege = "APPLY AUTHENTICATION POLICY"
	GlobalPrivilegeApplyMaskingPolicy        GlobalPrivilege = "APPLY MASKING POLICY"
	GlobalPrivilegeApplyPackagesPolicy       GlobalPrivilege = "APPLY PACKAGES POLICY"
	GlobalPrivilegeApplyPasswordPolicy       GlobalPrivilege = "APPLY PASSWORD POLICY"
	GlobalPrivilegeApplyProjectionPolicy     GlobalPrivilege = "APPLY PROJECTION POLICY"
	GlobalPrivilegeApplyRowAccessPolicy      GlobalPrivilege = "APPLY ROW ACCESS POLICY"
	GlobalPrivilegeApplySessionPolicy        GlobalPrivilege = "APPLY SESSION POLICY"
	GlobalPrivilegeApplyTag                  GlobalPrivilege = "APPLY TAG"

	GlobalPrivilegeExecuteAlert              GlobalPrivilege = "EXECUTE ALERT"
	GlobalPrivilegeExecuteDataMetricFunction GlobalPrivilege = "EXECUTE DATA METRIC FUNCTION"
	GlobalPrivilegeExecuteDataManagedAlert   GlobalPrivilege = "EXECUTE MANAGED ALERT"
	GlobalPrivilegeExecuteDataManagedTask    GlobalPrivilege = "EXECUTE MANAGED TASK"
	GlobalPrivilegeExecuteTask               GlobalPrivilege = "EXECUTE TASK"

	GlobalPrivilegeImportShare GlobalPrivilege = "IMPORT SHARE"

	GlobalPrivilegeManageAccountSupportCases      GlobalPrivilege = "MANAGE ACCOUNT SUPPORT CASES"
	GlobalPrivilegeManageEventSharing             GlobalPrivilege = "MANAGE EVENT SHARING"
	GlobalPrivilegeManageGrants                   GlobalPrivilege = "MANAGE GRANTS"
	GlobalPrivilegeManageListingAutoFulfillment   GlobalPrivilege = "MANAGE LISTING AUTO FULFILLMENT"
	GlobalPrivilegeManageOrganizationSupportCases GlobalPrivilege = "MANAGE ORGANIZATION SUPPORT CASES"
	GlobalPrivilegeManageUserSupportCases         GlobalPrivilege = "MANAGE USER SUPPORT CASES"
	GlobalPrivilegeManageWarehouses               GlobalPrivilege = "MANAGE WAREHOUSES"

	GlobalPrivilegeModifyLogLevel          GlobalPrivilege = "MODIFY LOG LEVEL"
	GlobalPrivilegeModifyTraceLevel        GlobalPrivilege = "MODIFY TRACE LEVEL"
	GlobalPrivilegeModifySessionLogLevel   GlobalPrivilege = "MODIFY SESSION LOG LEVEL"
	GlobalPrivilegeModifySessionTraceLevel GlobalPrivilege = "MODIFY SESSION TRACE LEVEL"

	GlobalPrivilegeMonitorExecution GlobalPrivilege = "MONITOR EXECUTION"
	GlobalPrivilegeMonitorSecurity  GlobalPrivilege = "MONITOR SECURITY"
	GlobalPrivilegeMonitorUsage     GlobalPrivilege = "MONITOR USAGE"

	GlobalPrivilegeOverrideShareRestrictions   GlobalPrivilege = "OVERRIDE SHARE RESTRICTIONS"
	GlobalPrivilegePurchaseDataExchangeListing GlobalPrivilege = "PURCHASE DATA EXCHANGE LISTING"
	GlobalPrivilegeResolveAll                  GlobalPrivilege = "RESOLVE ALL"
)

func (GlobalPrivilege) String added in v0.68.0

func (p GlobalPrivilege) String() string

type GoogleApiParams added in v0.85.0

type GoogleApiParams struct {
	GoogleAudience string `ddl:"parameter,single_quotes" sql:"GOOGLE_AUDIENCE"`
	// contains filtered or unexported fields
}

type GoogleApiParamsRequest added in v0.85.0

type GoogleApiParamsRequest struct {
	GoogleAudience string // required
}

func NewGoogleApiParamsRequest added in v0.85.0

func NewGoogleApiParamsRequest(
	GoogleAudience string,
) *GoogleApiParamsRequest

type GoogleAutoParams added in v0.85.0

type GoogleAutoParams struct {
	GcpPubsubSubscriptionName string `ddl:"parameter,single_quotes" sql:"GCP_PUBSUB_SUBSCRIPTION_NAME"`
	// contains filtered or unexported fields
}

type GoogleAutoParamsRequest added in v0.85.0

type GoogleAutoParamsRequest struct {
	GcpPubsubSubscriptionName string // required
}

func NewGoogleAutoParamsRequest added in v0.85.0

func NewGoogleAutoParamsRequest(
	GcpPubsubSubscriptionName string,
) *GoogleAutoParamsRequest

type GooglePushParams added in v0.85.0

type GooglePushParams struct {
	GcpPubsubTopicName string `ddl:"parameter,single_quotes" sql:"GCP_PUBSUB_TOPIC_NAME"`
	// contains filtered or unexported fields
}

type GooglePushParamsRequest added in v0.85.0

type GooglePushParamsRequest struct {
	GcpPubsubTopicName string // required
}

func NewGooglePushParamsRequest added in v0.85.0

func NewGooglePushParamsRequest(
	GcpPubsubTopicName string,
) *GooglePushParamsRequest

type Grant added in v0.65.0

type Grant struct {
	CreatedOn   time.Time
	Privilege   string
	GrantedOn   ObjectType
	GrantOn     ObjectType
	Name        ObjectIdentifier
	GrantedTo   ObjectType
	GrantTo     ObjectType
	GranteeName ObjectIdentifier
	GrantOption bool
	GrantedBy   AccountObjectIdentifier
}

func (*Grant) ID added in v0.65.0

func (v *Grant) ID() ObjectIdentifier

type GrantApplicationRoleOptions added in v0.91.0

type GrantApplicationRoleOptions struct {
	To KindOfRole `ddl:"keyword" sql:"TO"`
	// contains filtered or unexported fields
}

GrantApplicationRoleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/grant-application-role.

type GrantApplicationRoleRequest added in v0.91.0

type GrantApplicationRoleRequest struct {
	To KindOfRoleRequest
	// contains filtered or unexported fields
}

func NewGrantApplicationRoleRequest added in v0.91.0

func NewGrantApplicationRoleRequest(
	name DatabaseObjectIdentifier,
) *GrantApplicationRoleRequest

func (*GrantApplicationRoleRequest) WithTo added in v0.91.0

type GrantDatabaseRoleRequest added in v0.70.0

type GrantDatabaseRoleRequest struct {
	// contains filtered or unexported fields
}

func NewGrantDatabaseRoleRequest added in v0.70.0

func NewGrantDatabaseRoleRequest(
	name DatabaseObjectIdentifier,
) *GrantDatabaseRoleRequest

func (*GrantDatabaseRoleRequest) WithAccountRole added in v0.70.0

func (*GrantDatabaseRoleRequest) WithDatabaseRole added in v0.70.0

type GrantDatabaseRoleToShareRequest added in v0.70.0

type GrantDatabaseRoleToShareRequest struct {
	// contains filtered or unexported fields
}

func NewGrantDatabaseRoleToShareRequest added in v0.70.0

func NewGrantDatabaseRoleToShareRequest(
	name DatabaseObjectIdentifier,
	share AccountObjectIdentifier,
) *GrantDatabaseRoleToShareRequest

type GrantOnAccountObject added in v0.68.0

type GrantOnAccountObject struct {
	User             *AccountObjectIdentifier `ddl:"identifier" sql:"USER"`
	ResourceMonitor  *AccountObjectIdentifier `ddl:"identifier" sql:"RESOURCE MONITOR"`
	Warehouse        *AccountObjectIdentifier `ddl:"identifier" sql:"WAREHOUSE"`
	ComputePool      *AccountObjectIdentifier `ddl:"identifier" sql:"COMPUTE POOL"`
	Database         *AccountObjectIdentifier `ddl:"identifier" sql:"DATABASE"`
	Integration      *AccountObjectIdentifier `ddl:"identifier" sql:"INTEGRATION"`
	FailoverGroup    *AccountObjectIdentifier `ddl:"identifier" sql:"FAILOVER GROUP"`
	ReplicationGroup *AccountObjectIdentifier `ddl:"identifier" sql:"REPLICATION GROUP"`
	ExternalVolume   *AccountObjectIdentifier `ddl:"identifier" sql:"EXTERNAL VOLUME"`
}

type GrantOnSchema added in v0.68.0

type GrantOnSchema struct {
	Schema                  *DatabaseObjectIdentifier `ddl:"identifier" sql:"SCHEMA"`
	AllSchemasInDatabase    *AccountObjectIdentifier  `ddl:"identifier" sql:"ALL SCHEMAS IN DATABASE"`
	FutureSchemasInDatabase *AccountObjectIdentifier  `ddl:"identifier" sql:"FUTURE SCHEMAS IN DATABASE"`
}

type GrantOnSchemaObject added in v0.68.0

type GrantOnSchemaObject struct {
	SchemaObject *Object                `ddl:"-"`
	All          *GrantOnSchemaObjectIn `ddl:"keyword" sql:"ALL"`
	Future       *GrantOnSchemaObjectIn `ddl:"keyword" sql:"FUTURE"`
}

type GrantOnSchemaObjectIn added in v0.68.0

type GrantOnSchemaObjectIn struct {
	PluralObjectType PluralObjectType          `ddl:"keyword" sql:"ALL"`
	InDatabase       *AccountObjectIdentifier  `ddl:"identifier" sql:"IN DATABASE"`
	InSchema         *DatabaseObjectIdentifier `ddl:"identifier" sql:"IN SCHEMA"`
}

type GrantOwnershipOptions added in v0.72.0

type GrantOwnershipOptions struct {
	On            OwnershipGrantOn        `ddl:"keyword" sql:"ON"`
	To            OwnershipGrantTo        `ddl:"keyword" sql:"TO"`
	CurrentGrants *OwnershipCurrentGrants `ddl:"-"`
	// contains filtered or unexported fields
}

GrantOwnershipOptions is based on https://docs.snowflake.com/en/sql-reference/sql/grant-ownership#syntax. Description is a bit misleading, ownership can be given not only to schema objects but also to account level objects.

type GrantPrivilegesToAccountRoleOptions added in v0.68.0

type GrantPrivilegesToAccountRoleOptions struct {
	WithGrantOption *bool `ddl:"keyword" sql:"WITH GRANT OPTION"`
	// contains filtered or unexported fields
}

GrantPrivilegesToAccountRoleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/grant-privilege#syntax.

type GrantPrivilegesToDatabaseRoleOptions added in v0.71.0

type GrantPrivilegesToDatabaseRoleOptions struct {
	WithGrantOption *bool `ddl:"keyword" sql:"WITH GRANT OPTION"`
	// contains filtered or unexported fields
}

GrantPrivilegesToDatabaseRoleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/grant-privilege#syntax.

type GrantRole added in v0.72.0

type GrantRole struct {
	// one of
	Role *AccountObjectIdentifier `ddl:"identifier" sql:"ROLE"`
	User *AccountObjectIdentifier `ddl:"identifier" sql:"USER"`
}

type GrantRoleOptions added in v0.72.0

type GrantRoleOptions struct {
	Grant GrantRole `ddl:"keyword,no_parentheses" sql:"TO"`
	// contains filtered or unexported fields
}

GrantRoleOptions based on https://docs.snowflake.com/en/sql-reference/sql/grant-role

type GrantRoleRequest added in v0.72.0

type GrantRoleRequest struct {
	Grant GrantRole // required
	// contains filtered or unexported fields
}

func NewGrantRoleRequest added in v0.72.0

func NewGrantRoleRequest(name AccountObjectIdentifier, grant GrantRole) *GrantRoleRequest

type Grants added in v0.65.0

type Grants interface {
	GrantPrivilegesToAccountRole(ctx context.Context, privileges *AccountRoleGrantPrivileges, on *AccountRoleGrantOn, role AccountObjectIdentifier, opts *GrantPrivilegesToAccountRoleOptions) error
	RevokePrivilegesFromAccountRole(ctx context.Context, privileges *AccountRoleGrantPrivileges, on *AccountRoleGrantOn, role AccountObjectIdentifier, opts *RevokePrivilegesFromAccountRoleOptions) error
	GrantPrivilegesToDatabaseRole(ctx context.Context, privileges *DatabaseRoleGrantPrivileges, on *DatabaseRoleGrantOn, role DatabaseObjectIdentifier, opts *GrantPrivilegesToDatabaseRoleOptions) error
	RevokePrivilegesFromDatabaseRole(ctx context.Context, privileges *DatabaseRoleGrantPrivileges, on *DatabaseRoleGrantOn, role DatabaseObjectIdentifier, opts *RevokePrivilegesFromDatabaseRoleOptions) error
	GrantPrivilegeToShare(ctx context.Context, privileges []ObjectPrivilege, on *ShareGrantOn, to AccountObjectIdentifier) error
	RevokePrivilegeFromShare(ctx context.Context, privileges []ObjectPrivilege, on *ShareGrantOn, from AccountObjectIdentifier) error
	GrantOwnership(ctx context.Context, on OwnershipGrantOn, to OwnershipGrantTo, opts *GrantOwnershipOptions) error

	Show(ctx context.Context, opts *ShowGrantOptions) ([]Grant, error)
}

type IP added in v0.72.0

type IP struct {
	IP string `ddl:"keyword,single_quotes"`
}

type IPRequest added in v0.72.0

type IPRequest struct {
	IP string // required
}

func NewIPRequest added in v0.72.0

func NewIPRequest(
	IP string,
) *IPRequest

type Identifier added in v0.65.0

type Identifier interface {
	Name() string
}

type In

type In struct {
	Account  *bool                    `ddl:"keyword" sql:"ACCOUNT"`
	Database AccountObjectIdentifier  `ddl:"identifier" sql:"DATABASE"`
	Schema   DatabaseObjectIdentifier `ddl:"identifier" sql:"SCHEMA"`
}

type InlineForeignKey added in v0.72.0

type InlineForeignKey struct {
	TableName  string              `ddl:"keyword" sql:"REFERENCES"`
	ColumnName []string            `ddl:"keyword,parentheses"`
	Match      *MatchType          `ddl:"keyword" sql:"MATCH"`
	On         *ForeignKeyOnAction `ddl:"keyword" sql:"ON"`
}

type InlineForeignKeyRequest added in v0.72.0

type InlineForeignKeyRequest struct {
	TableName  string // required
	ColumnName []string
	Match      *MatchType
	On         *ForeignKeyOnAction
}

func NewInlineForeignKeyRequest added in v0.72.0

func NewInlineForeignKeyRequest(
	tableName string,
) *InlineForeignKeyRequest

func (*InlineForeignKeyRequest) WithColumnName added in v0.72.0

func (s *InlineForeignKeyRequest) WithColumnName(columnName []string) *InlineForeignKeyRequest

func (*InlineForeignKeyRequest) WithMatch added in v0.72.0

func (*InlineForeignKeyRequest) WithOn added in v0.72.0

type IntErrType added in v0.75.0

type IntErrType string
const (
	IntErrEqual          IntErrType = "equal to"
	IntErrGreaterOrEqual IntErrType = "greater than or equal to"
	IntErrGreater        IntErrType = "greater than"
	IntErrLessOrEqual    IntErrType = "less than or equal to"
	IntErrLess           IntErrType = "less than"
)

type IntProperty

type IntProperty struct {
	Value        *int
	DefaultValue *int
	Description  string
}

type IntegrationType added in v0.65.0

type IntegrationType string

IntegrationType is the type of integration.

const (
	IntegrationTypeSecurityIntegrations       IntegrationType = "SECURITY INTEGRATIONS"
	IntegrationTypeAPIIntegrations            IntegrationType = "API INTEGRATIONS"
	IntegrationTypeStorageIntegrations        IntegrationType = "STORAGE INTEGRATIONS"
	IntegrationTypeExternalAccessIntegrations IntegrationType = "EXTERNAL ACCESS INTEGRATIONS"
	IntegrationTypeNotificationIntegrations   IntegrationType = "NOTIFICATION INTEGRATIONS"
)

type InternalDirectoryTableOptions added in v0.76.0

type InternalDirectoryTableOptions struct {
	Enable          *bool `ddl:"parameter" sql:"ENABLE"`
	RefreshOnCreate *bool `ddl:"parameter" sql:"REFRESH_ON_CREATE"`
}

type InternalDirectoryTableOptionsRequest added in v0.76.0

type InternalDirectoryTableOptionsRequest struct {
	Enable          *bool
	RefreshOnCreate *bool
}

func NewInternalDirectoryTableOptionsRequest added in v0.76.0

func NewInternalDirectoryTableOptionsRequest() *InternalDirectoryTableOptionsRequest

func (*InternalDirectoryTableOptionsRequest) WithEnable added in v0.76.0

func (*InternalDirectoryTableOptionsRequest) WithRefreshOnCreate added in v0.76.0

func (s *InternalDirectoryTableOptionsRequest) WithRefreshOnCreate(RefreshOnCreate *bool) *InternalDirectoryTableOptionsRequest

type InternalStageEncryption added in v0.76.0

type InternalStageEncryption struct {
	Type *InternalStageEncryptionOption `ddl:"parameter,single_quotes" sql:"TYPE"`
}

type InternalStageEncryptionOption added in v0.76.0

type InternalStageEncryptionOption string
var (
	InternalStageEncryptionFull InternalStageEncryptionOption = "SNOWFLAKE_FULL"
	InternalStageEncryptionSSE  InternalStageEncryptionOption = "SNOWFLAKE_SSE"
)

type InternalStageEncryptionRequest added in v0.76.0

type InternalStageEncryptionRequest struct {
	Type *InternalStageEncryptionOption // required
}

func NewInternalStageEncryptionRequest added in v0.76.0

func NewInternalStageEncryptionRequest(
	Type *InternalStageEncryptionOption,
) *InternalStageEncryptionRequest

type JSONCompression added in v0.68.0

type JSONCompression string
var (
	JSONCompressionAuto       JSONCompression = "AUTO"
	JSONCompressionGzip       JSONCompression = "GZIP"
	JSONCompressionBz2        JSONCompression = "BZ2"
	JSONCompressionBrotli     JSONCompression = "BROTLI"
	JSONCompressionZstd       JSONCompression = "ZSTD"
	JSONCompressionDeflate    JSONCompression = "DEFLATE"
	JSONCompressionRawDeflate JSONCompression = "RAW_DEFLATE"
	JSONCompressionNone       JSONCompression = "NONE"
)

type JwsKeysUrl added in v0.92.0

type JwsKeysUrl struct {
	JwsKeyUrl string `ddl:"keyword,single_quotes"`
}

type KindOfRole added in v0.91.0

type KindOfRole struct {
	RoleName            *AccountObjectIdentifier  `ddl:"identifier" sql:"ROLE"`
	ApplicationRoleName *DatabaseObjectIdentifier `ddl:"identifier" sql:"APPLICATION ROLE"`
	ApplicationName     *AccountObjectIdentifier  `ddl:"identifier" sql:"APPLICATION"`
}

type KindOfRoleRequest added in v0.91.0

type KindOfRoleRequest struct {
	RoleName            *AccountObjectIdentifier
	ApplicationRoleName *DatabaseObjectIdentifier
	ApplicationName     *AccountObjectIdentifier
}

func NewKindOfRoleRequest added in v0.91.0

func NewKindOfRoleRequest() *KindOfRoleRequest

func (*KindOfRoleRequest) WithApplicationName added in v0.91.0

func (s *KindOfRoleRequest) WithApplicationName(ApplicationName *AccountObjectIdentifier) *KindOfRoleRequest

func (*KindOfRoleRequest) WithApplicationRoleName added in v0.91.0

func (s *KindOfRoleRequest) WithApplicationRoleName(ApplicationRoleName *DatabaseObjectIdentifier) *KindOfRoleRequest

func (*KindOfRoleRequest) WithRoleName added in v0.91.0

func (s *KindOfRoleRequest) WithRoleName(RoleName *AccountObjectIdentifier) *KindOfRoleRequest

type Like

type Like struct {
	Pattern *string `ddl:"keyword,single_quotes"`
}

type LikeRequest added in v0.72.0

type LikeRequest struct {
	// contains filtered or unexported fields
}

func NewLikeRequest added in v0.72.0

func NewLikeRequest(pattern string) *LikeRequest

type LimitFrom added in v0.65.0

type LimitFrom struct {
	Rows *int    `ddl:"keyword"`
	From *string `ddl:"parameter,no_equals,single_quotes" sql:"FROM"`
}

type LimitFromRequest added in v0.72.0

type LimitFromRequest struct {
	// contains filtered or unexported fields
}

func NewLimitFromRequest added in v0.72.0

func NewLimitFromRequest() *LimitFromRequest

func (*LimitFromRequest) WithFrom added in v0.72.0

func (s *LimitFromRequest) WithFrom(from *string) *LimitFromRequest

func (*LimitFromRequest) WithRows added in v0.72.0

func (s *LimitFromRequest) WithRows(rows *int) *LimitFromRequest

type LogLevel added in v0.65.0

type LogLevel string
const (
	LogLevelTrace LogLevel = "TRACE"
	LogLevelDebug LogLevel = "DEBUG"
	LogLevelInfo  LogLevel = "INFO"
	LogLevelWarn  LogLevel = "WARN"
	LogLevelError LogLevel = "ERROR"
	LogLevelFatal LogLevel = "FATAL"
	LogLevelOff   LogLevel = "OFF"
)

func ToLogLevel added in v0.93.0

func ToLogLevel(value string) (LogLevel, error)

type ManagedAccount added in v0.84.0

type ManagedAccount struct {
	Name              string
	Cloud             string
	Region            string
	Locator           string
	CreatedOn         string
	URL               string
	AccountLocatorURL string
	IsReader          bool
	Comment           string
}

type ManagedAccounts added in v0.84.0

type ManagedAccounts interface {
	Create(ctx context.Context, request *CreateManagedAccountRequest) error
	Drop(ctx context.Context, request *DropManagedAccountRequest) error
	Show(ctx context.Context, request *ShowManagedAccountRequest) ([]ManagedAccount, error)
	ShowByID(ctx context.Context, id AccountObjectIdentifier) (*ManagedAccount, error)
}

type MaskingPolicy

type MaskingPolicy struct {
	CreatedOn           time.Time
	Name                string
	DatabaseName        string
	SchemaName          string
	Kind                string
	Owner               string
	Comment             string
	ExemptOtherPolicies bool
	OwnerRoleType       string
}

MaskingPolicys is a user friendly result for a CREATE MASKING POLICY query.

func (*MaskingPolicy) ID

func (*MaskingPolicy) ObjectType added in v0.65.0

func (v *MaskingPolicy) ObjectType() ObjectType

type MaskingPolicyDetails

type MaskingPolicyDetails struct {
	Name       string
	Signature  []TableColumnSignature
	ReturnType DataType
	Body       string
}

type MaskingPolicyOptions added in v0.96.0

type MaskingPolicyOptions struct {
	ExemptOtherPolicies bool `json:"EXEMPT_OTHER_POLICIES"`
}

func ParseMaskingPolicyOptions added in v0.96.0

func ParseMaskingPolicyOptions(s string) (MaskingPolicyOptions, error)

type MaskingPolicySet

type MaskingPolicySet struct {
	Body    *string `ddl:"parameter,no_equals" sql:"BODY ->"`
	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type MaskingPolicyUnset

type MaskingPolicyUnset struct {
	Comment *bool `ddl:"keyword" sql:"COMMENT"`
}

type MatchType added in v0.72.0

type MatchType string
var (
	FullMatchType    MatchType = "FULL"
	SimpleMatchType  MatchType = "SIMPLE"
	PartialMatchType MatchType = "PARTIAL"
)

func ToMatchType added in v0.86.0

func ToMatchType(s string) (MatchType, error)

type MaterializedView added in v0.85.0

type MaterializedView struct {
	CreatedOn           string
	Name                string
	Reserved            *string
	DatabaseName        string
	SchemaName          string
	ClusterBy           string
	Rows                int
	Bytes               int
	SourceDatabaseName  string
	SourceSchemaName    string
	SourceTableName     string
	RefreshedOn         time.Time
	CompactedOn         time.Time
	Owner               string
	Invalid             bool
	InvalidReason       string
	BehindBy            string
	Comment             string
	Text                string
	IsSecure            bool
	AutomaticClustering bool
	OwnerRoleType       string
	Budget              string
}

func (*MaterializedView) ID added in v0.85.0

type MaterializedViewClusterBy added in v0.85.0

type MaterializedViewClusterBy struct {
	Expressions []MaterializedViewClusterByExpression `ddl:"list,parentheses"`
	// contains filtered or unexported fields
}

type MaterializedViewClusterByExpression added in v0.85.0

type MaterializedViewClusterByExpression struct {
	Name string `ddl:"keyword,double_quotes"`
}

type MaterializedViewClusterByExpressionRequest added in v0.85.0

type MaterializedViewClusterByExpressionRequest struct {
	Name string // required
}

func NewMaterializedViewClusterByExpressionRequest added in v0.85.0

func NewMaterializedViewClusterByExpressionRequest(
	Name string,
) *MaterializedViewClusterByExpressionRequest

type MaterializedViewClusterByRequest added in v0.85.0

type MaterializedViewClusterByRequest struct {
	Expressions []MaterializedViewClusterByExpressionRequest
}

func NewMaterializedViewClusterByRequest added in v0.85.0

func NewMaterializedViewClusterByRequest() *MaterializedViewClusterByRequest

func (*MaterializedViewClusterByRequest) WithExpressions added in v0.85.0

type MaterializedViewColumn added in v0.85.0

type MaterializedViewColumn struct {
	Name    string  `ddl:"keyword,double_quotes"`
	Comment *string `ddl:"parameter,single_quotes,no_equals" sql:"COMMENT"`
}

type MaterializedViewColumnMaskingPolicy added in v0.85.0

type MaterializedViewColumnMaskingPolicy struct {
	Name          string                 `ddl:"keyword"`
	MaskingPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"MASKING POLICY"`
	Using         []string               `ddl:"keyword,parentheses" sql:"USING"`
	Tag           []TagAssociation       `ddl:"keyword,parentheses" sql:"TAG"`
}

type MaterializedViewColumnMaskingPolicyRequest added in v0.85.0

type MaterializedViewColumnMaskingPolicyRequest struct {
	Name          string                 // required
	MaskingPolicy SchemaObjectIdentifier // required
	Using         []string
	Tag           []TagAssociation
}

func NewMaterializedViewColumnMaskingPolicyRequest added in v0.85.0

func NewMaterializedViewColumnMaskingPolicyRequest(
	Name string,
	MaskingPolicy SchemaObjectIdentifier,
) *MaterializedViewColumnMaskingPolicyRequest

func (*MaterializedViewColumnMaskingPolicyRequest) WithTag added in v0.85.0

func (*MaterializedViewColumnMaskingPolicyRequest) WithUsing added in v0.85.0

type MaterializedViewColumnRequest added in v0.85.0

type MaterializedViewColumnRequest struct {
	Name    string // required
	Comment *string
}

func NewMaterializedViewColumnRequest added in v0.85.0

func NewMaterializedViewColumnRequest(
	Name string,
) *MaterializedViewColumnRequest

func (*MaterializedViewColumnRequest) WithComment added in v0.85.0

type MaterializedViewDetails added in v0.85.0

type MaterializedViewDetails struct {
	Name       string
	Type       DataType
	Kind       string
	IsNullable bool
	Default    *string
	IsPrimary  bool
	IsUnique   bool
	Check      *bool
	Expression *string
	Comment    *string
}

type MaterializedViewRowAccessPolicy added in v0.85.0

type MaterializedViewRowAccessPolicy struct {
	RowAccessPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"ROW ACCESS POLICY"`
	On              []string               `ddl:"keyword,parentheses" sql:"ON"`
}

type MaterializedViewRowAccessPolicyRequest added in v0.85.0

type MaterializedViewRowAccessPolicyRequest struct {
	RowAccessPolicy SchemaObjectIdentifier // required
	On              []string               // required
}

func NewMaterializedViewRowAccessPolicyRequest added in v0.85.0

func NewMaterializedViewRowAccessPolicyRequest(
	RowAccessPolicy SchemaObjectIdentifier,
	On []string,
) *MaterializedViewRowAccessPolicyRequest

type MaterializedViewSet added in v0.85.0

type MaterializedViewSet struct {
	Secure  *bool   `ddl:"keyword" sql:"SECURE"`
	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type MaterializedViewSetRequest added in v0.85.0

type MaterializedViewSetRequest struct {
	Secure  *bool
	Comment *string
}

func NewMaterializedViewSetRequest added in v0.85.0

func NewMaterializedViewSetRequest() *MaterializedViewSetRequest

func (*MaterializedViewSetRequest) WithComment added in v0.85.0

func (*MaterializedViewSetRequest) WithSecure added in v0.85.0

type MaterializedViewUnset added in v0.85.0

type MaterializedViewUnset struct {
	Secure  *bool `ddl:"keyword" sql:"SECURE"`
	Comment *bool `ddl:"keyword" sql:"COMMENT"`
}

type MaterializedViewUnsetRequest added in v0.85.0

type MaterializedViewUnsetRequest struct {
	Secure  *bool
	Comment *bool
}

func NewMaterializedViewUnsetRequest added in v0.85.0

func NewMaterializedViewUnsetRequest() *MaterializedViewUnsetRequest

func (*MaterializedViewUnsetRequest) WithComment added in v0.85.0

func (*MaterializedViewUnsetRequest) WithSecure added in v0.85.0

type MfaAuthenticationMethods added in v0.96.0

type MfaAuthenticationMethods struct {
	Method MfaAuthenticationMethodsOption `ddl:"keyword,single_quotes"`
}

type MfaAuthenticationMethodsOption added in v0.96.0

type MfaAuthenticationMethodsOption string
const (
	MfaAuthenticationMethodsAll      MfaAuthenticationMethodsOption = "ALL"
	MfaAuthenticationMethodsSaml     MfaAuthenticationMethodsOption = "SAML"
	MfaAuthenticationMethodsPassword MfaAuthenticationMethodsOption = "PASSWORD"
)

type MfaEnrollmentOption added in v0.96.0

type MfaEnrollmentOption string
const (
	MfaEnrollmentRequired MfaEnrollmentOption = "REQUIRED"
	MfaEnrollmentOptional MfaEnrollmentOption = "OPTIONAL"
)

type ModifyReleaseDirective added in v0.84.0

type ModifyReleaseDirective struct {
	ReleaseDirective string `ddl:"keyword,no_quotes"`
	Version          string `ddl:"parameter,no_quotes" sql:"VERSION"`
	Patch            int    `ddl:"parameter,no_quotes" sql:"PATCH"`
}

type ModifyReleaseDirectiveRequest added in v0.84.0

type ModifyReleaseDirectiveRequest struct {
	ReleaseDirective string // required
	Version          string // required
	Patch            int    // required
}

func NewModifyReleaseDirectiveRequest added in v0.84.0

func NewModifyReleaseDirectiveRequest(
	ReleaseDirective string,
	Version string,
	Patch int,
) *ModifyReleaseDirectiveRequest

type NetworkPolicies added in v0.72.0

type NetworkPolicy added in v0.72.0

type NetworkPolicy struct {
	CreatedOn                    string
	Name                         string
	Comment                      string
	EntriesInAllowedIpList       int
	EntriesInBlockedIpList       int
	EntriesInAllowedNetworkRules int
	EntriesInBlockedNetworkRules int
}

func (*NetworkPolicy) ID added in v0.94.0

type NetworkPolicyProperty added in v0.94.0

type NetworkPolicyProperty struct {
	Name  string
	Value string
}

type NetworkPolicySet added in v0.72.0

type NetworkPolicySet struct {
	AllowedNetworkRuleList *AllowedNetworkRuleList `ddl:"parameter,parentheses" sql:"ALLOWED_NETWORK_RULE_LIST"`
	BlockedNetworkRuleList *BlockedNetworkRuleList `ddl:"parameter,parentheses" sql:"BLOCKED_NETWORK_RULE_LIST"`
	AllowedIpList          *AllowedIPList          `ddl:"parameter,parentheses" sql:"ALLOWED_IP_LIST"`
	BlockedIpList          *BlockedIPList          `ddl:"parameter,parentheses" sql:"BLOCKED_IP_LIST"`
	Comment                *string                 `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type NetworkPolicySetRequest added in v0.72.0

type NetworkPolicySetRequest struct {
	AllowedNetworkRuleList *AllowedNetworkRuleListRequest
	BlockedNetworkRuleList *BlockedNetworkRuleListRequest
	AllowedIpList          *AllowedIPListRequest
	BlockedIpList          *BlockedIPListRequest
	Comment                *string
}

func NewNetworkPolicySetRequest added in v0.72.0

func NewNetworkPolicySetRequest() *NetworkPolicySetRequest

func (*NetworkPolicySetRequest) WithAllowedIpList added in v0.72.0

func (s *NetworkPolicySetRequest) WithAllowedIpList(AllowedIpList AllowedIPListRequest) *NetworkPolicySetRequest

func (*NetworkPolicySetRequest) WithAllowedNetworkRuleList added in v0.89.0

func (s *NetworkPolicySetRequest) WithAllowedNetworkRuleList(AllowedNetworkRuleList AllowedNetworkRuleListRequest) *NetworkPolicySetRequest

func (*NetworkPolicySetRequest) WithBlockedIpList added in v0.72.0

func (s *NetworkPolicySetRequest) WithBlockedIpList(BlockedIpList BlockedIPListRequest) *NetworkPolicySetRequest

func (*NetworkPolicySetRequest) WithBlockedNetworkRuleList added in v0.89.0

func (s *NetworkPolicySetRequest) WithBlockedNetworkRuleList(BlockedNetworkRuleList BlockedNetworkRuleListRequest) *NetworkPolicySetRequest

func (*NetworkPolicySetRequest) WithComment added in v0.72.0

func (s *NetworkPolicySetRequest) WithComment(Comment string) *NetworkPolicySetRequest

type NetworkPolicyUnset added in v0.90.0

type NetworkPolicyUnset struct {
	AllowedNetworkRuleList *bool `ddl:"keyword" sql:"ALLOWED_NETWORK_RULE_LIST"`
	BlockedNetworkRuleList *bool `ddl:"keyword" sql:"BLOCKED_NETWORK_RULE_LIST"`
	AllowedIpList          *bool `ddl:"keyword" sql:"ALLOWED_IP_LIST"`
	BlockedIpList          *bool `ddl:"keyword" sql:"BLOCKED_IP_LIST"`
	Comment                *bool `ddl:"keyword" sql:"COMMENT"`
}

type NetworkPolicyUnsetRequest added in v0.90.0

type NetworkPolicyUnsetRequest struct {
	AllowedNetworkRuleList *bool
	BlockedNetworkRuleList *bool
	AllowedIpList          *bool
	BlockedIpList          *bool
	Comment                *bool
}

func NewNetworkPolicyUnsetRequest added in v0.90.0

func NewNetworkPolicyUnsetRequest() *NetworkPolicyUnsetRequest

func (*NetworkPolicyUnsetRequest) WithAllowedIpList added in v0.90.0

func (s *NetworkPolicyUnsetRequest) WithAllowedIpList(AllowedIpList bool) *NetworkPolicyUnsetRequest

func (*NetworkPolicyUnsetRequest) WithAllowedNetworkRuleList added in v0.90.0

func (s *NetworkPolicyUnsetRequest) WithAllowedNetworkRuleList(AllowedNetworkRuleList bool) *NetworkPolicyUnsetRequest

func (*NetworkPolicyUnsetRequest) WithBlockedIpList added in v0.90.0

func (s *NetworkPolicyUnsetRequest) WithBlockedIpList(BlockedIpList bool) *NetworkPolicyUnsetRequest

func (*NetworkPolicyUnsetRequest) WithBlockedNetworkRuleList added in v0.90.0

func (s *NetworkPolicyUnsetRequest) WithBlockedNetworkRuleList(BlockedNetworkRuleList bool) *NetworkPolicyUnsetRequest

func (*NetworkPolicyUnsetRequest) WithComment added in v0.90.0

func (s *NetworkPolicyUnsetRequest) WithComment(Comment bool) *NetworkPolicyUnsetRequest

type NetworkRule added in v0.87.0

type NetworkRule struct {
	CreatedOn          time.Time
	Name               string
	DatabaseName       string
	SchemaName         string
	Owner              string
	Comment            string
	Type               NetworkRuleType
	Mode               NetworkRuleMode
	EntriesInValueList int
	OwnerRoleType      string
}

func (*NetworkRule) ID added in v0.89.0

type NetworkRuleDetails added in v0.87.0

type NetworkRuleDetails struct {
	CreatedOn    time.Time
	Name         string
	DatabaseName string
	SchemaName   string
	Owner        string
	Comment      string
	Type         NetworkRuleType
	Mode         NetworkRuleMode
	ValueList    []string
}

type NetworkRuleMode added in v0.87.0

type NetworkRuleMode string
const (
	NetworkRuleModeIngress       NetworkRuleMode = "INGRESS"
	NetworkRuleModeInternalStage NetworkRuleMode = "INTERNAL_STAGE"
	NetworkRuleModeEgress        NetworkRuleMode = "EGRESS"
)

type NetworkRuleSet added in v0.87.0

type NetworkRuleSet struct {
	ValueList []NetworkRuleValue `ddl:"parameter,parentheses" sql:"VALUE_LIST"`
	Comment   *string            `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type NetworkRuleSetRequest added in v0.87.0

type NetworkRuleSetRequest struct {
	ValueList []NetworkRuleValue // required
	Comment   *string
}

func NewNetworkRuleSetRequest added in v0.87.0

func NewNetworkRuleSetRequest(
	ValueList []NetworkRuleValue,
) *NetworkRuleSetRequest

func (*NetworkRuleSetRequest) WithComment added in v0.87.0

func (s *NetworkRuleSetRequest) WithComment(Comment *string) *NetworkRuleSetRequest

type NetworkRuleType added in v0.87.0

type NetworkRuleType string
const (
	NetworkRuleTypeIpv4             NetworkRuleType = "IPV4"
	NetworkRuleTypeAwsVpcEndpointId NetworkRuleType = "AWSVPCEID"
	NetworkRuleTypeAzureLinkId      NetworkRuleType = "AZURELINKID"
	NetworkRuleTypeHostPort         NetworkRuleType = "HOST_PORT"
)

type NetworkRuleUnset added in v0.87.0

type NetworkRuleUnset struct {
	ValueList *bool `ddl:"keyword" sql:"VALUE_LIST"`
	Comment   *bool `ddl:"keyword" sql:"COMMENT"`
}

type NetworkRuleUnsetRequest added in v0.87.0

type NetworkRuleUnsetRequest struct {
	ValueList *bool
	Comment   *bool
}

func NewNetworkRuleUnsetRequest added in v0.87.0

func NewNetworkRuleUnsetRequest() *NetworkRuleUnsetRequest

func (*NetworkRuleUnsetRequest) WithComment added in v0.87.0

func (s *NetworkRuleUnsetRequest) WithComment(Comment *bool) *NetworkRuleUnsetRequest

func (*NetworkRuleUnsetRequest) WithValueList added in v0.87.0

func (s *NetworkRuleUnsetRequest) WithValueList(ValueList *bool) *NetworkRuleUnsetRequest

type NetworkRuleValue added in v0.87.0

type NetworkRuleValue struct {
	Value string `ddl:"keyword,single_quotes"`
}

type NetworkRules added in v0.87.0

type NetworkRulesSnowflakeDto added in v0.94.0

type NetworkRulesSnowflakeDto struct {
	FullyQualifiedRuleName string
}

NetworkRulesSnowflakeDto is needed to unpack the applied network rules from the JSON response from Snowflake

func ParseNetworkRulesSnowflakeDto added in v0.94.0

func ParseNetworkRulesSnowflakeDto(networkRulesStringValue string) ([]NetworkRulesSnowflakeDto, error)

type NotificationIntegration added in v0.85.0

type NotificationIntegration struct {
	Name             string
	NotificationType string
	Category         string
	Enabled          bool
	Comment          string
	CreatedOn        time.Time
}

func (*NotificationIntegration) ID added in v0.85.0

type NotificationIntegrationAllowedRecipient added in v0.85.0

type NotificationIntegrationAllowedRecipient struct {
	Email string `ddl:"keyword,single_quotes"`
}

type NotificationIntegrationProperty added in v0.85.0

type NotificationIntegrationProperty struct {
	Name    string
	Type    string
	Value   string
	Default string
}

type NotificationIntegrationSet added in v0.85.0

type NotificationIntegrationSet struct {
	Enabled        *bool           `ddl:"parameter" sql:"ENABLED"`
	SetPushParams  *SetPushParams  `ddl:"keyword"`
	SetEmailParams *SetEmailParams `ddl:"keyword"`
	Comment        *string         `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type NotificationIntegrationSetRequest added in v0.85.0

type NotificationIntegrationSetRequest struct {
	Enabled        *bool
	SetPushParams  *SetPushParamsRequest
	SetEmailParams *SetEmailParamsRequest
	Comment        *string
}

func NewNotificationIntegrationSetRequest added in v0.85.0

func NewNotificationIntegrationSetRequest() *NotificationIntegrationSetRequest

func (*NotificationIntegrationSetRequest) WithComment added in v0.85.0

func (*NotificationIntegrationSetRequest) WithEnabled added in v0.85.0

func (*NotificationIntegrationSetRequest) WithSetEmailParams added in v0.85.0

func (*NotificationIntegrationSetRequest) WithSetPushParams added in v0.85.0

type NotificationIntegrationUnsetEmailParams added in v0.85.0

type NotificationIntegrationUnsetEmailParams struct {
	AllowedRecipients *bool `ddl:"keyword" sql:"ALLOWED_RECIPIENTS"`
	Comment           *bool `ddl:"keyword" sql:"COMMENT"`
}

type NotificationIntegrationUnsetEmailParamsRequest added in v0.85.0

type NotificationIntegrationUnsetEmailParamsRequest struct {
	AllowedRecipients *bool
	Comment           *bool
}

func NewNotificationIntegrationUnsetEmailParamsRequest added in v0.85.0

func NewNotificationIntegrationUnsetEmailParamsRequest() *NotificationIntegrationUnsetEmailParamsRequest

func (*NotificationIntegrationUnsetEmailParamsRequest) WithAllowedRecipients added in v0.85.0

func (*NotificationIntegrationUnsetEmailParamsRequest) WithComment added in v0.85.0

type NotifiedUser added in v0.69.0

type NotifiedUser struct {
	Name AccountObjectIdentifier `ddl:"identifier"`
}

type NotifyUsers added in v0.69.0

type NotifyUsers struct {
	Users []NotifiedUser `ddl:"list,parentheses,comma"`
}

type NullInputBehavior added in v0.79.0

type NullInputBehavior string
const (
	NullInputBehaviorCalledOnNullInput NullInputBehavior = "CALLED ON NULL INPUT"
	NullInputBehaviorReturnNullInput   NullInputBehavior = "RETURN NULL ON NULL INPUT"
	NullInputBehaviorStrict            NullInputBehavior = "STRICT"
)

func NullInputBehaviorPointer added in v0.79.0

func NullInputBehaviorPointer(v NullInputBehavior) *NullInputBehavior

type NullString added in v0.68.0

type NullString struct {
	S string `ddl:"parameter,no_equals,single_quotes"`
}

type NullStringRequest added in v0.72.0

type NullStringRequest struct {
	// contains filtered or unexported fields
}

func NewNullStringRequest added in v0.72.0

func NewNullStringRequest() *NullStringRequest

func (*NullStringRequest) WithStr added in v0.72.0

func (s *NullStringRequest) WithStr(str string) *NullStringRequest

type OauthForCustomClientsIntegrationSet added in v0.92.0

type OauthForCustomClientsIntegrationSet struct {
	Enabled                     *bool                                            `ddl:"parameter" sql:"ENABLED"`
	OauthRedirectUri            *string                                          `ddl:"parameter,single_quotes" sql:"OAUTH_REDIRECT_URI"`
	OauthAllowNonTlsRedirectUri *bool                                            `ddl:"parameter" sql:"OAUTH_ALLOW_NON_TLS_REDIRECT_URI"`
	OauthEnforcePkce            *bool                                            `ddl:"parameter" sql:"OAUTH_ENFORCE_PKCE"`
	PreAuthorizedRolesList      *PreAuthorizedRolesList                          `ddl:"parameter,parentheses" sql:"PRE_AUTHORIZED_ROLES_LIST"`
	BlockedRolesList            *BlockedRolesList                                `ddl:"parameter,parentheses" sql:"BLOCKED_ROLES_LIST"`
	OauthIssueRefreshTokens     *bool                                            `ddl:"parameter" sql:"OAUTH_ISSUE_REFRESH_TOKENS"`
	OauthRefreshTokenValidity   *int                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	OauthUseSecondaryRoles      *OauthSecurityIntegrationUseSecondaryRolesOption `ddl:"parameter" sql:"OAUTH_USE_SECONDARY_ROLES"`
	NetworkPolicy               *AccountObjectIdentifier                         `ddl:"identifier,equals" sql:"NETWORK_POLICY"`
	OauthClientRsaPublicKey     *string                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_RSA_PUBLIC_KEY"`
	OauthClientRsaPublicKey2    *string                                          `ddl:"parameter,single_quotes" sql:"OAUTH_CLIENT_RSA_PUBLIC_KEY_2"`
	Comment                     *string                                          `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type OauthForCustomClientsIntegrationSetRequest added in v0.92.0

type OauthForCustomClientsIntegrationSetRequest struct {
	Enabled                     *bool
	OauthRedirectUri            *string
	OauthAllowNonTlsRedirectUri *bool
	OauthEnforcePkce            *bool
	PreAuthorizedRolesList      *PreAuthorizedRolesListRequest
	BlockedRolesList            *BlockedRolesListRequest
	OauthIssueRefreshTokens     *bool
	OauthRefreshTokenValidity   *int
	OauthUseSecondaryRoles      *OauthSecurityIntegrationUseSecondaryRolesOption
	NetworkPolicy               *AccountObjectIdentifier
	OauthClientRsaPublicKey     *string
	OauthClientRsaPublicKey2    *string
	Comment                     *string
}

func NewOauthForCustomClientsIntegrationSetRequest added in v0.92.0

func NewOauthForCustomClientsIntegrationSetRequest() *OauthForCustomClientsIntegrationSetRequest

func (*OauthForCustomClientsIntegrationSetRequest) WithBlockedRolesList added in v0.92.0

func (*OauthForCustomClientsIntegrationSetRequest) WithComment added in v0.92.0

func (*OauthForCustomClientsIntegrationSetRequest) WithEnabled added in v0.92.0

func (*OauthForCustomClientsIntegrationSetRequest) WithNetworkPolicy added in v0.92.0

func (*OauthForCustomClientsIntegrationSetRequest) WithOauthAllowNonTlsRedirectUri added in v0.92.0

func (s *OauthForCustomClientsIntegrationSetRequest) WithOauthAllowNonTlsRedirectUri(OauthAllowNonTlsRedirectUri bool) *OauthForCustomClientsIntegrationSetRequest

func (*OauthForCustomClientsIntegrationSetRequest) WithOauthClientRsaPublicKey added in v0.92.0

func (s *OauthForCustomClientsIntegrationSetRequest) WithOauthClientRsaPublicKey(OauthClientRsaPublicKey string) *OauthForCustomClientsIntegrationSetRequest

func (*OauthForCustomClientsIntegrationSetRequest) WithOauthClientRsaPublicKey2 added in v0.92.0

func (s *OauthForCustomClientsIntegrationSetRequest) WithOauthClientRsaPublicKey2(OauthClientRsaPublicKey2 string) *OauthForCustomClientsIntegrationSetRequest

func (*OauthForCustomClientsIntegrationSetRequest) WithOauthEnforcePkce added in v0.92.0

func (*OauthForCustomClientsIntegrationSetRequest) WithOauthIssueRefreshTokens added in v0.92.0

func (s *OauthForCustomClientsIntegrationSetRequest) WithOauthIssueRefreshTokens(OauthIssueRefreshTokens bool) *OauthForCustomClientsIntegrationSetRequest

func (*OauthForCustomClientsIntegrationSetRequest) WithOauthRedirectUri added in v0.92.0

func (*OauthForCustomClientsIntegrationSetRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (s *OauthForCustomClientsIntegrationSetRequest) WithOauthRefreshTokenValidity(OauthRefreshTokenValidity int) *OauthForCustomClientsIntegrationSetRequest

func (*OauthForCustomClientsIntegrationSetRequest) WithOauthUseSecondaryRoles added in v0.92.0

func (*OauthForCustomClientsIntegrationSetRequest) WithPreAuthorizedRolesList added in v0.92.0

type OauthForCustomClientsIntegrationUnset added in v0.92.0

type OauthForCustomClientsIntegrationUnset struct {
	Enabled                  *bool `ddl:"keyword" sql:"ENABLED"`
	NetworkPolicy            *bool `ddl:"keyword" sql:"NETWORK_POLICY"`
	OauthClientRsaPublicKey  *bool `ddl:"keyword" sql:"OAUTH_CLIENT_RSA_PUBLIC_KEY"`
	OauthClientRsaPublicKey2 *bool `ddl:"keyword" sql:"OAUTH_CLIENT_RSA_PUBLIC_KEY_2"`
	OauthUseSecondaryRoles   *bool `ddl:"keyword" sql:"OAUTH_USE_SECONDARY_ROLES"`
}

type OauthForCustomClientsIntegrationUnsetRequest added in v0.92.0

type OauthForCustomClientsIntegrationUnsetRequest struct {
	Enabled                  *bool
	NetworkPolicy            *bool
	OauthClientRsaPublicKey  *bool
	OauthClientRsaPublicKey2 *bool
	OauthUseSecondaryRoles   *bool
}

func NewOauthForCustomClientsIntegrationUnsetRequest added in v0.92.0

func NewOauthForCustomClientsIntegrationUnsetRequest() *OauthForCustomClientsIntegrationUnsetRequest

func (*OauthForCustomClientsIntegrationUnsetRequest) WithEnabled added in v0.92.0

func (*OauthForCustomClientsIntegrationUnsetRequest) WithNetworkPolicy added in v0.92.0

func (*OauthForCustomClientsIntegrationUnsetRequest) WithOauthClientRsaPublicKey added in v0.92.0

func (s *OauthForCustomClientsIntegrationUnsetRequest) WithOauthClientRsaPublicKey(OauthClientRsaPublicKey bool) *OauthForCustomClientsIntegrationUnsetRequest

func (*OauthForCustomClientsIntegrationUnsetRequest) WithOauthClientRsaPublicKey2 added in v0.92.0

func (s *OauthForCustomClientsIntegrationUnsetRequest) WithOauthClientRsaPublicKey2(OauthClientRsaPublicKey2 bool) *OauthForCustomClientsIntegrationUnsetRequest

func (*OauthForCustomClientsIntegrationUnsetRequest) WithOauthUseSecondaryRoles added in v0.92.0

func (s *OauthForCustomClientsIntegrationUnsetRequest) WithOauthUseSecondaryRoles(OauthUseSecondaryRoles bool) *OauthForCustomClientsIntegrationUnsetRequest

type OauthForPartnerApplicationsIntegrationSet added in v0.92.0

type OauthForPartnerApplicationsIntegrationSet struct {
	Enabled                   *bool                                            `ddl:"parameter" sql:"ENABLED"`
	OauthIssueRefreshTokens   *bool                                            `ddl:"parameter" sql:"OAUTH_ISSUE_REFRESH_TOKENS"`
	OauthRedirectUri          *string                                          `ddl:"parameter,single_quotes" sql:"OAUTH_REDIRECT_URI"`
	OauthRefreshTokenValidity *int                                             `ddl:"parameter" sql:"OAUTH_REFRESH_TOKEN_VALIDITY"`
	OauthUseSecondaryRoles    *OauthSecurityIntegrationUseSecondaryRolesOption `ddl:"parameter" sql:"OAUTH_USE_SECONDARY_ROLES"`
	BlockedRolesList          *BlockedRolesList                                `ddl:"parameter,parentheses" sql:"BLOCKED_ROLES_LIST"`
	Comment                   *StringAllowEmpty                                `ddl:"parameter" sql:"COMMENT"`
}

type OauthForPartnerApplicationsIntegrationSetRequest added in v0.92.0

type OauthForPartnerApplicationsIntegrationSetRequest struct {
	Enabled                   *bool
	OauthIssueRefreshTokens   *bool
	OauthRedirectUri          *string
	OauthRefreshTokenValidity *int
	OauthUseSecondaryRoles    *OauthSecurityIntegrationUseSecondaryRolesOption
	BlockedRolesList          *BlockedRolesListRequest
	Comment                   *string
}

func NewOauthForPartnerApplicationsIntegrationSetRequest added in v0.92.0

func NewOauthForPartnerApplicationsIntegrationSetRequest() *OauthForPartnerApplicationsIntegrationSetRequest

func (*OauthForPartnerApplicationsIntegrationSetRequest) WithBlockedRolesList added in v0.92.0

func (*OauthForPartnerApplicationsIntegrationSetRequest) WithComment added in v0.92.0

func (*OauthForPartnerApplicationsIntegrationSetRequest) WithEnabled added in v0.92.0

func (*OauthForPartnerApplicationsIntegrationSetRequest) WithOauthIssueRefreshTokens added in v0.92.0

func (s *OauthForPartnerApplicationsIntegrationSetRequest) WithOauthIssueRefreshTokens(OauthIssueRefreshTokens bool) *OauthForPartnerApplicationsIntegrationSetRequest

func (*OauthForPartnerApplicationsIntegrationSetRequest) WithOauthRedirectUri added in v0.92.0

func (*OauthForPartnerApplicationsIntegrationSetRequest) WithOauthRefreshTokenValidity added in v0.92.0

func (s *OauthForPartnerApplicationsIntegrationSetRequest) WithOauthRefreshTokenValidity(OauthRefreshTokenValidity int) *OauthForPartnerApplicationsIntegrationSetRequest

func (*OauthForPartnerApplicationsIntegrationSetRequest) WithOauthUseSecondaryRoles added in v0.92.0

type OauthForPartnerApplicationsIntegrationUnset added in v0.92.0

type OauthForPartnerApplicationsIntegrationUnset struct {
	Enabled                *bool `ddl:"keyword" sql:"ENABLED"`
	OauthUseSecondaryRoles *bool `ddl:"keyword" sql:"OAUTH_USE_SECONDARY_ROLES"`
}

type OauthForPartnerApplicationsIntegrationUnsetRequest added in v0.92.0

type OauthForPartnerApplicationsIntegrationUnsetRequest struct {
	Enabled                *bool
	OauthUseSecondaryRoles *bool
}

func NewOauthForPartnerApplicationsIntegrationUnsetRequest added in v0.92.0

func NewOauthForPartnerApplicationsIntegrationUnsetRequest() *OauthForPartnerApplicationsIntegrationUnsetRequest

func (*OauthForPartnerApplicationsIntegrationUnsetRequest) WithEnabled added in v0.92.0

func (*OauthForPartnerApplicationsIntegrationUnsetRequest) WithOauthUseSecondaryRoles added in v0.92.0

type OauthScopesList added in v0.97.0

type OauthScopesList struct {
	OauthScopesList []ApiIntegrationScope `ddl:"list,must_parentheses"`
}

type OauthScopesListRequest added in v0.97.0

type OauthScopesListRequest struct {
	OauthScopesList []ApiIntegrationScope // required
}

func NewOauthScopesListRequest added in v0.97.0

func NewOauthScopesListRequest(
	OauthScopesList []ApiIntegrationScope,
) *OauthScopesListRequest

type OauthSecurityIntegrationClientOption added in v0.92.0

type OauthSecurityIntegrationClientOption string
const (
	OauthSecurityIntegrationClientLooker         OauthSecurityIntegrationClientOption = "LOOKER"
	OauthSecurityIntegrationClientTableauDesktop OauthSecurityIntegrationClientOption = "TABLEAU_DESKTOP"
	OauthSecurityIntegrationClientTableauServer  OauthSecurityIntegrationClientOption = "TABLEAU_SERVER"
)

func ToOauthSecurityIntegrationClientOption added in v0.93.0

func ToOauthSecurityIntegrationClientOption(s string) (OauthSecurityIntegrationClientOption, error)

type OauthSecurityIntegrationClientTypeOption added in v0.92.0

type OauthSecurityIntegrationClientTypeOption string
const (
	OauthSecurityIntegrationClientTypePublic       OauthSecurityIntegrationClientTypeOption = "PUBLIC"
	OauthSecurityIntegrationClientTypeConfidential OauthSecurityIntegrationClientTypeOption = "CONFIDENTIAL"
)

func ToOauthSecurityIntegrationClientTypeOption added in v0.93.0

func ToOauthSecurityIntegrationClientTypeOption(s string) (OauthSecurityIntegrationClientTypeOption, error)

type OauthSecurityIntegrationUseSecondaryRolesOption added in v0.92.0

type OauthSecurityIntegrationUseSecondaryRolesOption string
const (
	OauthSecurityIntegrationUseSecondaryRolesImplicit OauthSecurityIntegrationUseSecondaryRolesOption = "IMPLICIT"
	OauthSecurityIntegrationUseSecondaryRolesNone     OauthSecurityIntegrationUseSecondaryRolesOption = "NONE"
)

func ToOauthSecurityIntegrationUseSecondaryRolesOption added in v0.93.0

func ToOauthSecurityIntegrationUseSecondaryRolesOption(s string) (OauthSecurityIntegrationUseSecondaryRolesOption, error)

type Object added in v0.65.0

type Object struct {
	ObjectType ObjectType       `ddl:"keyword"`
	Name       ObjectIdentifier `ddl:"identifier"`
}

Object bundles together the object type and name. Its used for DDL statements.

type ObjectIdentifier

type ObjectIdentifier interface {
	Identifier
	FullyQualifiedName() string
}

func NewObjectIdentifierFromFullyQualifiedName added in v0.65.0

func NewObjectIdentifierFromFullyQualifiedName(fullyQualifiedName string) ObjectIdentifier

func ParseObjectIdentifierString added in v0.95.0

func ParseObjectIdentifierString(identifier string) (ObjectIdentifier, error)

ParseObjectIdentifierString tries to guess the identifier by the number of parts it contains. Because of the overlapping, in some cases, the output ObjectIdentifier can be one of the following implementations: - AccountObjectIdentifier for one part - DatabaseObjectIdentifier for two parts - SchemaObjectIdentifier for three parts (overlaps with ExternalObjectIdentifier) - TableColumnIdentifier for four parts

type ObjectParameter added in v0.65.0

type ObjectParameter string
const (
	// Object Parameters
	ObjectParameterDataRetentionTimeInDays                 ObjectParameter = "DATA_RETENTION_TIME_IN_DAYS"
	ObjectParameterDefaultDDLCollation                     ObjectParameter = "DEFAULT_DDL_COLLATION"
	ObjectParameterLogLevel                                ObjectParameter = "LOG_LEVEL"
	ObjectParameterMaxConcurrencyLevel                     ObjectParameter = "MAX_CONCURRENCY_LEVEL"
	ObjectParameterMaxDataExtensionTimeInDays              ObjectParameter = "MAX_DATA_EXTENSION_TIME_IN_DAYS"
	ObjectParameterPipeExecutionPaused                     ObjectParameter = "PIPE_EXECUTION_PAUSED"
	ObjectParameterPreventUnloadToInternalStages           ObjectParameter = "PREVENT_UNLOAD_TO_INTERNAL_STAGES" // also an account param
	ObjectParameterStatementQueuedTimeoutInSeconds         ObjectParameter = "STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"
	ObjectParameterStatementTimeoutInSeconds               ObjectParameter = "STATEMENT_TIMEOUT_IN_SECONDS"
	ObjectParameterNetworkPolicy                           ObjectParameter = "NETWORK_POLICY" // also an account param
	ObjectParameterShareRestrictions                       ObjectParameter = "SHARE_RESTRICTIONS"
	ObjectParameterSuspendTaskAfterNumFailures             ObjectParameter = "SUSPEND_TASK_AFTER_NUM_FAILURES"
	ObjectParameterTraceLevel                              ObjectParameter = "TRACE_LEVEL"
	ObjectParameterUserTaskManagedInitialWarehouseSize     ObjectParameter = "USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"
	ObjectParameterUserTaskTimeoutMs                       ObjectParameter = "USER_TASK_TIMEOUT_MS"
	ObjectParameterCatalog                                 ObjectParameter = "CATALOG"
	ObjectParameterExternalVolume                          ObjectParameter = "EXTERNAL_VOLUME"
	ObjectParameterReplaceInvalidCharacters                ObjectParameter = "REPLACE_INVALID_CHARACTERS"
	ObjectParameterStorageSerializationPolicy              ObjectParameter = "STORAGE_SERIALIZATION_POLICY"
	ObjectParameterTaskAutoRetryAttempts                   ObjectParameter = "TASK_AUTO_RETRY_ATTEMPTS"
	ObjectParameterUserTaskMinimumTriggerIntervalInSeconds ObjectParameter = "USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"
	ObjectParameterQuotedIdentifiersIgnoreCase             ObjectParameter = "QUOTED_IDENTIFIERS_IGNORE_CASE"
	ObjectParameterMetricLevel                             ObjectParameter = "METRIC_LEVEL"
	ObjectParameterEnableConsoleOutput                     ObjectParameter = "ENABLE_CONSOLE_OUTPUT"

	// User Parameters
	ObjectParameterEnableUnredactedQuerySyntaxError ObjectParameter = "ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR"
)

type ObjectParameters added in v0.65.0

type ObjectParameters struct {
	DataRetentionTimeInDays             *int           `ddl:"parameter" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	DefaultDDLCollation                 *string        `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	EnableUnredactedQuerySyntaxError    *bool          `ddl:"parameter" sql:"ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR"`
	LogLevel                            *LogLevel      `ddl:"parameter" sql:"LOG_LEVEL"`
	MaxConcurrencyLevel                 *int           `ddl:"parameter" sql:"MAX_CONCURRENCY_LEVEL"`
	MaxDataExtensionTimeInDays          *int           `ddl:"parameter" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	PipeExecutionPaused                 *bool          `ddl:"parameter" sql:"PIPE_EXECUTION_PAUSED"`
	PreventUnloadToInternalStages       *bool          `ddl:"parameter" sql:"PREVENT_UNLOAD_TO_INTERNAL_STAGES"`
	StatementQueuedTimeoutInSeconds     *int           `ddl:"parameter" sql:"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"`
	StatementTimeoutInSeconds           *int           `ddl:"parameter" sql:"STATEMENT_TIMEOUT_IN_SECONDS"`
	NetworkPolicy                       *string        `ddl:"parameter,single_quotes" sql:"NETWORK_POLICY"`
	ShareRestrictions                   *bool          `ddl:"parameter" sql:"SHARE_RESTRICTIONS"`
	SuspendTaskAfterNumFailures         *int           `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TraceLevel                          *TraceLevel    `ddl:"parameter" sql:"TRACE_LEVEL"`
	UserTaskManagedInitialWarehouseSize *WarehouseSize `ddl:"parameter" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                   *int           `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	Catalog                             *string        `ddl:"parameter" sql:"CATALOG"`
}

ObjectParameters is based on https://docs.snowflake.com/en/sql-reference/parameters#object-parameters.

type ObjectParametersUnset added in v0.65.0

type ObjectParametersUnset struct {
	DataRetentionTimeInDays             *bool `ddl:"keyword" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	DefaultDDLCollation                 *bool `ddl:"keyword" sql:"DEFAULT_DDL_COLLATION"`
	LogLevel                            *bool `ddl:"keyword" sql:"LOG_LEVEL"`
	MaxConcurrencyLevel                 *bool `ddl:"keyword" sql:"MAX_CONCURRENCY_LEVEL"`
	MaxDataExtensionTimeInDays          *bool `ddl:"keyword" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	PipeExecutionPaused                 *bool `ddl:"keyword" sql:"PIPE_EXECUTION_PAUSED"`
	PreventUnloadToInternalStages       *bool `ddl:"keyword" sql:"PREVENT_UNLOAD_TO_INTERNAL_STAGES"`
	StatementQueuedTimeoutInSeconds     *bool `ddl:"keyword" sql:"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"`
	StatementTimeoutInSeconds           *bool `ddl:"keyword" sql:"STATEMENT_TIMEOUT_IN_SECONDS"`
	NetworkPolicy                       *bool `ddl:"keyword" sql:"NETWORK_POLICY"`
	ShareRestrictions                   *bool `ddl:"keyword" sql:"SHARE_RESTRICTIONS"`
	SuspendTaskAfterNumFailures         *bool `ddl:"keyword" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TraceLevel                          *bool `ddl:"keyword" sql:"TRACE_LEVEL"`
	UserTaskManagedInitialWarehouseSize *bool `ddl:"keyword" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                   *bool `ddl:"keyword" sql:"USER_TASK_TIMEOUT_MS"`
}

type ObjectPrivilege added in v0.68.0

type ObjectPrivilege string
const (
	ObjectPrivilegeReferenceUsage ObjectPrivilege = "REFERENCE_USAGE"
	ObjectPrivilegeUsage          ObjectPrivilege = "USAGE"
	ObjectPrivilegeSelect         ObjectPrivilege = "SELECT"
	ObjectPrivilegeRead           ObjectPrivilege = "READ"
)

func (ObjectPrivilege) String added in v0.68.0

func (p ObjectPrivilege) String() string

type ObjectType

type ObjectType string

ObjectType is the type of object.

const (
	ObjectTypeAccount              ObjectType = "ACCOUNT"
	ObjectTypeManagedAccount       ObjectType = "MANAGED ACCOUNT"
	ObjectTypeUser                 ObjectType = "USER"
	ObjectTypeDatabaseRole         ObjectType = "DATABASE ROLE"
	ObjectTypeDataset              ObjectType = "DATASET"
	ObjectTypeRole                 ObjectType = "ROLE"
	ObjectTypeIntegration          ObjectType = "INTEGRATION"
	ObjectTypeNetworkPolicy        ObjectType = "NETWORK POLICY"
	ObjectTypePasswordPolicy       ObjectType = "PASSWORD POLICY"
	ObjectTypeSessionPolicy        ObjectType = "SESSION POLICY"
	ObjectTypeReplicationGroup     ObjectType = "REPLICATION GROUP"
	ObjectTypeFailoverGroup        ObjectType = "FAILOVER GROUP"
	ObjectTypeConnection           ObjectType = "CONNECTION"
	ObjectTypeParameter            ObjectType = "PARAMETER"
	ObjectTypeWarehouse            ObjectType = "WAREHOUSE"
	ObjectTypeResourceMonitor      ObjectType = "RESOURCE MONITOR"
	ObjectTypeDatabase             ObjectType = "DATABASE"
	ObjectTypeSchema               ObjectType = "SCHEMA"
	ObjectTypeShare                ObjectType = "SHARE"
	ObjectTypeTable                ObjectType = "TABLE"
	ObjectTypeDynamicTable         ObjectType = "DYNAMIC TABLE"
	ObjectTypeCortexSearchService  ObjectType = "CORTEX SEARCH SERVICE"
	ObjectTypeExternalTable        ObjectType = "EXTERNAL TABLE"
	ObjectTypeEventTable           ObjectType = "EVENT TABLE"
	ObjectTypeView                 ObjectType = "VIEW"
	ObjectTypeMaterializedView     ObjectType = "MATERIALIZED VIEW"
	ObjectTypeSequence             ObjectType = "SEQUENCE"
	ObjectTypeSnapshot             ObjectType = "SNAPSHOT"
	ObjectTypeFunction             ObjectType = "FUNCTION"
	ObjectTypeExternalFunction     ObjectType = "EXTERNAL FUNCTION"
	ObjectTypeProcedure            ObjectType = "PROCEDURE"
	ObjectTypeStream               ObjectType = "STREAM"
	ObjectTypeTask                 ObjectType = "TASK"
	ObjectTypeMaskingPolicy        ObjectType = "MASKING POLICY"
	ObjectTypeRowAccessPolicy      ObjectType = "ROW ACCESS POLICY"
	ObjectTypeTag                  ObjectType = "TAG"
	ObjectTypeSecret               ObjectType = "SECRET"
	ObjectTypeStage                ObjectType = "STAGE"
	ObjectTypeFileFormat           ObjectType = "FILE FORMAT"
	ObjectTypePipe                 ObjectType = "PIPE"
	ObjectTypeAlert                ObjectType = "ALERT"
	ObjectTypeApplication          ObjectType = "APPLICATION"
	ObjectTypeApplicationPackage   ObjectType = "APPLICATION PACKAGE"
	ObjectTypeApplicationRole      ObjectType = "APPLICATION ROLE"
	ObjectTypeStreamlit            ObjectType = "STREAMLIT"
	ObjectTypeColumn               ObjectType = "COLUMN"
	ObjectTypeIcebergTable         ObjectType = "ICEBERG TABLE"
	ObjectTypeExternalVolume       ObjectType = "EXTERNAL VOLUME"
	ObjectTypeNetworkRule          ObjectType = "NETWORK RULE"
	ObjectTypeNotebook             ObjectType = "NOTEBOOK"
	ObjectTypePackagesPolicy       ObjectType = "PACKAGES POLICY"
	ObjectTypeComputePool          ObjectType = "COMPUTE POOL"
	ObjectTypeAggregationPolicy    ObjectType = "AGGREGATION POLICY"
	ObjectTypeAuthenticationPolicy ObjectType = "AUTHENTICATION POLICY"
	ObjectTypeHybridTable          ObjectType = "HYBRID TABLE"
	ObjectTypeImageRepository      ObjectType = "IMAGE REPOSITORY"
	ObjectTypeProjectionPolicy     ObjectType = "PROJECTION POLICY"
	ObjectTypeDataMetricFunction   ObjectType = "DATA METRIC FUNCTION"
	ObjectTypeGitRepository        ObjectType = "GIT REPOSITORY"
	ObjectTypeModel                ObjectType = "MODEL"
	ObjectTypeService              ObjectType = "SERVICE"
)

func (ObjectType) GetObjectIdentifier added in v0.65.0

func (o ObjectType) GetObjectIdentifier(fullyQualifiedName string) ObjectIdentifier

GetObjectIdentifier returns the ObjectIdentifier for the ObjectType and fully qualified name.

func (ObjectType) IsWithArguments added in v0.95.0

func (o ObjectType) IsWithArguments() bool

func (ObjectType) Plural added in v0.65.0

func (o ObjectType) Plural() PluralObjectType

func (ObjectType) String

func (o ObjectType) String() string

type OnStream added in v0.74.0

type OnStream struct {
	At        *bool             `ddl:"keyword" sql:"AT"`
	Before    *bool             `ddl:"keyword" sql:"BEFORE"`
	Statement OnStreamStatement `ddl:"list,parentheses"`
}

type OnStreamRequest added in v0.74.0

type OnStreamRequest struct {
	At        *bool
	Before    *bool
	Statement OnStreamStatementRequest
}

func NewOnStreamRequest added in v0.74.0

func NewOnStreamRequest() *OnStreamRequest

func (*OnStreamRequest) WithAt added in v0.74.0

func (s *OnStreamRequest) WithAt(At bool) *OnStreamRequest

func (*OnStreamRequest) WithBefore added in v0.74.0

func (s *OnStreamRequest) WithBefore(Before bool) *OnStreamRequest

func (*OnStreamRequest) WithStatement added in v0.74.0

func (s *OnStreamRequest) WithStatement(Statement OnStreamStatementRequest) *OnStreamRequest

type OnStreamStatement added in v0.74.0

type OnStreamStatement struct {
	Timestamp *string `ddl:"parameter,single_quotes,arrow_equals" sql:"TIMESTAMP"`
	Offset    *string `ddl:"parameter,arrow_equals" sql:"OFFSET"`
	Statement *string `ddl:"parameter,single_quotes,arrow_equals" sql:"STATEMENT"`
	Stream    *string `ddl:"parameter,single_quotes,arrow_equals" sql:"STREAM"`
}

type OnStreamStatementRequest added in v0.74.0

type OnStreamStatementRequest struct {
	Timestamp *string
	Offset    *string
	Statement *string
	Stream    *string
}

func NewOnStreamStatementRequest added in v0.74.0

func NewOnStreamStatementRequest() *OnStreamStatementRequest

func (*OnStreamStatementRequest) WithOffset added in v0.74.0

func (*OnStreamStatementRequest) WithStatement added in v0.74.0

func (s *OnStreamStatementRequest) WithStatement(Statement string) *OnStreamStatementRequest

func (*OnStreamStatementRequest) WithStream added in v0.74.0

func (*OnStreamStatementRequest) WithTimestamp added in v0.74.0

func (s *OnStreamStatementRequest) WithTimestamp(Timestamp string) *OnStreamStatementRequest

type OnTable added in v0.65.0

type OnTable struct {
	Name        SchemaObjectIdentifier   `ddl:"identifier" sql:"TABLE"`
	AllInSchema DatabaseObjectIdentifier `ddl:"identifier" sql:"ALL TABLES IN SCHEMA"`
}

type OnView added in v0.65.0

type OnView struct {
	Name        SchemaObjectIdentifier   `ddl:"identifier" sql:"VIEW"`
	AllInSchema DatabaseObjectIdentifier `ddl:"identifier" sql:"ALL VIEWS IN SCHEMA"`
}

type OutOfLineConstraint added in v0.78.0

type OutOfLineConstraint struct {
	Name       *string              `ddl:"parameter,no_equals" sql:"CONSTRAINT"`
	Type       ColumnConstraintType `ddl:"keyword"`
	Columns    []string             `ddl:"keyword,parentheses"`
	ForeignKey *OutOfLineForeignKey `ddl:"keyword"`

	// optional
	Enforced           *bool `ddl:"keyword" sql:"ENFORCED"`
	NotEnforced        *bool `ddl:"keyword" sql:"NOT ENFORCED"`
	Deferrable         *bool `ddl:"keyword" sql:"DEFERRABLE"`
	NotDeferrable      *bool `ddl:"keyword" sql:"NOT DEFERRABLE"`
	InitiallyDeferred  *bool `ddl:"keyword" sql:"INITIALLY DEFERRED"`
	InitiallyImmediate *bool `ddl:"keyword" sql:"INITIALLY IMMEDIATE"`
	Enable             *bool `ddl:"keyword" sql:"ENABLE"`
	Disable            *bool `ddl:"keyword" sql:"DISABLE"`
	Validate           *bool `ddl:"keyword" sql:"VALIDATE"`
	NoValidate         *bool `ddl:"keyword" sql:"NOVALIDATE"`
	Rely               *bool `ddl:"keyword" sql:"RELY"`
	NoRely             *bool `ddl:"keyword" sql:"NORELY"`
}

OutOfLineConstraint is based on https://docs.snowflake.com/en/sql-reference/sql/create-table-constraint#out-of-line-unique-primary-foreign-key.

type OutOfLineConstraintRequest added in v0.78.0

type OutOfLineConstraintRequest struct {
	Name       *string
	Type       ColumnConstraintType // required
	Columns    []string
	ForeignKey *OutOfLineForeignKeyRequest

	// Optional
	Enforced           *bool
	NotEnforced        *bool
	Deferrable         *bool
	NotDeferrable      *bool
	InitiallyDeferred  *bool
	InitiallyImmediate *bool
	Enable             *bool
	Disable            *bool
	Validate           *bool
	NoValidate         *bool
	Rely               *bool
	NoRely             *bool
}

func NewOutOfLineConstraintRequest added in v0.78.0

func NewOutOfLineConstraintRequest(
	constraintType ColumnConstraintType,
) *OutOfLineConstraintRequest

func (*OutOfLineConstraintRequest) WithColumns added in v0.78.0

func (*OutOfLineConstraintRequest) WithDeferrable added in v0.78.0

func (s *OutOfLineConstraintRequest) WithDeferrable(deferrable *bool) *OutOfLineConstraintRequest

func (*OutOfLineConstraintRequest) WithDisable added in v0.78.0

func (*OutOfLineConstraintRequest) WithEnable added in v0.78.0

func (*OutOfLineConstraintRequest) WithEnforced added in v0.78.0

func (s *OutOfLineConstraintRequest) WithEnforced(enforced *bool) *OutOfLineConstraintRequest

func (*OutOfLineConstraintRequest) WithForeignKey added in v0.78.0

func (*OutOfLineConstraintRequest) WithInitiallyDeferred added in v0.78.0

func (s *OutOfLineConstraintRequest) WithInitiallyDeferred(initiallyDeferred *bool) *OutOfLineConstraintRequest

func (*OutOfLineConstraintRequest) WithInitiallyImmediate added in v0.78.0

func (s *OutOfLineConstraintRequest) WithInitiallyImmediate(initiallyImmediate *bool) *OutOfLineConstraintRequest

func (*OutOfLineConstraintRequest) WithName added in v0.86.0

func (*OutOfLineConstraintRequest) WithNoRely added in v0.78.0

func (*OutOfLineConstraintRequest) WithNoValidate added in v0.78.0

func (s *OutOfLineConstraintRequest) WithNoValidate(noValidate *bool) *OutOfLineConstraintRequest

func (*OutOfLineConstraintRequest) WithNotDeferrable added in v0.78.0

func (s *OutOfLineConstraintRequest) WithNotDeferrable(notDeferrable *bool) *OutOfLineConstraintRequest

func (*OutOfLineConstraintRequest) WithNotEnforced added in v0.78.0

func (s *OutOfLineConstraintRequest) WithNotEnforced(notEnforced *bool) *OutOfLineConstraintRequest

func (*OutOfLineConstraintRequest) WithRely added in v0.78.0

func (*OutOfLineConstraintRequest) WithValidate added in v0.78.0

func (s *OutOfLineConstraintRequest) WithValidate(validate *bool) *OutOfLineConstraintRequest

type OutOfLineForeignKey added in v0.78.0

type OutOfLineForeignKey struct {
	TableName   SchemaObjectIdentifier `ddl:"identifier"`
	ColumnNames []string               `ddl:"parameter,no_equals,parentheses"`
	Match       *MatchType             `ddl:"parameter,no_equals" sql:"MATCH"`
	On          *ForeignKeyOnAction    `ddl:"keyword"`
	// contains filtered or unexported fields
}

type OutOfLineForeignKeyRequest added in v0.78.0

type OutOfLineForeignKeyRequest struct {
	TableName   SchemaObjectIdentifier // required
	ColumnNames []string               // required
	Match       *MatchType
	On          *ForeignKeyOnAction
}

func NewOutOfLineForeignKeyRequest added in v0.78.0

func NewOutOfLineForeignKeyRequest(
	tableName SchemaObjectIdentifier,
	columnNames []string,
) *OutOfLineForeignKeyRequest

func (*OutOfLineForeignKeyRequest) WithMatch added in v0.78.0

func (*OutOfLineForeignKeyRequest) WithOn added in v0.78.0

type OwnershipCurrentGrants added in v0.72.0

type OwnershipCurrentGrants struct {
	OutboundPrivileges OwnershipCurrentGrantsOutboundPrivileges `ddl:"keyword"`
	// contains filtered or unexported fields
}

type OwnershipCurrentGrantsOutboundPrivileges added in v0.72.0

type OwnershipCurrentGrantsOutboundPrivileges string

type OwnershipGrantOn added in v0.72.0

type OwnershipGrantOn struct {
	// One of
	Object *Object                `ddl:"-"`
	All    *GrantOnSchemaObjectIn `ddl:"keyword" sql:"ALL"`
	Future *GrantOnSchemaObjectIn `ddl:"keyword" sql:"FUTURE"`
}

type OwnershipGrantTo added in v0.72.0

type OwnershipGrantTo struct {
	// One of
	DatabaseRoleName *DatabaseObjectIdentifier `ddl:"identifier" sql:"DATABASE ROLE"`
	AccountRoleName  *AccountObjectIdentifier  `ddl:"identifier" sql:"ROLE"`
}

type Parameter added in v0.65.0

type Parameter struct {
	Key         string
	Value       string
	Default     string
	Level       ParameterType
	Description string
}

type ParameterType added in v0.65.0

type ParameterType string
const (
	ParameterTypeSnowflakeDefault ParameterType = ""
	ParameterTypeAccount          ParameterType = "ACCOUNT"
	ParameterTypeUser             ParameterType = "USER"
	ParameterTypeSession          ParameterType = "SESSION"
	ParameterTypeObject           ParameterType = "OBJECT"
	ParameterTypeWarehouse        ParameterType = "WAREHOUSE"
	ParameterTypeDatabase         ParameterType = "DATABASE"
	ParameterTypeSchema           ParameterType = "SCHEMA"
	ParameterTypeTask             ParameterType = "TASK"
)

type Parameters added in v0.71.0

type Parameters interface {
	SetAccountParameter(ctx context.Context, parameter AccountParameter, value string) error
	SetSessionParameterOnAccount(ctx context.Context, parameter SessionParameter, value string) error
	SetSessionParameterOnUser(ctx context.Context, userID AccountObjectIdentifier, parameter SessionParameter, value string) error
	SetObjectParameterOnAccount(ctx context.Context, parameter ObjectParameter, value string) error
	SetObjectParameterOnObject(ctx context.Context, object Object, parameter ObjectParameter, value string) error
	ShowParameters(ctx context.Context, opts *ShowParametersOptions) ([]*Parameter, error)
	ShowAccountParameter(ctx context.Context, parameter AccountParameter) (*Parameter, error)
	ShowSessionParameter(ctx context.Context, parameter SessionParameter) (*Parameter, error)
	ShowUserParameter(ctx context.Context, parameter UserParameter, user AccountObjectIdentifier) (*Parameter, error)
	ShowObjectParameter(ctx context.Context, parameter ObjectParameter, object Object) (*Parameter, error)
}

type ParametersIn added in v0.65.0

type ParametersIn struct {
	Session   *bool                    `ddl:"keyword" sql:"SESSION"`
	Account   *bool                    `ddl:"keyword" sql:"ACCOUNT"`
	User      AccountObjectIdentifier  `ddl:"identifier" sql:"USER"`
	Warehouse AccountObjectIdentifier  `ddl:"identifier" sql:"WAREHOUSE"`
	Database  AccountObjectIdentifier  `ddl:"identifier" sql:"DATABASE"`
	Schema    DatabaseObjectIdentifier `ddl:"identifier" sql:"SCHEMA"`
	Task      SchemaObjectIdentifier   `ddl:"identifier" sql:"TASK"`
	Table     SchemaObjectIdentifier   `ddl:"identifier" sql:"TABLE"`
}

type ParquetCompression added in v0.68.0

type ParquetCompression string
var (
	ParquetCompressionAuto   ParquetCompression = "AUTO"
	ParquetCompressionLzo    ParquetCompression = "LZO"
	ParquetCompressionSnappy ParquetCompression = "SNAPPY"
	ParquetCompressionNone   ParquetCompression = "NONE"
)

type Partition added in v0.72.0

type Partition struct {
	ColumnName string `ddl:"keyword"`
	Value      string `ddl:"parameter,single_quotes"`
}

type PartitionRequest added in v0.72.0

type PartitionRequest struct {
	// contains filtered or unexported fields
}

func NewPartitionRequest added in v0.72.0

func NewPartitionRequest(
	columnName string,
	value string,
) *PartitionRequest

type PasswordPolicy

type PasswordPolicy struct {
	CreatedOn     time.Time
	Name          string
	DatabaseName  string
	SchemaName    string
	Kind          string
	Owner         string
	Comment       string
	OwnerRoleType string
}

PasswordPolicy is a user-friendly result for a CREATE PASSWORD POLICY query.

func (*PasswordPolicy) ID

func (*PasswordPolicy) ObjectType added in v0.65.0

func (v *PasswordPolicy) ObjectType() ObjectType

type PasswordPolicyDetails

type PasswordPolicyDetails struct {
	Name                      *StringProperty
	Owner                     *StringProperty
	Comment                   *StringProperty
	PasswordMinLength         *IntProperty
	PasswordMaxLength         *IntProperty
	PasswordMinUpperCaseChars *IntProperty
	PasswordMinLowerCaseChars *IntProperty
	PasswordMinNumericChars   *IntProperty
	PasswordMinSpecialChars   *IntProperty
	PasswordMinAgeDays        *IntProperty
	PasswordMaxAgeDays        *IntProperty
	PasswordMaxRetries        *IntProperty
	PasswordLockoutTimeMins   *IntProperty
	PasswordHistory           *IntProperty
}

type PasswordPolicySet

type PasswordPolicySet struct {
	PasswordMinLength         *int    `ddl:"parameter" sql:"PASSWORD_MIN_LENGTH"`
	PasswordMaxLength         *int    `ddl:"parameter" sql:"PASSWORD_MAX_LENGTH"`
	PasswordMinUpperCaseChars *int    `ddl:"parameter" sql:"PASSWORD_MIN_UPPER_CASE_CHARS"`
	PasswordMinLowerCaseChars *int    `ddl:"parameter" sql:"PASSWORD_MIN_LOWER_CASE_CHARS"`
	PasswordMinNumericChars   *int    `ddl:"parameter" sql:"PASSWORD_MIN_NUMERIC_CHARS"`
	PasswordMinSpecialChars   *int    `ddl:"parameter" sql:"PASSWORD_MIN_SPECIAL_CHARS"`
	PasswordMinAgeDays        *int    `ddl:"parameter" sql:"PASSWORD_MIN_AGE_DAYS"`
	PasswordMaxAgeDays        *int    `ddl:"parameter" sql:"PASSWORD_MAX_AGE_DAYS"`
	PasswordMaxRetries        *int    `ddl:"parameter" sql:"PASSWORD_MAX_RETRIES"`
	PasswordLockoutTimeMins   *int    `ddl:"parameter" sql:"PASSWORD_LOCKOUT_TIME_MINS"`
	PasswordHistory           *int    `ddl:"parameter" sql:"PASSWORD_HISTORY"`
	Comment                   *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type PasswordPolicyUnset

type PasswordPolicyUnset struct {
	PasswordMinLength         *bool `ddl:"keyword" sql:"PASSWORD_MIN_LENGTH"`
	PasswordMaxLength         *bool `ddl:"keyword" sql:"PASSWORD_MAX_LENGTH"`
	PasswordMinUpperCaseChars *bool `ddl:"keyword" sql:"PASSWORD_MIN_UPPER_CASE_CHARS"`
	PasswordMinLowerCaseChars *bool `ddl:"keyword" sql:"PASSWORD_MIN_LOWER_CASE_CHARS"`
	PasswordMinNumericChars   *bool `ddl:"keyword" sql:"PASSWORD_MIN_NUMERIC_CHARS"`
	PasswordMinSpecialChars   *bool `ddl:"keyword" sql:"PASSWORD_MIN_SPECIAL_CHARS"`
	PasswordMinAgeDays        *bool `ddl:"keyword" sql:"PASSWORD_MIN_AGE_DAYS"`
	PasswordMaxAgeDays        *bool `ddl:"keyword" sql:"PASSWORD_MAX_AGE_DAYS"`
	PasswordMaxRetries        *bool `ddl:"keyword" sql:"PASSWORD_MAX_RETRIES"`
	PasswordLockoutTimeMins   *bool `ddl:"keyword" sql:"PASSWORD_LOCKOUT_TIME_MINS"`
	PasswordHistory           *bool `ddl:"keyword" sql:"PASSWORD_HISTORY"`
	Comment                   *bool `ddl:"keyword" sql:"COMMENT"`
}

type Pipe added in v0.70.0

type Pipe struct {
	CreatedOn           string
	Name                string
	DatabaseName        string
	SchemaName          string
	Definition          string
	Owner               string
	NotificationChannel string
	Comment             string
	Integration         string
	Pattern             string
	ErrorIntegration    string
	OwnerRoleType       string
	InvalidReason       string
}

Pipe is a user-friendly result for a SHOW PIPES and DESCRIBE PIPE queries.

Based on https://docs.snowflake.com/en/sql-reference/sql/show-pipes#output and https://docs.snowflake.com/en/sql-reference/sql/desc-pipe#output.

func (*Pipe) ID added in v0.70.0

func (v *Pipe) ID() SchemaObjectIdentifier

func (*Pipe) ObjectType added in v0.70.0

func (v *Pipe) ObjectType() ObjectType

type PipeExecutionState added in v0.88.0

type PipeExecutionState string
const (
	FailingOverPipeExecutionState                           PipeExecutionState = "FAILING_OVER"
	PausedPipeExecutionState                                PipeExecutionState = "PAUSED"
	ReadOnlyPipeExecutionState                              PipeExecutionState = "READ_ONLY"
	RunningPipeExecutionState                               PipeExecutionState = "RUNNING"
	StoppedBySnowflakeAdminPipeExecutionState               PipeExecutionState = "STOPPED_BY_SNOWFLAKE_ADMIN"
	StoppedClonedPipeExecutionState                         PipeExecutionState = "STOPPED_CLONED"
	StoppedFeatureDisabledPipeExecutionState                PipeExecutionState = "STOPPED_FEATURE_DISABLED"
	StoppedStageAlteredPipeExecutionState                   PipeExecutionState = "STOPPED_STAGE_ALTERED"
	StoppedStageDroppedPipeExecutionState                   PipeExecutionState = "STOPPED_STAGE_DROPPED"
	StoppedFileFormatDroppedPipeExecutionState              PipeExecutionState = "STOPPED_FILE_FORMAT_DROPPED"
	StoppedNotificationIntegrationDroppedPipeExecutionState PipeExecutionState = "STOPPED_NOTIFICATION_INTEGRATION_DROPPED"
	StoppedMissingPipePipeExecutionState                    PipeExecutionState = "STOPPED_MISSING_PIPE"
	StoppedMissingTablePipeExecutionState                   PipeExecutionState = "STOPPED_MISSING_TABLE"
	StalledCompilationErrorPipeExecutionState               PipeExecutionState = "STALLED_COMPILATION_ERROR"
	StalledInitializationErrorPipeExecutionState            PipeExecutionState = "STALLED_INITIALIZATION_ERROR"
	StalledExecutionErrorPipeExecutionState                 PipeExecutionState = "STALLED_EXECUTION_ERROR"
	StalledInternalErrorPipeExecutionState                  PipeExecutionState = "STALLED_INTERNAL_ERROR"
	StalledStagePermissionErrorPipeExecutionState           PipeExecutionState = "STALLED_STAGE_PERMISSION_ERROR"
)

type PipeRefresh added in v0.70.0

type PipeRefresh struct {
	Prefix        *string `ddl:"parameter,single_quotes" sql:"PREFIX"`
	ModifiedAfter *string `ddl:"parameter,single_quotes" sql:"MODIFIED_AFTER"`
}

type PipeSet added in v0.70.0

type PipeSet struct {
	ErrorIntegration    *string `ddl:"parameter,no_quotes" sql:"ERROR_INTEGRATION"`
	PipeExecutionPaused *bool   `ddl:"parameter" sql:"PIPE_EXECUTION_PAUSED"`
	Comment             *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type PipeUnset added in v0.70.0

type PipeUnset struct {
	ErrorIntegration    *bool `ddl:"keyword" sql:"ERROR_INTEGRATION"`
	PipeExecutionPaused *bool `ddl:"keyword" sql:"PIPE_EXECUTION_PAUSED"`
	Comment             *bool `ddl:"keyword" sql:"COMMENT"`
}

type Pipes added in v0.70.0

type Pipes interface {
	Create(ctx context.Context, id SchemaObjectIdentifier, copyStatement string, opts *CreatePipeOptions) error
	Alter(ctx context.Context, id SchemaObjectIdentifier, opts *AlterPipeOptions) error
	Drop(ctx context.Context, id SchemaObjectIdentifier, opts *DropPipeOptions) error
	Show(ctx context.Context, opts *ShowPipeOptions) ([]Pipe, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*Pipe, error)
	Describe(ctx context.Context, id SchemaObjectIdentifier) (*Pipe, error)
}

type PluralObjectType added in v0.65.0

type PluralObjectType string
const (
	PluralObjectTypeAccounts               PluralObjectType = "ACCOUNTS"
	PluralObjectTypeManagedAccounts        PluralObjectType = "MANAGED ACCOUNTS"
	PluralObjectTypeUsers                  PluralObjectType = "USERS"
	PluralObjectTypeDatabaseRoles          PluralObjectType = "DATABASE ROLES"
	PluralObjectTypeDatasets               PluralObjectType = "DATASETS"
	PluralObjectTypeRoles                  PluralObjectType = "ROLES"
	PluralObjectTypeIntegrations           PluralObjectType = "INTEGRATIONS"
	PluralObjectTypeNetworkPolicies        PluralObjectType = "NETWORK POLICIES"
	PluralObjectTypePasswordPolicies       PluralObjectType = "PASSWORD POLICIES"
	PluralObjectTypeSessionPolicies        PluralObjectType = "SESSION POLICIES"
	PluralObjectTypeReplicationGroups      PluralObjectType = "REPLICATION GROUPS"
	PluralObjectTypeFailoverGroups         PluralObjectType = "FAILOVER GROUPS"
	PluralObjectTypeConnections            PluralObjectType = "CONNECTIONS"
	PluralObjectTypeParameters             PluralObjectType = "PARAMETERS"
	PluralObjectTypeWarehouses             PluralObjectType = "WAREHOUSES"
	PluralObjectTypeResourceMonitors       PluralObjectType = "RESOURCE MONITORS"
	PluralObjectTypeDatabases              PluralObjectType = "DATABASES"
	PluralObjectTypeSchemas                PluralObjectType = "SCHEMAS"
	PluralObjectTypeShares                 PluralObjectType = "SHARES"
	PluralObjectTypeTables                 PluralObjectType = "TABLES"
	PluralObjectTypeDynamicTables          PluralObjectType = "DYNAMIC TABLES"
	PluralObjectTypeCortexSearchServices   PluralObjectType = "CORTEX SEARCH SERVICES"
	PluralObjectTypeExternalTables         PluralObjectType = "EXTERNAL TABLES"
	PluralObjectTypeEventTables            PluralObjectType = "EVENT TABLES"
	PluralObjectTypeViews                  PluralObjectType = "VIEWS"
	PluralObjectTypeMaterializedViews      PluralObjectType = "MATERIALIZED VIEWS"
	PluralObjectTypeSequences              PluralObjectType = "SEQUENCES"
	PluralObjectTypeSnapshots              PluralObjectType = "SNAPSHOTS"
	PluralObjectTypeFunctions              PluralObjectType = "FUNCTIONS"
	PluralObjectTypeExternalFunctions      PluralObjectType = "EXTERNAL FUNCTIONS"
	PluralObjectTypeProcedures             PluralObjectType = "PROCEDURES"
	PluralObjectTypeStreams                PluralObjectType = "STREAMS"
	PluralObjectTypeTasks                  PluralObjectType = "TASKS"
	PluralObjectTypeMaskingPolicies        PluralObjectType = "MASKING POLICIES"
	PluralObjectTypeRowAccessPolicies      PluralObjectType = "ROW ACCESS POLICIES"
	PluralObjectTypeTags                   PluralObjectType = "TAGS"
	PluralObjectTypeSecrets                PluralObjectType = "SECRETS"
	PluralObjectTypeStages                 PluralObjectType = "STAGES"
	PluralObjectTypeFileFormats            PluralObjectType = "FILE FORMATS"
	PluralObjectTypePipes                  PluralObjectType = "PIPES"
	PluralObjectTypeAlerts                 PluralObjectType = "ALERTS"
	PluralObjectTypeApplications           PluralObjectType = "APPLICATIONS"
	PluralObjectTypeApplicationPackages    PluralObjectType = "APPLICATION PACKAGES"
	PluralObjectTypeApplicationRoles       PluralObjectType = "APPLICATION ROLES"
	PluralObjectTypeStreamlits             PluralObjectType = "STREAMLITS"
	PluralObjectTypeIcebergTables          PluralObjectType = "ICEBERG TABLES"
	PluralObjectTypeExternalVolumes        PluralObjectType = "EXTERNAL VOLUMES"
	PluralObjectTypeNetworkRules           PluralObjectType = "NETWORK RULES"
	PluralObjectTypeNotebooks              PluralObjectType = "NOTEBOOKS"
	PluralObjectTypePackagesPolicies       PluralObjectType = "PACKAGES POLICIES"
	PluralObjectTypeComputePool            PluralObjectType = "COMPUTE POOLS"
	PluralObjectTypeAggregationPolicies    PluralObjectType = "AGGREGATION POLICIES"
	PluralObjectTypeAuthenticationPolicies PluralObjectType = "AUTHENTICATION POLICIES"
	PluralObjectTypeHybridTables           PluralObjectType = "HYBRID TABLES"
	PluralObjectTypeImageRepositories      PluralObjectType = "IMAGE REPOSITORIES"
	PluralObjectTypeProjectionPolicies     PluralObjectType = "PROJECTION POLICIES"
	PluralObjectTypeDataMetricFunctions    PluralObjectType = "DATA METRIC FUNCTIONS"
	PluralObjectTypeGitRepositories        PluralObjectType = "GIT REPOSITORIES"
	PluralObjectTypeModels                 PluralObjectType = "MODELS"
	PluralObjectTypeServices               PluralObjectType = "SERVICES"
)

func (PluralObjectType) Singular added in v0.65.0

func (p PluralObjectType) Singular() ObjectType

func (PluralObjectType) String added in v0.65.0

func (p PluralObjectType) String() string

type PolicyEntityDomain added in v0.86.0

type PolicyEntityDomain string
const (
	PolicyEntityDomainAccount     PolicyEntityDomain = "ACCOUNT"
	PolicyEntityDomainIntegration PolicyEntityDomain = "INTEGRATION"
	PolicyEntityDomainTable       PolicyEntityDomain = "TABLE"
	PolicyEntityDomainTag         PolicyEntityDomain = "TAG"
	PolicyEntityDomainUser        PolicyEntityDomain = "USER"
	PolicyEntityDomainView        PolicyEntityDomain = "VIEW"
)

func ToPolicyEntityDomain added in v0.95.0

func ToPolicyEntityDomain(s string) (PolicyEntityDomain, error)

type PolicyKind added in v0.95.0

type PolicyKind string
const (
	PolicyKindAggregationPolicy    PolicyKind = "AGGREGATION_POLICY"
	PolicyKindRowAccessPolicy      PolicyKind = "ROW_ACCESS_POLICY"
	PolicyKindPasswordPolicy       PolicyKind = "PASSWORD_POLICY"
	PolicyKindMaskingPolicy        PolicyKind = "MASKING_POLICY"
	PolicyKindProjectionPolicy     PolicyKind = "PROJECTION_POLICY"
	PolicyKindAuthenticationPolicy PolicyKind = "AUTHENTICATION_POLICY"
)

type PolicyReference added in v0.86.0

type PolicyReference struct {
	PolicyDb          *string
	PolicySchema      *string
	PolicyName        string
	PolicyKind        PolicyKind
	RefDatabaseName   *string
	RefSchemaName     *string
	RefEntityName     string
	RefEntityDomain   string
	RefColumnName     *string
	RefArgColumnNames *string
	TagDatabase       *string
	TagSchema         *string
	TagName           *string
	PolicyStatus      *string
}

type PolicyReferences added in v0.86.0

type PolicyReferences interface {
	GetForEntity(ctx context.Context, request *GetForEntityPolicyReferenceRequest) ([]PolicyReference, error)
}

type PreAuthorizedRolesList added in v0.92.0

type PreAuthorizedRolesList struct {
	PreAuthorizedRolesList []AccountObjectIdentifier `ddl:"list,must_parentheses"`
}

type PreAuthorizedRolesListRequest added in v0.92.0

type PreAuthorizedRolesListRequest struct {
	PreAuthorizedRolesList []AccountObjectIdentifier
}

func NewPreAuthorizedRolesListRequest added in v0.92.0

func NewPreAuthorizedRolesListRequest() *PreAuthorizedRolesListRequest

func (*PreAuthorizedRolesListRequest) WithPreAuthorizedRolesList added in v0.92.0

func (s *PreAuthorizedRolesListRequest) WithPreAuthorizedRolesList(PreAuthorizedRolesList []AccountObjectIdentifier) *PreAuthorizedRolesListRequest

type Procedure added in v0.79.0

type Procedure struct {
	CreatedOn          string
	Name               string
	SchemaName         string
	IsBuiltin          bool
	IsAggregate        bool
	IsAnsi             bool
	MinNumArguments    int
	MaxNumArguments    int
	Arguments          []DataType
	ArgumentsRaw       string
	Description        string
	CatalogName        string
	IsTableFunction    bool
	ValidForClustering bool
	IsSecure           bool
}

func (*Procedure) ID added in v0.89.0

type ProcedureArgument added in v0.79.0

type ProcedureArgument struct {
	ArgName      string   `ddl:"keyword,no_quotes"`
	ArgDataType  DataType `ddl:"keyword,no_quotes"`
	DefaultValue *string  `ddl:"parameter,no_equals" sql:"DEFAULT"`
}

type ProcedureArgumentRequest added in v0.79.0

type ProcedureArgumentRequest struct {
	ArgName      string   // required
	ArgDataType  DataType // required
	DefaultValue *string
}

func NewProcedureArgumentRequest added in v0.79.0

func NewProcedureArgumentRequest(
	ArgName string,
	ArgDataType DataType,
) *ProcedureArgumentRequest

func (*ProcedureArgumentRequest) WithDefaultValue added in v0.79.0

func (s *ProcedureArgumentRequest) WithDefaultValue(DefaultValue string) *ProcedureArgumentRequest

type ProcedureColumn added in v0.79.0

type ProcedureColumn struct {
	ColumnName     string   `ddl:"keyword,no_quotes"`
	ColumnDataType DataType `ddl:"keyword,no_quotes"`
}

type ProcedureColumnRequest added in v0.79.0

type ProcedureColumnRequest struct {
	ColumnName     string   // required
	ColumnDataType DataType // required
}

func NewProcedureColumnRequest added in v0.79.0

func NewProcedureColumnRequest(
	ColumnName string,
	ColumnDataType DataType,
) *ProcedureColumnRequest

type ProcedureDetail added in v0.79.0

type ProcedureDetail struct {
	Property string
	Value    string
}

type ProcedureImport added in v0.79.0

type ProcedureImport struct {
	Import string `ddl:"keyword,single_quotes"`
}

type ProcedureImportRequest added in v0.79.0

type ProcedureImportRequest struct {
	Import string // required
}

func NewProcedureImportRequest added in v0.79.0

func NewProcedureImportRequest(
	Import string,
) *ProcedureImportRequest

type ProcedurePackage added in v0.79.0

type ProcedurePackage struct {
	Package string `ddl:"keyword,single_quotes"`
}

type ProcedurePackageRequest added in v0.79.0

type ProcedurePackageRequest struct {
	Package string // required
}

func NewProcedurePackageRequest added in v0.79.0

func NewProcedurePackageRequest(
	Package string,
) *ProcedurePackageRequest

type ProcedureReturns added in v0.79.0

type ProcedureReturns struct {
	ResultDataType *ProcedureReturnsResultDataType `ddl:"keyword"`
	Table          *ProcedureReturnsTable          `ddl:"keyword" sql:"TABLE"`
}

type ProcedureReturnsRequest added in v0.79.0

type ProcedureReturnsRequest struct {
	ResultDataType *ProcedureReturnsResultDataTypeRequest
	Table          *ProcedureReturnsTableRequest
}

func NewProcedureReturnsRequest added in v0.79.0

func NewProcedureReturnsRequest() *ProcedureReturnsRequest

func (*ProcedureReturnsRequest) WithResultDataType added in v0.79.0

func (*ProcedureReturnsRequest) WithTable added in v0.79.0

type ProcedureReturnsResultDataType added in v0.79.0

type ProcedureReturnsResultDataType struct {
	ResultDataType DataType `ddl:"keyword,no_quotes"`
	Null           *bool    `ddl:"keyword" sql:"NULL"`
	NotNull        *bool    `ddl:"keyword" sql:"NOT NULL"`
}

type ProcedureReturnsResultDataTypeRequest added in v0.79.0

type ProcedureReturnsResultDataTypeRequest struct {
	ResultDataType DataType // required
	Null           *bool
	NotNull        *bool
}

func NewProcedureReturnsResultDataTypeRequest added in v0.79.0

func NewProcedureReturnsResultDataTypeRequest(
	ResultDataType DataType,
) *ProcedureReturnsResultDataTypeRequest

func (*ProcedureReturnsResultDataTypeRequest) WithNotNull added in v0.79.0

func (*ProcedureReturnsResultDataTypeRequest) WithNull added in v0.79.0

type ProcedureReturnsTable added in v0.79.0

type ProcedureReturnsTable struct {
	Columns []ProcedureColumn `ddl:"list,must_parentheses"`
}

type ProcedureReturnsTableRequest added in v0.79.0

type ProcedureReturnsTableRequest struct {
	Columns []ProcedureColumnRequest
}

func NewProcedureReturnsTableRequest added in v0.79.0

func NewProcedureReturnsTableRequest() *ProcedureReturnsTableRequest

func (*ProcedureReturnsTableRequest) WithColumns added in v0.79.0

type ProcedureSQLReturns added in v0.79.0

type ProcedureSQLReturns struct {
	ResultDataType *ProcedureReturnsResultDataType `ddl:"keyword"`
	Table          *ProcedureReturnsTable          `ddl:"keyword" sql:"TABLE"`
	NotNull        *bool                           `ddl:"keyword" sql:"NOT NULL"`
}

type ProcedureSQLReturnsRequest added in v0.79.0

type ProcedureSQLReturnsRequest struct {
	ResultDataType *ProcedureReturnsResultDataTypeRequest
	Table          *ProcedureReturnsTableRequest
	NotNull        *bool
}

func NewProcedureSQLReturnsRequest added in v0.79.0

func NewProcedureSQLReturnsRequest() *ProcedureSQLReturnsRequest

func (*ProcedureSQLReturnsRequest) WithNotNull added in v0.79.0

func (*ProcedureSQLReturnsRequest) WithResultDataType added in v0.79.0

func (*ProcedureSQLReturnsRequest) WithTable added in v0.79.0

type ProcedureWithClause added in v0.85.0

type ProcedureWithClause struct {
	CteName    AccountObjectIdentifier `ddl:"identifier"`
	CteColumns []string                `ddl:"keyword,parentheses"`
	Statement  string                  `ddl:"parameter,no_quotes,no_equals" sql:"AS"`
	// contains filtered or unexported fields
}

type ProcedureWithClauseRequest added in v0.85.0

type ProcedureWithClauseRequest struct {
	CteName    AccountObjectIdentifier // required
	CteColumns []string
	Statement  string // required
}

func NewProcedureWithClauseRequest added in v0.85.0

func NewProcedureWithClauseRequest(
	CteName AccountObjectIdentifier,
	Statement string,
) *ProcedureWithClauseRequest

func (*ProcedureWithClauseRequest) WithCteColumns added in v0.85.0

func (s *ProcedureWithClauseRequest) WithCteColumns(CteColumns []string) *ProcedureWithClauseRequest

type Procedures added in v0.79.0

type Procedures interface {
	CreateForJava(ctx context.Context, request *CreateForJavaProcedureRequest) error
	CreateForJavaScript(ctx context.Context, request *CreateForJavaScriptProcedureRequest) error
	CreateForPython(ctx context.Context, request *CreateForPythonProcedureRequest) error
	CreateForScala(ctx context.Context, request *CreateForScalaProcedureRequest) error
	CreateForSQL(ctx context.Context, request *CreateForSQLProcedureRequest) error
	Alter(ctx context.Context, request *AlterProcedureRequest) error
	Drop(ctx context.Context, request *DropProcedureRequest) error
	Show(ctx context.Context, request *ShowProcedureRequest) ([]Procedure, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifierWithArguments) (*Procedure, error)
	Describe(ctx context.Context, id SchemaObjectIdentifierWithArguments) ([]ProcedureDetail, error)
	Call(ctx context.Context, request *CallProcedureRequest) error
	CreateAndCallForJava(ctx context.Context, request *CreateAndCallForJavaProcedureRequest) error
	CreateAndCallForScala(ctx context.Context, request *CreateAndCallForScalaProcedureRequest) error
	CreateAndCallForJavaScript(ctx context.Context, request *CreateAndCallForJavaScriptProcedureRequest) error
	CreateAndCallForPython(ctx context.Context, request *CreateAndCallForPythonProcedureRequest) error
	CreateAndCallForSQL(ctx context.Context, request *CreateAndCallForSQLProcedureRequest) error
}

type PushNotificationParams added in v0.85.0

type PushNotificationParams struct {
	AmazonPushParams *AmazonPushParams `ddl:"keyword"`
	GooglePushParams *GooglePushParams `ddl:"keyword"`
	AzurePushParams  *AzurePushParams  `ddl:"keyword"`
	// contains filtered or unexported fields
}

type PushNotificationParamsRequest added in v0.85.0

type PushNotificationParamsRequest struct {
	AmazonPushParams *AmazonPushParamsRequest
	GooglePushParams *GooglePushParamsRequest
	AzurePushParams  *AzurePushParamsRequest
}

func NewPushNotificationParamsRequest added in v0.85.0

func NewPushNotificationParamsRequest() *PushNotificationParamsRequest

func (*PushNotificationParamsRequest) WithAmazonPushParams added in v0.85.0

func (s *PushNotificationParamsRequest) WithAmazonPushParams(AmazonPushParams *AmazonPushParamsRequest) *PushNotificationParamsRequest

func (*PushNotificationParamsRequest) WithAzurePushParams added in v0.85.0

func (*PushNotificationParamsRequest) WithGooglePushParams added in v0.85.0

func (s *PushNotificationParamsRequest) WithGooglePushParams(GooglePushParams *GooglePushParamsRequest) *PushNotificationParamsRequest

type RawFileFormat added in v0.80.0

type RawFileFormat struct {
	Format string `ddl:"keyword"`
}

type ReclusterState added in v0.78.0

type ReclusterState string
const (
	ReclusterStateResume  ReclusterState = "RESUME"
	ReclusterStateSuspend ReclusterState = "SUSPEND"
)

type RefreshExternalTable added in v0.72.0

type RefreshExternalTable struct {
	Path string `ddl:"parameter,no_equals,single_quotes"`
}

type RefreshExternalTableRequest added in v0.72.0

type RefreshExternalTableRequest struct {
	// contains filtered or unexported fields
}

func NewRefreshExternalTableRequest added in v0.72.0

func NewRefreshExternalTableRequest(
	path string,
) *RefreshExternalTableRequest

type Region added in v0.65.0

type Region struct {
	RegionGroup     string
	SnowflakeRegion string
	CloudType       CloudType
	Region          string
	DisplayName     string
}

type RemoveDelegatedAuthorization added in v0.70.0

type RemoveDelegatedAuthorization struct {
	// one of
	Role           *string `ddl:"parameter,no_equals" sql:"REMOVE DELEGATED AUTHORIZATION OF ROLE"`
	Authorizations *bool   `ddl:"parameter,no_equals" sql:"REMOVE DELEGATED AUTHORIZATIONS"`

	Integration string `ddl:"parameter,no_equals" sql:"FROM SECURITY INTEGRATION"`
}

type RemoveNetworkRule added in v0.89.0

type RemoveNetworkRule struct {
	AllowedNetworkRuleList []SchemaObjectIdentifier `ddl:"parameter,parentheses" sql:"ALLOWED_NETWORK_RULE_LIST"`
	BlockedNetworkRuleList []SchemaObjectIdentifier `ddl:"parameter,parentheses" sql:"BLOCKED_NETWORK_RULE_LIST"`
}

type RemoveNetworkRuleRequest added in v0.89.0

type RemoveNetworkRuleRequest struct {
	AllowedNetworkRuleList []SchemaObjectIdentifier
	BlockedNetworkRuleList []SchemaObjectIdentifier
}

func NewRemoveNetworkRuleRequest added in v0.89.0

func NewRemoveNetworkRuleRequest() *RemoveNetworkRuleRequest

func (*RemoveNetworkRuleRequest) WithAllowedNetworkRuleList added in v0.89.0

func (s *RemoveNetworkRuleRequest) WithAllowedNetworkRuleList(AllowedNetworkRuleList []SchemaObjectIdentifier) *RemoveNetworkRuleRequest

func (*RemoveNetworkRuleRequest) WithBlockedNetworkRuleList added in v0.89.0

func (s *RemoveNetworkRuleRequest) WithBlockedNetworkRuleList(BlockedNetworkRuleList []SchemaObjectIdentifier) *RemoveNetworkRuleRequest

type ReplicationAccount added in v0.65.0

type ReplicationAccount struct {
	SnowflakeRegion  string    `db:"snowflake_region"`
	CreatedOn        time.Time `db:"created_on"`
	AccountName      string    `db:"account_name"`
	AccountLocator   string    `db:"account_locator"`
	Comment          string    `db:"comment"`
	OrganizationName string    `db:"organization_name"`
	IsOrgAdmin       bool      `db:"is_org_admin"`
}

func (*ReplicationAccount) ID added in v0.65.0

type ReplicationDatabase added in v0.87.0

type ReplicationDatabase struct {
	RegionGroup                  string
	SnowflakeRegion              string
	CreatedOn                    string
	AccountName                  string
	Name                         string
	Comment                      string
	IsPrimary                    bool
	PrimaryDatabase              *ExternalObjectIdentifier
	ReplicationAllowedToAccounts string
	FailoverAllowedToAccounts    string
	OrganizationName             string
	AccountLocator               string
}

type ReplicationFunctions added in v0.65.0

type ReplicationFunctions interface {
	ShowReplicationAccounts(ctx context.Context) ([]*ReplicationAccount, error)
	ShowReplicationDatabases(ctx context.Context, opts *ShowReplicationDatabasesOptions) ([]ReplicationDatabase, error)
	ShowRegions(ctx context.Context, opts *ShowRegionsOptions) ([]*Region, error)
}

type ResourceMonitor added in v0.65.0

type ResourceMonitor struct {
	Name               string
	CreditQuota        float64
	UsedCredits        float64
	RemainingCredits   float64
	Level              *ResourceMonitorLevel
	Frequency          Frequency
	StartTime          string
	EndTime            string
	NotifyAt           []int
	SuspendAt          *int
	SuspendImmediateAt *int
	CreatedOn          time.Time
	Owner              string
	Comment            string
	NotifyUsers        []string
}

func (*ResourceMonitor) ID added in v0.65.0

func (*ResourceMonitor) ObjectType added in v0.65.0

func (v *ResourceMonitor) ObjectType() ObjectType

type ResourceMonitorLevel added in v0.69.0

type ResourceMonitorLevel string
const (
	ResourceMonitorLevelAccount   ResourceMonitorLevel = "ACCOUNT"
	ResourceMonitorLevelWarehouse ResourceMonitorLevel = "WAREHOUSE"
)

func ToResourceMonitorLevel added in v0.96.0

func ToResourceMonitorLevel(s string) (ResourceMonitorLevel, error)

type ResourceMonitorSet added in v0.69.0

type ResourceMonitorSet struct {
	// at least one
	CreditQuota    *int         `ddl:"parameter,equals" sql:"CREDIT_QUOTA"`
	Frequency      *Frequency   `ddl:"parameter,equals" sql:"FREQUENCY"`
	StartTimestamp *string      `ddl:"parameter,equals,single_quotes" sql:"START_TIMESTAMP"`
	EndTimestamp   *string      `ddl:"parameter,equals,single_quotes" sql:"END_TIMESTAMP"`
	NotifyUsers    *NotifyUsers `ddl:"parameter,equals" sql:"NOTIFY_USERS"`
}

type ResourceMonitorUnset added in v0.96.0

type ResourceMonitorUnset struct {
	CreditQuota  *bool `ddl:"keyword" sql:"CREDIT_QUOTA = null"`
	EndTimestamp *bool `ddl:"keyword" sql:"END_TIMESTAMP = null"`
	NotifyUsers  *bool `ddl:"keyword" sql:"NOTIFY_USERS = ()"`
}

type ResourceMonitorWith added in v0.69.0

type ResourceMonitorWith struct {
	CreditQuota    *int                `ddl:"parameter,equals" sql:"CREDIT_QUOTA"`
	Frequency      *Frequency          `ddl:"parameter,equals" sql:"FREQUENCY"`
	StartTimestamp *string             `ddl:"parameter,equals,single_quotes" sql:"START_TIMESTAMP"`
	EndTimestamp   *string             `ddl:"parameter,equals,single_quotes" sql:"END_TIMESTAMP"`
	NotifyUsers    *NotifyUsers        `ddl:"parameter,equals" sql:"NOTIFY_USERS"`
	Triggers       []TriggerDefinition `ddl:"keyword,no_comma" sql:"TRIGGERS"`
}

type ReturnNullValues added in v0.82.0

type ReturnNullValues string
var (
	ReturnNullValuesNull    ReturnNullValues = "NULL"
	ReturnNullValuesNotNull ReturnNullValues = "NOT NULL"
)

func ReturnNullValuesPointer added in v0.82.0

func ReturnNullValuesPointer(v ReturnNullValues) *ReturnNullValues

type ReturnResultsBehavior added in v0.82.0

type ReturnResultsBehavior string
var (
	ReturnResultsBehaviorVolatile  ReturnResultsBehavior = "VOLATILE"
	ReturnResultsBehaviorImmutable ReturnResultsBehavior = "IMMUTABLE"
)

func ReturnResultsBehaviorPointer added in v0.82.0

func ReturnResultsBehaviorPointer(v ReturnResultsBehavior) *ReturnResultsBehavior

type RevokeApplicationRoleOptions added in v0.91.0

type RevokeApplicationRoleOptions struct {
	From KindOfRole `ddl:"keyword" sql:"FROM"`
	// contains filtered or unexported fields
}

RevokeApplicationRoleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/revoke-application-role.

type RevokeApplicationRoleRequest added in v0.91.0

type RevokeApplicationRoleRequest struct {
	From KindOfRoleRequest
	// contains filtered or unexported fields
}

func NewRevokeApplicationRoleRequest added in v0.91.0

func NewRevokeApplicationRoleRequest(
	name DatabaseObjectIdentifier,
) *RevokeApplicationRoleRequest

func (*RevokeApplicationRoleRequest) WithFrom added in v0.91.0

type RevokeDatabaseRoleFromShareRequest added in v0.70.0

type RevokeDatabaseRoleFromShareRequest struct {
	// contains filtered or unexported fields
}

func NewRevokeDatabaseRoleFromShareRequest added in v0.70.0

func NewRevokeDatabaseRoleFromShareRequest(
	name DatabaseObjectIdentifier,
	share AccountObjectIdentifier,
) *RevokeDatabaseRoleFromShareRequest

type RevokeDatabaseRoleRequest added in v0.70.0

type RevokeDatabaseRoleRequest struct {
	// contains filtered or unexported fields
}

func NewRevokeDatabaseRoleRequest added in v0.70.0

func NewRevokeDatabaseRoleRequest(
	name DatabaseObjectIdentifier,
) *RevokeDatabaseRoleRequest

func (*RevokeDatabaseRoleRequest) WithAccountRole added in v0.70.0

func (*RevokeDatabaseRoleRequest) WithDatabaseRole added in v0.70.0

type RevokePrivilegesFromAccountRoleOptions added in v0.68.0

type RevokePrivilegesFromAccountRoleOptions struct {
	GrantOptionFor *bool `ddl:"keyword" sql:"GRANT OPTION FOR"`

	Restrict *bool `ddl:"keyword" sql:"RESTRICT"`
	Cascade  *bool `ddl:"keyword" sql:"CASCADE"`
	// contains filtered or unexported fields
}

RevokePrivilegesFromAccountRoleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/revoke-privilege#syntax.

type RevokePrivilegesFromDatabaseRoleOptions added in v0.71.0

type RevokePrivilegesFromDatabaseRoleOptions struct {
	GrantOptionFor *bool `ddl:"keyword" sql:"GRANT OPTION FOR"`

	Restrict *bool `ddl:"keyword" sql:"RESTRICT"`
	Cascade  *bool `ddl:"keyword" sql:"CASCADE"`
	// contains filtered or unexported fields
}

RevokePrivilegesFromDatabaseRoleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/revoke-privilege#syntax.

type RevokeRole added in v0.72.0

type RevokeRole struct {
	// one of
	User *AccountObjectIdentifier `ddl:"identifier" sql:"USER"`
	Role *AccountObjectIdentifier `ddl:"identifier" sql:"ROLE"`
}

type RevokeRoleOptions added in v0.72.0

type RevokeRoleOptions struct {
	Revoke RevokeRole `ddl:"keyword,no_parentheses" sql:"FROM"`
	// contains filtered or unexported fields
}

RevokeRoleOptions based on https://docs.snowflake.com/en/sql-reference/sql/revoke-role

type RevokeRoleRequest added in v0.72.0

type RevokeRoleRequest struct {
	Revoke RevokeRole // required
	// contains filtered or unexported fields
}

func NewRevokeRoleRequest added in v0.72.0

func NewRevokeRoleRequest(name AccountObjectIdentifier, revoke RevokeRole) *RevokeRoleRequest

type Role added in v0.65.0

type Role struct {
	CreatedOn       time.Time
	Name            string
	IsDefault       bool
	IsCurrent       bool
	IsInherited     bool
	AssignedToUsers int
	GrantedToRoles  int
	GrantedRoles    int
	Owner           string
	Comment         string
}

func (*Role) ID added in v0.65.0

func (v *Role) ID() AccountObjectIdentifier

func (*Role) ObjectType added in v0.65.0

func (v *Role) ObjectType() ObjectType

type Roles added in v0.65.0

type Roles interface {
	Create(ctx context.Context, req *CreateRoleRequest) error
	Alter(ctx context.Context, req *AlterRoleRequest) error
	Drop(ctx context.Context, req *DropRoleRequest) error
	Show(ctx context.Context, req *ShowRoleRequest) ([]Role, error)
	ShowByID(ctx context.Context, id AccountObjectIdentifier) (*Role, error)
	Grant(ctx context.Context, req *GrantRoleRequest) error
	Revoke(ctx context.Context, req *RevokeRoleRequest) error
	Use(ctx context.Context, req *UseRoleRequest) error
	UseSecondary(ctx context.Context, req *UseSecondaryRolesRequest) error
}

type RolesInClass added in v0.72.0

type RolesInClass struct {
	Class ObjectIdentifier `ddl:"identifier"`
}

type RowAccessPolicy added in v0.72.0

type RowAccessPolicy struct {
	CreatedOn     string
	Name          string
	DatabaseName  string
	SchemaName    string
	Kind          string
	Owner         string
	Comment       string
	Options       string
	OwnerRoleType string
}

func (*RowAccessPolicy) ID added in v0.84.0

type RowAccessPolicyDescription added in v0.84.0

type RowAccessPolicyDescription struct {
	Name       string
	Signature  []TableColumnSignature
	ReturnType string
	Body       string
}

type RowAccessPolicyRequest added in v0.72.0

type RowAccessPolicyRequest struct {
	Name SchemaObjectIdentifier // required
	On   []string               // required
}

type S3EncryptionType added in v0.96.0

type S3EncryptionType string

type S3StorageLocationParams added in v0.96.0

type S3StorageLocationParams struct {
	Name                 string                      `ddl:"parameter,single_quotes" sql:"NAME"`
	StorageProvider      S3StorageProvider           `ddl:"parameter,single_quotes" sql:"STORAGE_PROVIDER"`
	StorageAwsRoleArn    string                      `ddl:"parameter,single_quotes" sql:"STORAGE_AWS_ROLE_ARN"`
	StorageBaseUrl       string                      `ddl:"parameter,single_quotes" sql:"STORAGE_BASE_URL"`
	StorageAwsExternalId *string                     `ddl:"parameter,single_quotes" sql:"STORAGE_AWS_EXTERNAL_ID"`
	Encryption           *ExternalVolumeS3Encryption `ddl:"list,parentheses,no_comma" sql:"ENCRYPTION ="`
}

type S3StorageLocationParamsRequest added in v0.96.0

type S3StorageLocationParamsRequest struct {
	Name                 string            // required
	StorageProvider      S3StorageProvider // required
	StorageAwsRoleArn    string            // required
	StorageBaseUrl       string            // required
	StorageAwsExternalId *string
	Encryption           *ExternalVolumeS3EncryptionRequest
}

func NewS3StorageLocationParamsRequest added in v0.96.0

func NewS3StorageLocationParamsRequest(
	Name string,
	StorageProvider S3StorageProvider,
	StorageAwsRoleArn string,
	StorageBaseUrl string,
) *S3StorageLocationParamsRequest

func (*S3StorageLocationParamsRequest) WithEncryption added in v0.96.0

func (*S3StorageLocationParamsRequest) WithStorageAwsExternalId added in v0.96.0

func (s *S3StorageLocationParamsRequest) WithStorageAwsExternalId(StorageAwsExternalId string) *S3StorageLocationParamsRequest

type S3StorageParams added in v0.84.0

type S3StorageParams struct {
	StorageAwsRoleArn   string  `ddl:"parameter,single_quotes" sql:"STORAGE_AWS_ROLE_ARN"`
	StorageAwsObjectAcl *string `ddl:"parameter,single_quotes" sql:"STORAGE_AWS_OBJECT_ACL"`
	// contains filtered or unexported fields
}

type S3StorageParamsRequest added in v0.84.0

type S3StorageParamsRequest struct {
	StorageAwsRoleArn   string // required
	StorageAwsObjectAcl *string
}

func NewS3StorageParamsRequest added in v0.84.0

func NewS3StorageParamsRequest(
	StorageAwsRoleArn string,
) *S3StorageParamsRequest

func (*S3StorageParamsRequest) WithStorageAwsObjectAcl added in v0.84.0

func (s *S3StorageParamsRequest) WithStorageAwsObjectAcl(StorageAwsObjectAcl *string) *S3StorageParamsRequest

type S3StorageProvider added in v0.96.0

type S3StorageProvider string

type Saml2IntegrationSet added in v0.92.0

type Saml2IntegrationSet struct {
	Enabled                        *bool                                                     `ddl:"parameter" sql:"ENABLED"`
	Saml2Issuer                    *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_ISSUER"`
	Saml2SsoUrl                    *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_SSO_URL"`
	Saml2Provider                  *Saml2SecurityIntegrationSaml2ProviderOption              `ddl:"parameter,single_quotes" sql:"SAML2_PROVIDER"`
	Saml2X509Cert                  *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_X509_CERT"`
	AllowedUserDomains             []UserDomain                                              `ddl:"parameter,parentheses" sql:"ALLOWED_USER_DOMAINS"`
	AllowedEmailPatterns           []EmailPattern                                            `ddl:"parameter,parentheses" sql:"ALLOWED_EMAIL_PATTERNS"`
	Saml2SpInitiatedLoginPageLabel *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_SP_INITIATED_LOGIN_PAGE_LABEL"`
	Saml2EnableSpInitiated         *bool                                                     `ddl:"parameter" sql:"SAML2_ENABLE_SP_INITIATED"`
	Saml2SnowflakeX509Cert         *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_SNOWFLAKE_X509_CERT"`
	Saml2SignRequest               *bool                                                     `ddl:"parameter" sql:"SAML2_SIGN_REQUEST"`
	Saml2RequestedNameidFormat     *Saml2SecurityIntegrationSaml2RequestedNameidFormatOption `ddl:"parameter,single_quotes" sql:"SAML2_REQUESTED_NAMEID_FORMAT"`
	Saml2PostLogoutRedirectUrl     *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_POST_LOGOUT_REDIRECT_URL"`
	Saml2ForceAuthn                *bool                                                     `ddl:"parameter" sql:"SAML2_FORCE_AUTHN"`
	Saml2SnowflakeIssuerUrl        *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_SNOWFLAKE_ISSUER_URL"`
	Saml2SnowflakeAcsUrl           *string                                                   `ddl:"parameter,single_quotes" sql:"SAML2_SNOWFLAKE_ACS_URL"`
	Comment                        *string                                                   `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type Saml2IntegrationSetRequest added in v0.92.0

type Saml2IntegrationSetRequest struct {
	Enabled                        *bool
	Saml2Issuer                    *string
	Saml2SsoUrl                    *string
	Saml2Provider                  *Saml2SecurityIntegrationSaml2ProviderOption
	Saml2X509Cert                  *string
	AllowedUserDomains             []UserDomain
	AllowedEmailPatterns           []EmailPattern
	Saml2SpInitiatedLoginPageLabel *string
	Saml2EnableSpInitiated         *bool
	Saml2SnowflakeX509Cert         *string
	Saml2SignRequest               *bool
	Saml2RequestedNameidFormat     *Saml2SecurityIntegrationSaml2RequestedNameidFormatOption
	Saml2PostLogoutRedirectUrl     *string
	Saml2ForceAuthn                *bool
	Saml2SnowflakeIssuerUrl        *string
	Saml2SnowflakeAcsUrl           *string
	Comment                        *string
}

func NewSaml2IntegrationSetRequest added in v0.92.0

func NewSaml2IntegrationSetRequest() *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithAllowedEmailPatterns added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithAllowedEmailPatterns(AllowedEmailPatterns []EmailPattern) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithAllowedUserDomains added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithAllowedUserDomains(AllowedUserDomains []UserDomain) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithComment added in v0.92.0

func (*Saml2IntegrationSetRequest) WithEnabled added in v0.92.0

func (*Saml2IntegrationSetRequest) WithSaml2EnableSpInitiated added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2EnableSpInitiated(Saml2EnableSpInitiated bool) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2ForceAuthn added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2ForceAuthn(Saml2ForceAuthn bool) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2Issuer added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2Issuer(Saml2Issuer string) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2PostLogoutRedirectUrl added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2PostLogoutRedirectUrl(Saml2PostLogoutRedirectUrl string) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2Provider added in v0.92.0

func (*Saml2IntegrationSetRequest) WithSaml2RequestedNameidFormat added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2RequestedNameidFormat(Saml2RequestedNameidFormat Saml2SecurityIntegrationSaml2RequestedNameidFormatOption) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2SignRequest added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2SignRequest(Saml2SignRequest bool) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2SnowflakeAcsUrl added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2SnowflakeAcsUrl(Saml2SnowflakeAcsUrl string) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2SnowflakeIssuerUrl added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2SnowflakeIssuerUrl(Saml2SnowflakeIssuerUrl string) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2SnowflakeX509Cert added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2SnowflakeX509Cert(Saml2SnowflakeX509Cert string) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2SpInitiatedLoginPageLabel added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2SpInitiatedLoginPageLabel(Saml2SpInitiatedLoginPageLabel string) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2SsoUrl added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2SsoUrl(Saml2SsoUrl string) *Saml2IntegrationSetRequest

func (*Saml2IntegrationSetRequest) WithSaml2X509Cert added in v0.92.0

func (s *Saml2IntegrationSetRequest) WithSaml2X509Cert(Saml2X509Cert string) *Saml2IntegrationSetRequest

type Saml2IntegrationUnset added in v0.92.0

type Saml2IntegrationUnset struct {
	Saml2ForceAuthn            *bool `ddl:"keyword" sql:"SAML2_FORCE_AUTHN"`
	Saml2RequestedNameidFormat *bool `ddl:"keyword" sql:"SAML2_REQUESTED_NAMEID_FORMAT"`
	Saml2PostLogoutRedirectUrl *bool `ddl:"keyword" sql:"SAML2_POST_LOGOUT_REDIRECT_URL"`
	Comment                    *bool `ddl:"keyword" sql:"COMMENT"`
}

type Saml2IntegrationUnsetRequest added in v0.92.0

type Saml2IntegrationUnsetRequest struct {
	Saml2ForceAuthn            *bool
	Saml2RequestedNameidFormat *bool
	Saml2PostLogoutRedirectUrl *bool
	Comment                    *bool
}

func NewSaml2IntegrationUnsetRequest added in v0.92.0

func NewSaml2IntegrationUnsetRequest() *Saml2IntegrationUnsetRequest

func (*Saml2IntegrationUnsetRequest) WithComment added in v0.92.0

func (*Saml2IntegrationUnsetRequest) WithSaml2ForceAuthn added in v0.92.0

func (s *Saml2IntegrationUnsetRequest) WithSaml2ForceAuthn(Saml2ForceAuthn bool) *Saml2IntegrationUnsetRequest

func (*Saml2IntegrationUnsetRequest) WithSaml2PostLogoutRedirectUrl added in v0.92.0

func (s *Saml2IntegrationUnsetRequest) WithSaml2PostLogoutRedirectUrl(Saml2PostLogoutRedirectUrl bool) *Saml2IntegrationUnsetRequest

func (*Saml2IntegrationUnsetRequest) WithSaml2RequestedNameidFormat added in v0.92.0

func (s *Saml2IntegrationUnsetRequest) WithSaml2RequestedNameidFormat(Saml2RequestedNameidFormat bool) *Saml2IntegrationUnsetRequest

type Saml2SecurityIntegrationSaml2ProviderOption added in v0.93.0

type Saml2SecurityIntegrationSaml2ProviderOption string
const (
	Saml2SecurityIntegrationSaml2ProviderOkta   Saml2SecurityIntegrationSaml2ProviderOption = "OKTA"
	Saml2SecurityIntegrationSaml2ProviderAdfs   Saml2SecurityIntegrationSaml2ProviderOption = "ADFS"
	Saml2SecurityIntegrationSaml2ProviderCustom Saml2SecurityIntegrationSaml2ProviderOption = "CUSTOM"
)

func ToSaml2SecurityIntegrationSaml2ProviderOption added in v0.93.0

func ToSaml2SecurityIntegrationSaml2ProviderOption(s string) (Saml2SecurityIntegrationSaml2ProviderOption, error)

type Saml2SecurityIntegrationSaml2RequestedNameidFormatOption added in v0.93.0

type Saml2SecurityIntegrationSaml2RequestedNameidFormatOption string
const (
	Saml2SecurityIntegrationSaml2RequestedNameidFormatUnspecified                Saml2SecurityIntegrationSaml2RequestedNameidFormatOption = "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
	Saml2SecurityIntegrationSaml2RequestedNameidFormatEmailAddress               Saml2SecurityIntegrationSaml2RequestedNameidFormatOption = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
	Saml2SecurityIntegrationSaml2RequestedNameidFormatX509SubjectName            Saml2SecurityIntegrationSaml2RequestedNameidFormatOption = "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName"
	Saml2SecurityIntegrationSaml2RequestedNameidFormatWindowsDomainQualifiedName Saml2SecurityIntegrationSaml2RequestedNameidFormatOption = "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName"
	Saml2SecurityIntegrationSaml2RequestedNameidFormatKerberos                   Saml2SecurityIntegrationSaml2RequestedNameidFormatOption = "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos"
	Saml2SecurityIntegrationSaml2RequestedNameidFormatPersistent                 Saml2SecurityIntegrationSaml2RequestedNameidFormatOption = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
	Saml2SecurityIntegrationSaml2RequestedNameidFormatTransient                  Saml2SecurityIntegrationSaml2RequestedNameidFormatOption = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
)

func ToSaml2SecurityIntegrationSaml2RequestedNameidFormatOption added in v0.93.0

func ToSaml2SecurityIntegrationSaml2RequestedNameidFormatOption(s string) (Saml2SecurityIntegrationSaml2RequestedNameidFormatOption, error)

type ScalingPolicy added in v0.65.0

type ScalingPolicy string
const (
	ScalingPolicyStandard ScalingPolicy = "STANDARD"
	ScalingPolicyEconomy  ScalingPolicy = "ECONOMY"
)

func ToScalingPolicy added in v0.93.0

func ToScalingPolicy(s string) (ScalingPolicy, error)

type Schema

type Schema struct {
	CreatedOn     time.Time
	DroppedOn     time.Time
	Name          string
	IsDefault     bool
	IsCurrent     bool
	DatabaseName  string
	Owner         string
	Comment       string
	Options       *string
	RetentionTime string
	OwnerRoleType string
}

func (*Schema) ID

func (*Schema) IsManagedAccess added in v0.94.0

func (s *Schema) IsManagedAccess() bool

func (*Schema) IsTransient added in v0.94.0

func (s *Schema) IsTransient() bool

func (*Schema) ObjectType added in v0.65.0

func (v *Schema) ObjectType() ObjectType

type SchemaDetails added in v0.70.0

type SchemaDetails struct {
	CreatedOn time.Time `db:"created_on"`
	Name      string    `db:"name"`
	Kind      string    `db:"kind"`
}

type SchemaIn added in v0.70.0

type SchemaIn struct {
	Account            *bool                   `ddl:"keyword" sql:"ACCOUNT"`
	Database           *bool                   `ddl:"keyword" sql:"DATABASE"`
	Application        *bool                   `ddl:"keyword" sql:"APPLICATION"`
	ApplicationPackage *bool                   `ddl:"keyword" sql:"APPLICATION_PACKAGE"`
	Name               AccountObjectIdentifier `ddl:"identifier"`
}

type SchemaObjectIdentifier

type SchemaObjectIdentifier struct {
	// contains filtered or unexported fields
}

func NewSchemaObjectIdentifier

func NewSchemaObjectIdentifier(databaseName, schemaName, name string) SchemaObjectIdentifier

func NewSchemaObjectIdentifierFromFullyQualifiedName

func NewSchemaObjectIdentifierFromFullyQualifiedName(fullyQualifiedName string) SchemaObjectIdentifier

func NewSchemaObjectIdentifierInSchema added in v0.92.0

func NewSchemaObjectIdentifierInSchema(schemaId DatabaseObjectIdentifier, name string) SchemaObjectIdentifier

func NewSchemaObjectIdentifierWithArgumentsOld added in v0.95.0

func NewSchemaObjectIdentifierWithArgumentsOld(databaseName, schemaName, name string, arguments []DataType) SchemaObjectIdentifier

func ParseCommaSeparatedSchemaObjectIdentifierArray added in v0.97.0

func ParseCommaSeparatedSchemaObjectIdentifierArray(value string) ([]SchemaObjectIdentifier, error)

ParseCommaSeparatedSchemaObjectIdentifierArray can be used to parse Snowflake output containing a list of schema-level object identifiers in the format of ["db".SCHEMA."name", "db"."schema2"."name2", ...],

func ParseSchemaObjectIdentifier added in v0.95.0

func ParseSchemaObjectIdentifier(identifier string) (SchemaObjectIdentifier, error)

func (SchemaObjectIdentifier) Arguments added in v0.70.0

func (i SchemaObjectIdentifier) Arguments() []DataType

func (SchemaObjectIdentifier) ArgumentsSignature added in v0.86.0

func (i SchemaObjectIdentifier) ArgumentsSignature() string

func (SchemaObjectIdentifier) DatabaseId added in v0.92.0

func (SchemaObjectIdentifier) DatabaseName

func (i SchemaObjectIdentifier) DatabaseName() string

func (SchemaObjectIdentifier) FullyQualifiedName

func (i SchemaObjectIdentifier) FullyQualifiedName() string

func (SchemaObjectIdentifier) Name

func (i SchemaObjectIdentifier) Name() string

func (SchemaObjectIdentifier) SchemaId added in v0.92.0

func (SchemaObjectIdentifier) SchemaName

func (i SchemaObjectIdentifier) SchemaName() string

func (SchemaObjectIdentifier) WithoutArguments added in v0.86.0

func (i SchemaObjectIdentifier) WithoutArguments() SchemaObjectIdentifier

type SchemaObjectIdentifierWithArguments added in v0.95.0

type SchemaObjectIdentifierWithArguments struct {
	// contains filtered or unexported fields
}

func NewSchemaObjectIdentifierWithArguments added in v0.70.0

func NewSchemaObjectIdentifierWithArguments(databaseName, schemaName, name string, argumentDataTypes ...DataType) SchemaObjectIdentifierWithArguments

func NewSchemaObjectIdentifierWithArgumentsInSchema added in v0.95.0

func NewSchemaObjectIdentifierWithArgumentsInSchema(schemaId DatabaseObjectIdentifier, name string, argumentDataTypes ...DataType) SchemaObjectIdentifierWithArguments

func ParseSchemaObjectIdentifierWithArguments added in v0.95.0

func ParseSchemaObjectIdentifierWithArguments(fullyQualifiedName string) (SchemaObjectIdentifierWithArguments, error)

func ParseSchemaObjectIdentifierWithArgumentsAndReturnType added in v0.95.0

func ParseSchemaObjectIdentifierWithArgumentsAndReturnType(fullyQualifiedName string) (SchemaObjectIdentifierWithArguments, error)

ParseSchemaObjectIdentifierWithArgumentsAndReturnType parses names in the following format: <database>.<schema>."<function>(<argname> <argtype>...):<returntype>" Return type is not part of an identifier. TODO(SNOW-1625030): Remove and use ParseSchemaObjectIdentifierWithArguments instead

func (SchemaObjectIdentifierWithArguments) ArgumentDataTypes added in v0.95.0

func (i SchemaObjectIdentifierWithArguments) ArgumentDataTypes() []DataType

func (SchemaObjectIdentifierWithArguments) DatabaseId added in v0.95.0

func (SchemaObjectIdentifierWithArguments) DatabaseName added in v0.95.0

func (SchemaObjectIdentifierWithArguments) FullyQualifiedName added in v0.95.0

func (i SchemaObjectIdentifierWithArguments) FullyQualifiedName() string

func (SchemaObjectIdentifierWithArguments) Name added in v0.95.0

func (SchemaObjectIdentifierWithArguments) SchemaId added in v0.95.0

func (SchemaObjectIdentifierWithArguments) SchemaName added in v0.95.0

func (SchemaObjectIdentifierWithArguments) SchemaObjectId added in v0.95.0

type SchemaObjectPrivilege added in v0.68.0

type SchemaObjectPrivilege string
const (
	SchemaObjectOwnership SchemaObjectPrivilege = "OWNERSHIP"

	// For ALERT
	// SchemaObjectPrivilegeMonitor SchemaObjectPrivilege = "MONITOR" (duplicate)
	SchemaObjectPrivilegeOperate SchemaObjectPrivilege = "OPERATE"

	// For APPLICATION PACKAGE
	SchemaObjectPrivilegeAttachListing  SchemaObjectPrivilege = "ATTACH LISTING"
	SchemaObjectPrivilegeDevelop        SchemaObjectPrivilege = "DEVELOP"
	SchemaObjectPrivilegeInstall        SchemaObjectPrivilege = "INSTALL"
	SchemaObjectPrivilegeManageVersions SchemaObjectPrivilege = "MANAGE VERSIONS"
	SchemaObjectPrivilegeManageReleases SchemaObjectPrivilege = "MANAGE RELEASES"

	// For EVENT TABLE
	SchemaObjectPrivilegeSelect SchemaObjectPrivilege = "SELECT"
	SchemaObjectPrivilegeInsert SchemaObjectPrivilege = "INSERT"

	// For FILE FORMAT, FUNCTION (UDF or external function), PROCEDURE, SECRET, or SEQUENCE
	SchemaObjectPrivilegeUsage SchemaObjectPrivilege = "USAGE"

	// For ICEBERG TABLE
	SchemaObjectPrivilegeApplyBudget SchemaObjectPrivilege = "APPLYBUDGET"

	// For PIPE
	// SchemaObjectPrivilegeApplyBudget SchemaObjectPrivilege = "APPLYBUDGET" (duplicate)
	SchemaObjectPrivilegeMonitor SchemaObjectPrivilege = "MONITOR"

	// For { MASKING | PASSWORD | ROW ACCESS | SESSION } POLICY or TAG
	SchemaObjectPrivilegeApply SchemaObjectPrivilege = "APPLY"

	// For internal STAGE
	SchemaObjectPrivilegeRead  SchemaObjectPrivilege = "READ"
	SchemaObjectPrivilegeWrite SchemaObjectPrivilege = "WRITE"

	// For TABLE
	// SchemaObjectPrivilegeApplyBudget SchemaObjectPrivilege = "APPLYBUDGET" (duplicate)
	// SchemaObjectPrivilegeSelect 		SchemaObjectPrivilege = "SELECT" (duplicate)
	// SchemaObjectPrivilegeInsert 		SchemaObjectPrivilege = "INSERT" (duplicate)
	SchemaObjectPrivilegeEvolveSchema SchemaObjectPrivilege = "EVOLVE SCHEMA"
	SchemaObjectPrivilegeUpdate       SchemaObjectPrivilege = "UPDATE"
	SchemaObjectPrivilegeDelete       SchemaObjectPrivilege = "DELETE"
	SchemaObjectPrivilegeTruncate     SchemaObjectPrivilege = "TRUNCATE"
	SchemaObjectPrivilegeReferences   SchemaObjectPrivilege = "REFERENCES"
)

func (SchemaObjectPrivilege) String added in v0.68.0

func (p SchemaObjectPrivilege) String() string

type SchemaPrivilege added in v0.68.0

type SchemaPrivilege string
const (
	SchemaPrivilegeAddSearchOptimization             SchemaPrivilege = "ADD SEARCH OPTIMIZATION"
	SchemaPrivilegeApplyBudget                       SchemaPrivilege = "APPLYBUDGET"
	SchemaPrivilegeCreateAlert                       SchemaPrivilege = "CREATE ALERT"
	SchemaPrivilegeCreateCortexSearchService         SchemaPrivilege = "CREATE CORTEX SEARCH SERVICE"
	SchemaPrivilegeCreateDataset                     SchemaPrivilege = "CREATE DATASET"
	SchemaPrivilegeCreateEventTable                  SchemaPrivilege = "CREATE EVENT TABLE"
	SchemaPrivilegeCreateFileFormat                  SchemaPrivilege = "CREATE FILE FORMAT"
	SchemaPrivilegeCreateFunction                    SchemaPrivilege = "CREATE FUNCTION"
	SchemaPrivilegeCreateGitRepository               SchemaPrivilege = "CREATE GIT REPOSITORY"
	SchemaPrivilegeCreateImageRepository             SchemaPrivilege = "CREATE IMAGE REPOSITORY"
	SchemaPrivilegeCreateModel                       SchemaPrivilege = "CREATE MODEL"
	SchemaPrivilegeCreateNetworkRule                 SchemaPrivilege = "CREATE NETWORK RULE"
	SchemaPrivilegeCreateNotebook                    SchemaPrivilege = "CREATE NOTEBOOK"
	SchemaPrivilegeCreatePipe                        SchemaPrivilege = "CREATE PIPE"
	SchemaPrivilegeCreateProcedure                   SchemaPrivilege = "CREATE PROCEDURE"
	SchemaPrivilegeCreateAggregationPolicy           SchemaPrivilege = "CREATE AGGREGATION POLICY"
	SchemaPrivilegeCreateAuthenticationPolicy        SchemaPrivilege = "CREATE AUTHENTICATION POLICY"
	SchemaPrivilegeCreateMaskingPolicy               SchemaPrivilege = "CREATE MASKING POLICY"
	SchemaPrivilegeCreatePackagesPolicy              SchemaPrivilege = "CREATE PACKAGES POLICY"
	SchemaPrivilegeCreatePasswordPolicy              SchemaPrivilege = "CREATE PASSWORD POLICY"
	SchemaPrivilegeCreateProjectionPolicy            SchemaPrivilege = "CREATE PROJECTION POLICY"
	SchemaPrivilegeCreateRowAccessPolicy             SchemaPrivilege = "CREATE ROW ACCESS POLICY"
	SchemaPrivilegeCreateSessionPolicy               SchemaPrivilege = "CREATE SESSION POLICY"
	SchemaPrivilegeCreateSecret                      SchemaPrivilege = "CREATE SECRET"
	SchemaPrivilegeCreateSequence                    SchemaPrivilege = "CREATE SEQUENCE"
	SchemaPrivilegeCreateService                     SchemaPrivilege = "CREATE SERVICE"
	SchemaPrivilegeCreateSnapshot                    SchemaPrivilege = "CREATE SNAPSHOT"
	SchemaPrivilegeCreateStage                       SchemaPrivilege = "CREATE STAGE"
	SchemaPrivilegeCreateStream                      SchemaPrivilege = "CREATE STREAM"
	SchemaPrivilegeCreateStreamlit                   SchemaPrivilege = "CREATE STREAMLIT"
	SchemaPrivilegeCreateSnowflakeCoreBudget         SchemaPrivilege = "CREATE SNOWFLAKE.CORE.BUDGET"
	SchemaPrivilegeCreateSnowflakeMlAnomalyDetection SchemaPrivilege = "CREATE SNOWFLAKE.ML.ANOMALY_DETECTION"
	SchemaPrivilegeCreateSnowflakeMlForecast         SchemaPrivilege = "CREATE SNOWFLAKE.ML.FORECAST"
	SchemaPrivilegeCreateDynamicTable                SchemaPrivilege = "CREATE DYNAMIC TABLE"
	SchemaPrivilegeCreateExternalTable               SchemaPrivilege = "CREATE EXTERNAL TABLE"
	SchemaPrivilegeCreateHybridTable                 SchemaPrivilege = "CREATE HYBRID TABLE"
	SchemaPrivilegeCreateIcebergTable                SchemaPrivilege = "CREATE ICEBERG TABLE"
	SchemaPrivilegeCreateTable                       SchemaPrivilege = "CREATE TABLE"
	SchemaPrivilegeCreateTag                         SchemaPrivilege = "CREATE TAG"
	SchemaPrivilegeCreateTask                        SchemaPrivilege = "CREATE TASK"
	SchemaPrivilegeCreateMaterializedView            SchemaPrivilege = "CREATE MATERIALIZED VIEW"
	SchemaPrivilegeCreateView                        SchemaPrivilege = "CREATE VIEW"
	SchemaPrivilegeModify                            SchemaPrivilege = "MODIFY"
	SchemaPrivilegeMonitor                           SchemaPrivilege = "MONITOR"
	SchemaPrivilegeUsage                             SchemaPrivilege = "USAGE"
)

func (SchemaPrivilege) String added in v0.68.0

func (p SchemaPrivilege) String() string

type SchemaSet added in v0.70.0

type SchemaSet struct {
	// Parameters
	DataRetentionTimeInDays                 *int                        `ddl:"parameter" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays              *int                        `ddl:"parameter" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ExternalVolume                          *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"EXTERNAL_VOLUME"`
	Catalog                                 *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"CATALOG"`
	PipeExecutionPaused                     *bool                       `ddl:"parameter" sql:"PIPE_EXECUTION_PAUSED"`
	ReplaceInvalidCharacters                *bool                       `ddl:"parameter" sql:"REPLACE_INVALID_CHARACTERS"`
	DefaultDDLCollation                     *string                     `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	StorageSerializationPolicy              *StorageSerializationPolicy `ddl:"parameter" sql:"STORAGE_SERIALIZATION_POLICY"`
	LogLevel                                *LogLevel                   `ddl:"parameter,single_quotes" sql:"LOG_LEVEL"`
	TraceLevel                              *TraceLevel                 `ddl:"parameter,single_quotes" sql:"TRACE_LEVEL"`
	SuspendTaskAfterNumFailures             *int                        `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TaskAutoRetryAttempts                   *int                        `ddl:"parameter" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskManagedInitialWarehouseSize     *WarehouseSize              `ddl:"parameter" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                       *int                        `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	UserTaskMinimumTriggerIntervalInSeconds *int                        `ddl:"parameter" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	QuotedIdentifiersIgnoreCase             *bool                       `ddl:"parameter" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	EnableConsoleOutput                     *bool                       `ddl:"parameter" sql:"ENABLE_CONSOLE_OUTPUT"`

	Comment *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type SchemaUnset added in v0.70.0

type SchemaUnset struct {
	// Parameters
	DataRetentionTimeInDays                 *bool `ddl:"keyword" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays              *bool `ddl:"keyword" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ExternalVolume                          *bool `ddl:"keyword" sql:"EXTERNAL_VOLUME"`
	Catalog                                 *bool `ddl:"keyword" sql:"CATALOG"`
	PipeExecutionPaused                     *bool `ddl:"keyword" sql:"PIPE_EXECUTION_PAUSED"`
	ReplaceInvalidCharacters                *bool `ddl:"keyword" sql:"REPLACE_INVALID_CHARACTERS"`
	DefaultDDLCollation                     *bool `ddl:"keyword" sql:"DEFAULT_DDL_COLLATION"`
	StorageSerializationPolicy              *bool `ddl:"keyword" sql:"STORAGE_SERIALIZATION_POLICY"`
	LogLevel                                *bool `ddl:"keyword" sql:"LOG_LEVEL"`
	TraceLevel                              *bool `ddl:"keyword" sql:"TRACE_LEVEL"`
	SuspendTaskAfterNumFailures             *bool `ddl:"keyword" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	TaskAutoRetryAttempts                   *bool `ddl:"keyword" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskManagedInitialWarehouseSize     *bool `ddl:"keyword" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	UserTaskTimeoutMs                       *bool `ddl:"keyword" sql:"USER_TASK_TIMEOUT_MS"`
	UserTaskMinimumTriggerIntervalInSeconds *bool `ddl:"keyword" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	QuotedIdentifiersIgnoreCase             *bool `ddl:"keyword" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	EnableConsoleOutput                     *bool `ddl:"keyword" sql:"ENABLE_CONSOLE_OUTPUT"`

	Comment *bool `ddl:"keyword" sql:"COMMENT"`
}

type ScimIntegrationSet added in v0.92.0

type ScimIntegrationSet struct {
	Enabled       *bool                    `ddl:"parameter" sql:"ENABLED"`
	NetworkPolicy *AccountObjectIdentifier `ddl:"identifier,equals" sql:"NETWORK_POLICY"`
	SyncPassword  *bool                    `ddl:"parameter" sql:"SYNC_PASSWORD"`
	Comment       *StringAllowEmpty        `ddl:"parameter" sql:"COMMENT"`
}

type ScimIntegrationSetRequest added in v0.92.0

type ScimIntegrationSetRequest struct {
	Enabled       *bool
	NetworkPolicy *AccountObjectIdentifier
	SyncPassword  *bool
	Comment       *StringAllowEmpty
}

func NewScimIntegrationSetRequest added in v0.92.0

func NewScimIntegrationSetRequest() *ScimIntegrationSetRequest

func (*ScimIntegrationSetRequest) WithComment added in v0.92.0

func (*ScimIntegrationSetRequest) WithEnabled added in v0.92.0

func (s *ScimIntegrationSetRequest) WithEnabled(Enabled bool) *ScimIntegrationSetRequest

func (*ScimIntegrationSetRequest) WithNetworkPolicy added in v0.92.0

func (*ScimIntegrationSetRequest) WithSyncPassword added in v0.92.0

func (s *ScimIntegrationSetRequest) WithSyncPassword(SyncPassword bool) *ScimIntegrationSetRequest

type ScimIntegrationUnset added in v0.92.0

type ScimIntegrationUnset struct {
	Enabled       *bool `ddl:"keyword" sql:"ENABLED"`
	NetworkPolicy *bool `ddl:"keyword" sql:"NETWORK_POLICY"`
	SyncPassword  *bool `ddl:"keyword" sql:"SYNC_PASSWORD"`
}

type ScimIntegrationUnsetRequest added in v0.92.0

type ScimIntegrationUnsetRequest struct {
	Enabled       *bool
	NetworkPolicy *bool
	SyncPassword  *bool
}

func NewScimIntegrationUnsetRequest added in v0.92.0

func NewScimIntegrationUnsetRequest() *ScimIntegrationUnsetRequest

func (*ScimIntegrationUnsetRequest) WithEnabled added in v0.92.0

func (*ScimIntegrationUnsetRequest) WithNetworkPolicy added in v0.92.0

func (s *ScimIntegrationUnsetRequest) WithNetworkPolicy(NetworkPolicy bool) *ScimIntegrationUnsetRequest

func (*ScimIntegrationUnsetRequest) WithSyncPassword added in v0.92.0

func (s *ScimIntegrationUnsetRequest) WithSyncPassword(SyncPassword bool) *ScimIntegrationUnsetRequest

type ScimSecurityIntegrationRunAsRoleOption added in v0.92.0

type ScimSecurityIntegrationRunAsRoleOption string
const (
	ScimSecurityIntegrationRunAsRoleOktaProvisioner        ScimSecurityIntegrationRunAsRoleOption = "OKTA_PROVISIONER"
	ScimSecurityIntegrationRunAsRoleAadProvisioner         ScimSecurityIntegrationRunAsRoleOption = "AAD_PROVISIONER"
	ScimSecurityIntegrationRunAsRoleGenericScimProvisioner ScimSecurityIntegrationRunAsRoleOption = "GENERIC_SCIM_PROVISIONER"
)

func ToScimSecurityIntegrationRunAsRoleOption added in v0.93.0

func ToScimSecurityIntegrationRunAsRoleOption(s string) (ScimSecurityIntegrationRunAsRoleOption, error)

type ScimSecurityIntegrationScimClientOption added in v0.92.0

type ScimSecurityIntegrationScimClientOption string
const (
	ScimSecurityIntegrationScimClientOkta    ScimSecurityIntegrationScimClientOption = "OKTA"
	ScimSecurityIntegrationScimClientAzure   ScimSecurityIntegrationScimClientOption = "AZURE"
	ScimSecurityIntegrationScimClientGeneric ScimSecurityIntegrationScimClientOption = "GENERIC"
)

func ToScimSecurityIntegrationScimClientOption added in v0.93.0

func ToScimSecurityIntegrationScimClientOption(s string) (ScimSecurityIntegrationScimClientOption, error)

type SearchOptimization added in v0.78.0

type SearchOptimization struct {
	On []string `ddl:"keyword" sql:"ON"`
	// contains filtered or unexported fields
}

type SearchOptimizationRequest added in v0.78.0

type SearchOptimizationRequest struct {
	On []string
}

func NewSearchOptimizationRequest added in v0.78.0

func NewSearchOptimizationRequest() *SearchOptimizationRequest

func (*SearchOptimizationRequest) WithOn added in v0.78.0

type SecondaryRole added in v0.70.0

type SecondaryRole struct {
	Value string `ddl:"keyword,single_quotes"`
}

type SecondaryRoleOption added in v0.72.0

type SecondaryRoleOption string

SecondaryRoleOption is based on https://docs.snowflake.com/en/sql-reference/sql/use-secondary-roles.

const (
	SecondaryRolesAll  SecondaryRoleOption = "ALL"
	SecondaryRolesNone SecondaryRoleOption = "NONE"
)

type SecondaryRoles added in v0.70.0

type SecondaryRoles struct {
	None *bool `ddl:"static" sql:"()"`
	All  *bool `ddl:"static" sql:"('ALL')"`
}

type SecondaryRolesOption added in v0.95.0

type SecondaryRolesOption string
const (
	SecondaryRolesOptionDefault SecondaryRolesOption = "DEFAULT"
	SecondaryRolesOptionNone    SecondaryRolesOption = "NONE"
	SecondaryRolesOptionAll     SecondaryRolesOption = "ALL"
)

func GetSecondaryRolesOptionFrom added in v0.95.0

func GetSecondaryRolesOptionFrom(text string) SecondaryRolesOption

func ToSecondaryRolesOption added in v0.95.0

func ToSecondaryRolesOption(s string) (SecondaryRolesOption, error)

type Secret added in v0.79.0

type Secret struct {
	CreatedOn     time.Time
	Name          string
	SchemaName    string
	DatabaseName  string
	Owner         string
	Comment       *string
	SecretType    string
	OauthScopes   []string
	OwnerRoleType string
}

func (*Secret) ID added in v0.97.0

func (*Secret) ObjectType added in v0.97.0

func (s *Secret) ObjectType() ObjectType

type SecretDetails added in v0.97.0

type SecretDetails struct {
	CreatedOn                   time.Time
	Name                        string
	SchemaName                  string
	DatabaseName                string
	Owner                       string
	Comment                     *string
	SecretType                  string
	Username                    *string
	OauthAccessTokenExpiryTime  *time.Time
	OauthRefreshTokenExpiryTime *time.Time
	OauthScopes                 []string
	IntegrationName             *string
}

type SecretReference added in v0.97.0

type SecretReference struct {
	VariableName string `ddl:"keyword,single_quotes"`
	Name         string `ddl:"parameter,no_quotes"`
}

type SecretSet added in v0.97.0

type SecretSet struct {
	Comment    *string     `ddl:"parameter,single_quotes" sql:"COMMENT"`
	SetForFlow *SetForFlow `ddl:"keyword"`
}

type SecretSetRequest added in v0.97.0

type SecretSetRequest struct {
	Comment    *string
	SetForFlow *SetForFlowRequest
}

func NewSecretSetRequest added in v0.97.0

func NewSecretSetRequest() *SecretSetRequest

func (*SecretSetRequest) WithComment added in v0.97.0

func (s *SecretSetRequest) WithComment(Comment string) *SecretSetRequest

func (*SecretSetRequest) WithSetForFlow added in v0.97.0

func (s *SecretSetRequest) WithSetForFlow(SetForFlow SetForFlowRequest) *SecretSetRequest

type SecretUnset added in v0.97.0

type SecretUnset struct {
	Comment *bool `ddl:"keyword" sql:"SET COMMENT = NULL"`
}

type SecretUnsetRequest added in v0.97.0

type SecretUnsetRequest struct {
	Comment *bool
}

func NewSecretUnsetRequest added in v0.97.0

func NewSecretUnsetRequest() *SecretUnsetRequest

func (*SecretUnsetRequest) WithComment added in v0.97.0

func (s *SecretUnsetRequest) WithComment(Comment bool) *SecretUnsetRequest

type Secrets added in v0.97.0

type Secrets interface {
	CreateWithOAuthClientCredentialsFlow(ctx context.Context, request *CreateWithOAuthClientCredentialsFlowSecretRequest) error
	CreateWithOAuthAuthorizationCodeFlow(ctx context.Context, request *CreateWithOAuthAuthorizationCodeFlowSecretRequest) error
	CreateWithBasicAuthentication(ctx context.Context, request *CreateWithBasicAuthenticationSecretRequest) error
	CreateWithGenericString(ctx context.Context, request *CreateWithGenericStringSecretRequest) error
	Alter(ctx context.Context, request *AlterSecretRequest) error
	Drop(ctx context.Context, request *DropSecretRequest) error
	Show(ctx context.Context, request *ShowSecretRequest) ([]Secret, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*Secret, error)
	Describe(ctx context.Context, id SchemaObjectIdentifier) (*SecretDetails, error)
}

type SecurityIntegration added in v0.92.0

type SecurityIntegration struct {
	Name            string
	IntegrationType string
	Category        string
	Enabled         bool
	Comment         string
	CreatedOn       time.Time
}

func (*SecurityIntegration) ID added in v0.93.0

func (*SecurityIntegration) SubType added in v0.93.0

func (s *SecurityIntegration) SubType() (string, error)

type SecurityIntegrationProperty added in v0.92.0

type SecurityIntegrationProperty struct {
	Name    string
	Type    string
	Value   string
	Default string
}

func (SecurityIntegrationProperty) GetDefault added in v0.93.0

func (s SecurityIntegrationProperty) GetDefault() string

func (SecurityIntegrationProperty) GetName added in v0.93.0

func (s SecurityIntegrationProperty) GetName() string

type SecurityIntegrations added in v0.92.0

type SecurityIntegrations interface {
	CreateApiAuthenticationWithClientCredentialsFlow(ctx context.Context, request *CreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) error
	CreateApiAuthenticationWithAuthorizationCodeGrantFlow(ctx context.Context, request *CreateApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) error
	CreateApiAuthenticationWithJwtBearerFlow(ctx context.Context, request *CreateApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) error
	CreateExternalOauth(ctx context.Context, request *CreateExternalOauthSecurityIntegrationRequest) error
	CreateOauthForPartnerApplications(ctx context.Context, request *CreateOauthForPartnerApplicationsSecurityIntegrationRequest) error
	CreateOauthForCustomClients(ctx context.Context, request *CreateOauthForCustomClientsSecurityIntegrationRequest) error
	CreateSaml2(ctx context.Context, request *CreateSaml2SecurityIntegrationRequest) error
	CreateScim(ctx context.Context, request *CreateScimSecurityIntegrationRequest) error
	AlterApiAuthenticationWithClientCredentialsFlow(ctx context.Context, request *AlterApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest) error
	AlterApiAuthenticationWithAuthorizationCodeGrantFlow(ctx context.Context, request *AlterApiAuthenticationWithAuthorizationCodeGrantFlowSecurityIntegrationRequest) error
	AlterApiAuthenticationWithJwtBearerFlow(ctx context.Context, request *AlterApiAuthenticationWithJwtBearerFlowSecurityIntegrationRequest) error
	AlterExternalOauth(ctx context.Context, request *AlterExternalOauthSecurityIntegrationRequest) error
	AlterOauthForPartnerApplications(ctx context.Context, request *AlterOauthForPartnerApplicationsSecurityIntegrationRequest) error
	AlterOauthForCustomClients(ctx context.Context, request *AlterOauthForCustomClientsSecurityIntegrationRequest) error
	AlterSaml2(ctx context.Context, request *AlterSaml2SecurityIntegrationRequest) error
	AlterScim(ctx context.Context, request *AlterScimSecurityIntegrationRequest) error
	Drop(ctx context.Context, request *DropSecurityIntegrationRequest) error
	Describe(ctx context.Context, id AccountObjectIdentifier) ([]SecurityIntegrationProperty, error)
	Show(ctx context.Context, request *ShowSecurityIntegrationRequest) ([]SecurityIntegration, error)
	ShowByID(ctx context.Context, id AccountObjectIdentifier) (*SecurityIntegration, error)
}

type SecurityIntegrationsOption added in v0.96.0

type SecurityIntegrationsOption struct {
	Name AccountObjectIdentifier `ddl:"identifier"`
}

type Sequence added in v0.85.0

type Sequence struct {
	CreatedOn     string
	Name          string
	SchemaName    string
	DatabaseName  string
	NextValue     int
	Interval      int
	Owner         string
	OwnerRoleType string
	Comment       string
	Ordered       bool
}

func (*Sequence) ID added in v0.89.0

type SequenceConstraint added in v0.85.0

type SequenceConstraint struct {
	Cascade  *bool `ddl:"keyword" sql:"CASCADE"`
	Restrict *bool `ddl:"keyword" sql:"RESTRICT"`
}

type SequenceConstraintRequest added in v0.85.0

type SequenceConstraintRequest struct {
	Cascade  *bool
	Restrict *bool
}

func NewSequenceConstraintRequest added in v0.85.0

func NewSequenceConstraintRequest() *SequenceConstraintRequest

func (*SequenceConstraintRequest) WithCascade added in v0.85.0

func (s *SequenceConstraintRequest) WithCascade(Cascade *bool) *SequenceConstraintRequest

func (*SequenceConstraintRequest) WithRestrict added in v0.85.0

func (s *SequenceConstraintRequest) WithRestrict(Restrict *bool) *SequenceConstraintRequest

type SequenceDetail added in v0.85.0

type SequenceDetail struct {
	CreatedOn     string
	Name          string
	SchemaName    string
	DatabaseName  string
	NextValue     int
	Interval      int
	Owner         string
	OwnerRoleType string
	Comment       string
	Ordered       bool
}

type SequenceName added in v0.78.0

type SequenceName string

func (SequenceName) String added in v0.78.0

func (sn SequenceName) String() string

type SequenceSet added in v0.85.0

type SequenceSet struct {
	ValuesBehavior *ValuesBehavior `ddl:"keyword"`
	Comment        *string         `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type SequenceSetRequest added in v0.85.0

type SequenceSetRequest struct {
	ValuesBehavior *ValuesBehavior
	Comment        *string
}

func NewSequenceSetRequest added in v0.85.0

func NewSequenceSetRequest() *SequenceSetRequest

func (*SequenceSetRequest) WithComment added in v0.85.0

func (s *SequenceSetRequest) WithComment(Comment *string) *SequenceSetRequest

func (*SequenceSetRequest) WithValuesBehavior added in v0.85.0

func (s *SequenceSetRequest) WithValuesBehavior(ValuesBehavior *ValuesBehavior) *SequenceSetRequest

type Sequences added in v0.85.0

type Sequences interface {
	Create(ctx context.Context, request *CreateSequenceRequest) error
	Alter(ctx context.Context, request *AlterSequenceRequest) error
	Show(ctx context.Context, request *ShowSequenceRequest) ([]Sequence, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*Sequence, error)
	Describe(ctx context.Context, id SchemaObjectIdentifier) (*SequenceDetail, error)
	Drop(ctx context.Context, request *DropSequenceRequest) error
}

type SessionParameter added in v0.65.0

type SessionParameter string
const (
	SessionParameterAbortDetachedQuery                       SessionParameter = "ABORT_DETACHED_QUERY"
	SessionParameterAutocommit                               SessionParameter = "AUTOCOMMIT"
	SessionParameterBinaryInputFormat                        SessionParameter = "BINARY_INPUT_FORMAT"
	SessionParameterBinaryOutputFormat                       SessionParameter = "BINARY_OUTPUT_FORMAT"
	SessionParameterClientMemoryLimit                        SessionParameter = "CLIENT_MEMORY_LIMIT"
	SessionParameterClientMetadataRequestUseConnectionCtx    SessionParameter = "CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX"
	SessionParameterClientPrefetchThreads                    SessionParameter = "CLIENT_PREFETCH_THREADS"
	SessionParameterClientResultChunkSize                    SessionParameter = "CLIENT_RESULT_CHUNK_SIZE"
	SessionParameterClientResultColumnCaseInsensitive        SessionParameter = "CLIENT_RESULT_COLUMN_CASE_INSENSITIVE"
	SessionParameterClientMetadataUseSessionDatabase         SessionParameter = "CLIENT_METADATA_USE_SESSION_DATABASE"
	SessionParameterClientSessionKeepAlive                   SessionParameter = "CLIENT_SESSION_KEEP_ALIVE"
	SessionParameterClientSessionKeepAliveHeartbeatFrequency SessionParameter = "CLIENT_SESSION_KEEP_ALIVE_HEARTBEAT_FREQUENCY"
	SessionParameterClientTimestampTypeMapping               SessionParameter = "CLIENT_TIMESTAMP_TYPE_MAPPING"
	SessionParameterDateInputFormat                          SessionParameter = "DATE_INPUT_FORMAT"
	SessionParameterDateOutputFormat                         SessionParameter = "DATE_OUTPUT_FORMAT"
	SessionParameterEnableUnloadPhysicalTypeOptimization     SessionParameter = "ENABLE_UNLOAD_PHYSICAL_TYPE_OPTIMIZATION"
	SessionParameterErrorOnNondeterministicMerge             SessionParameter = "ERROR_ON_NONDETERMINISTIC_MERGE"
	SessionParameterErrorOnNondeterministicUpdate            SessionParameter = "ERROR_ON_NONDETERMINISTIC_UPDATE"
	SessionParameterGeographyOutputFormat                    SessionParameter = "GEOGRAPHY_OUTPUT_FORMAT"
	SessionParameterGeometryOutputFormat                     SessionParameter = "GEOMETRY_OUTPUT_FORMAT"
	SessionParameterJdbcTreatDecimalAsInt                    SessionParameter = "JDBC_TREAT_DECIMAL_AS_INT"
	SessionParameterJdbcTreatTimestampNtzAsUtc               SessionParameter = "JDBC_TREAT_TIMESTAMP_NTZ_AS_UTC"
	SessionParameterJdbcUseSessionTimezone                   SessionParameter = "JDBC_USE_SESSION_TIMEZONE"
	SessionParameterJSONIndent                               SessionParameter = "JSON_INDENT"
	SessionParameterLockTimeout                              SessionParameter = "LOCK_TIMEOUT"
	SessionParameterLogLevel                                 SessionParameter = "LOG_LEVEL"
	SessionParameterMultiStatementCount                      SessionParameter = "MULTI_STATEMENT_COUNT"
	SessionParameterNoorderSequenceAsDefault                 SessionParameter = "NOORDER_SEQUENCE_AS_DEFAULT"
	SessionParameterOdbcTreatDecimalAsInt                    SessionParameter = "ODBC_TREAT_DECIMAL_AS_INT"
	SessionParameterQueryTag                                 SessionParameter = "QUERY_TAG"
	SessionParameterQuotedIdentifiersIgnoreCase              SessionParameter = "QUOTED_IDENTIFIERS_IGNORE_CASE"
	SessionParameterRowsPerResultset                         SessionParameter = "ROWS_PER_RESULTSET"
	SessionParameterS3StageVpceDnsName                       SessionParameter = "S3_STAGE_VPCE_DNS_NAME"
	SessionParameterSearchPath                               SessionParameter = "SEARCH_PATH"
	SessionParameterSimulatedDataSharingConsumer             SessionParameter = "SIMULATED_DATA_SHARING_CONSUMER"
	SessionParameterStatementQueuedTimeoutInSeconds          SessionParameter = "STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"
	SessionParameterStatementTimeoutInSeconds                SessionParameter = "STATEMENT_TIMEOUT_IN_SECONDS"
	SessionParameterStrictJSONOutput                         SessionParameter = "STRICT_JSON_OUTPUT"
	SessionParameterTimestampDayIsAlways24h                  SessionParameter = "TIMESTAMP_DAY_IS_ALWAYS_24H"
	SessionParameterTimestampInputFormat                     SessionParameter = "TIMESTAMP_INPUT_FORMAT"
	SessionParameterTimestampLTZOutputFormat                 SessionParameter = "TIMESTAMP_LTZ_OUTPUT_FORMAT"
	SessionParameterTimestampNTZOutputFormat                 SessionParameter = "TIMESTAMP_NTZ_OUTPUT_FORMAT"
	SessionParameterTimestampOutputFormat                    SessionParameter = "TIMESTAMP_OUTPUT_FORMAT"
	SessionParameterTimestampTypeMapping                     SessionParameter = "TIMESTAMP_TYPE_MAPPING"
	SessionParameterTimestampTZOutputFormat                  SessionParameter = "TIMESTAMP_TZ_OUTPUT_FORMAT"
	SessionParameterTimezone                                 SessionParameter = "TIMEZONE"
	SessionParameterTimeInputFormat                          SessionParameter = "TIME_INPUT_FORMAT"
	SessionParameterTimeOutputFormat                         SessionParameter = "TIME_OUTPUT_FORMAT"
	SessionParameterTraceLevel                               SessionParameter = "TRACE_LEVEL"
	SessionParameterTransactionAbortOnError                  SessionParameter = "TRANSACTION_ABORT_ON_ERROR"
	SessionParameterTransactionDefaultIsolationLevel         SessionParameter = "TRANSACTION_DEFAULT_ISOLATION_LEVEL"
	SessionParameterTwoDigitCenturyStart                     SessionParameter = "TWO_DIGIT_CENTURY_START"
	SessionParameterUnsupportedDDLAction                     SessionParameter = "UNSUPPORTED_DDL_ACTION"
	SessionParameterUseCachedResult                          SessionParameter = "USE_CACHED_RESULT"
	SessionParameterWeekOfYearPolicy                         SessionParameter = "WEEK_OF_YEAR_POLICY"
	SessionParameterWeekStart                                SessionParameter = "WEEK_START"
)

type SessionParameters added in v0.65.0

type SessionParameters struct {
	AbortDetachedQuery                       *bool                             `ddl:"parameter" sql:"ABORT_DETACHED_QUERY"`
	Autocommit                               *bool                             `ddl:"parameter" sql:"AUTOCOMMIT"`
	BinaryInputFormat                        *BinaryInputFormat                `ddl:"parameter,single_quotes" sql:"BINARY_INPUT_FORMAT"`
	BinaryOutputFormat                       *BinaryOutputFormat               `ddl:"parameter,single_quotes" sql:"BINARY_OUTPUT_FORMAT"`
	ClientMemoryLimit                        *int                              `ddl:"parameter" sql:"CLIENT_MEMORY_LIMIT"`
	ClientMetadataRequestUseConnectionCtx    *bool                             `ddl:"parameter" sql:"CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX"`
	ClientPrefetchThreads                    *int                              `ddl:"parameter" sql:"CLIENT_PREFETCH_THREADS"`
	ClientResultChunkSize                    *int                              `ddl:"parameter" sql:"CLIENT_RESULT_CHUNK_SIZE"`
	ClientResultColumnCaseInsensitive        *bool                             `ddl:"parameter" sql:"CLIENT_RESULT_COLUMN_CASE_INSENSITIVE"`
	ClientMetadataUseSessionDatabase         *bool                             `ddl:"parameter" sql:"CLIENT_METADATA_USE_SESSION_DATABASE"`
	ClientSessionKeepAlive                   *bool                             `ddl:"parameter" sql:"CLIENT_SESSION_KEEP_ALIVE"`
	ClientSessionKeepAliveHeartbeatFrequency *int                              `ddl:"parameter" sql:"CLIENT_SESSION_KEEP_ALIVE_HEARTBEAT_FREQUENCY"`
	ClientTimestampTypeMapping               *ClientTimestampTypeMapping       `ddl:"parameter,single_quotes" sql:"CLIENT_TIMESTAMP_TYPE_MAPPING"`
	DateInputFormat                          *string                           `ddl:"parameter,single_quotes" sql:"DATE_INPUT_FORMAT"`
	DateOutputFormat                         *string                           `ddl:"parameter,single_quotes" sql:"DATE_OUTPUT_FORMAT"`
	EnableUnloadPhysicalTypeOptimization     *bool                             `ddl:"parameter" sql:"ENABLE_UNLOAD_PHYSICAL_TYPE_OPTIMIZATION"`
	ErrorOnNondeterministicMerge             *bool                             `ddl:"parameter" sql:"ERROR_ON_NONDETERMINISTIC_MERGE"`
	ErrorOnNondeterministicUpdate            *bool                             `ddl:"parameter" sql:"ERROR_ON_NONDETERMINISTIC_UPDATE"`
	GeographyOutputFormat                    *GeographyOutputFormat            `ddl:"parameter,single_quotes" sql:"GEOGRAPHY_OUTPUT_FORMAT"`
	GeometryOutputFormat                     *GeometryOutputFormat             `ddl:"parameter,single_quotes" sql:"GEOMETRY_OUTPUT_FORMAT"`
	JdbcTreatDecimalAsInt                    *bool                             `ddl:"parameter" sql:"JDBC_TREAT_DECIMAL_AS_INT"`
	JdbcTreatTimestampNtzAsUtc               *bool                             `ddl:"parameter" sql:"JDBC_TREAT_TIMESTAMP_NTZ_AS_UTC"`
	JdbcUseSessionTimezone                   *bool                             `ddl:"parameter" sql:"JDBC_USE_SESSION_TIMEZONE"`
	JSONIndent                               *int                              `ddl:"parameter" sql:"JSON_INDENT"`
	LockTimeout                              *int                              `ddl:"parameter" sql:"LOCK_TIMEOUT"`
	LogLevel                                 *LogLevel                         `ddl:"parameter" sql:"LOG_LEVEL"`
	MultiStatementCount                      *int                              `ddl:"parameter" sql:"MULTI_STATEMENT_COUNT"`
	NoorderSequenceAsDefault                 *bool                             `ddl:"parameter" sql:"NOORDER_SEQUENCE_AS_DEFAULT"`
	OdbcTreatDecimalAsInt                    *bool                             `ddl:"parameter" sql:"ODBC_TREAT_DECIMAL_AS_INT"`
	QueryTag                                 *string                           `ddl:"parameter,single_quotes" sql:"QUERY_TAG"`
	QuotedIdentifiersIgnoreCase              *bool                             `ddl:"parameter" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	RowsPerResultset                         *int                              `ddl:"parameter" sql:"ROWS_PER_RESULTSET"`
	S3StageVpceDnsName                       *string                           `ddl:"parameter,single_quotes" sql:"S3_STAGE_VPCE_DNS_NAME"`
	SearchPath                               *string                           `ddl:"parameter,single_quotes" sql:"SEARCH_PATH"`
	SimulatedDataSharingConsumer             *string                           `ddl:"parameter,single_quotes" sql:"SIMULATED_DATA_SHARING_CONSUMER"`
	StatementQueuedTimeoutInSeconds          *int                              `ddl:"parameter" sql:"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"`
	StatementTimeoutInSeconds                *int                              `ddl:"parameter" sql:"STATEMENT_TIMEOUT_IN_SECONDS"`
	StrictJSONOutput                         *bool                             `ddl:"parameter" sql:"STRICT_JSON_OUTPUT"`
	TimestampDayIsAlways24h                  *bool                             `ddl:"parameter" sql:"TIMESTAMP_DAY_IS_ALWAYS_24H"`
	TimestampInputFormat                     *string                           `ddl:"parameter,single_quotes" sql:"TIMESTAMP_INPUT_FORMAT"`
	TimestampLTZOutputFormat                 *string                           `ddl:"parameter,single_quotes" sql:"TIMESTAMP_LTZ_OUTPUT_FORMAT"`
	TimestampNTZOutputFormat                 *string                           `ddl:"parameter,single_quotes" sql:"TIMESTAMP_NTZ_OUTPUT_FORMAT"`
	TimestampOutputFormat                    *string                           `ddl:"parameter,single_quotes" sql:"TIMESTAMP_OUTPUT_FORMAT"`
	TimestampTypeMapping                     *TimestampTypeMapping             `ddl:"parameter,single_quotes" sql:"TIMESTAMP_TYPE_MAPPING"`
	TimestampTZOutputFormat                  *string                           `ddl:"parameter,single_quotes" sql:"TIMESTAMP_TZ_OUTPUT_FORMAT"`
	Timezone                                 *string                           `ddl:"parameter,single_quotes" sql:"TIMEZONE"`
	TimeInputFormat                          *string                           `ddl:"parameter,single_quotes" sql:"TIME_INPUT_FORMAT"`
	TimeOutputFormat                         *string                           `ddl:"parameter,single_quotes" sql:"TIME_OUTPUT_FORMAT"`
	TraceLevel                               *TraceLevel                       `ddl:"parameter,single_quotes" sql:"TRACE_LEVEL"`
	TransactionAbortOnError                  *bool                             `ddl:"parameter" sql:"TRANSACTION_ABORT_ON_ERROR"`
	TransactionDefaultIsolationLevel         *TransactionDefaultIsolationLevel `ddl:"parameter,single_quotes" sql:"TRANSACTION_DEFAULT_ISOLATION_LEVEL"`
	TwoDigitCenturyStart                     *int                              `ddl:"parameter" sql:"TWO_DIGIT_CENTURY_START"`
	UnsupportedDDLAction                     *UnsupportedDDLAction             `ddl:"parameter,single_quotes" sql:"UNSUPPORTED_DDL_ACTION"`
	UseCachedResult                          *bool                             `ddl:"parameter" sql:"USE_CACHED_RESULT"`
	WeekOfYearPolicy                         *int                              `ddl:"parameter" sql:"WEEK_OF_YEAR_POLICY"`
	WeekStart                                *int                              `ddl:"parameter" sql:"WEEK_START"`
}

SessionParameters is based on https://docs.snowflake.com/en/sql-reference/parameters#session-parameters.

func GetSessionParametersFrom added in v0.75.0

func GetSessionParametersFrom(params map[string]any) (*SessionParameters, error)

type SessionParametersUnset added in v0.65.0

type SessionParametersUnset struct {
	AbortDetachedQuery                       *bool `ddl:"keyword" sql:"ABORT_DETACHED_QUERY"`
	Autocommit                               *bool `ddl:"keyword" sql:"AUTOCOMMIT"`
	BinaryInputFormat                        *bool `ddl:"keyword" sql:"BINARY_INPUT_FORMAT"`
	BinaryOutputFormat                       *bool `ddl:"keyword" sql:"BINARY_OUTPUT_FORMAT"`
	ClientMemoryLimit                        *bool `ddl:"keyword" sql:"CLIENT_MEMORY_LIMIT"`
	ClientMetadataRequestUseConnectionCtx    *bool `ddl:"keyword" sql:"CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX"`
	ClientPrefetchThreads                    *bool `ddl:"keyword" sql:"CLIENT_PREFETCH_THREADS"`
	ClientResultChunkSize                    *bool `ddl:"keyword" sql:"CLIENT_RESULT_CHUNK_SIZE"`
	ClientResultColumnCaseInsensitive        *bool `ddl:"keyword" sql:"CLIENT_RESULT_COLUMN_CASE_INSENSITIVE"`
	ClientMetadataUseSessionDatabase         *bool `ddl:"keyword" sql:"CLIENT_METADATA_USE_SESSION_DATABASE"`
	ClientSessionKeepAlive                   *bool `ddl:"keyword" sql:"CLIENT_SESSION_KEEP_ALIVE"`
	ClientSessionKeepAliveHeartbeatFrequency *bool `ddl:"keyword" sql:"CLIENT_SESSION_KEEP_ALIVE_HEARTBEAT_FREQUENCY"`
	ClientTimestampTypeMapping               *bool `ddl:"keyword" sql:"CLIENT_TIMESTAMP_TYPE_MAPPING"`
	DateInputFormat                          *bool `ddl:"keyword" sql:"DATE_INPUT_FORMAT"`
	DateOutputFormat                         *bool `ddl:"keyword" sql:"DATE_OUTPUT_FORMAT"`
	EnableUnloadPhysicalTypeOptimization     *bool `ddl:"keyword" sql:"ENABLE_UNLOAD_PHYSICAL_TYPE_OPTIMIZATION"`
	ErrorOnNondeterministicMerge             *bool `ddl:"keyword" sql:"ERROR_ON_NONDETERMINISTIC_MERGE"`
	ErrorOnNondeterministicUpdate            *bool `ddl:"keyword" sql:"ERROR_ON_NONDETERMINISTIC_UPDATE"`
	GeographyOutputFormat                    *bool `ddl:"keyword" sql:"GEOGRAPHY_OUTPUT_FORMAT"`
	GeometryOutputFormat                     *bool `ddl:"keyword" sql:"GEOMETRY_OUTPUT_FORMAT"`
	JdbcTreatDecimalAsInt                    *bool `ddl:"keyword" sql:"JDBC_TREAT_DECIMAL_AS_INT"`
	JdbcTreatTimestampNtzAsUtc               *bool `ddl:"keyword" sql:"JDBC_TREAT_TIMESTAMP_NTZ_AS_UTC"`
	JdbcUseSessionTimezone                   *bool `ddl:"keyword" sql:"JDBC_USE_SESSION_TIMEZONE"`
	JSONIndent                               *bool `ddl:"keyword" sql:"JSON_INDENT"`
	LockTimeout                              *bool `ddl:"keyword" sql:"LOCK_TIMEOUT"`
	LogLevel                                 *bool `ddl:"keyword" sql:"LOG_LEVEL"`
	MultiStatementCount                      *bool `ddl:"keyword" sql:"MULTI_STATEMENT_COUNT"`
	NoorderSequenceAsDefault                 *bool `ddl:"keyword" sql:"NOORDER_SEQUENCE_AS_DEFAULT"`
	OdbcTreatDecimalAsInt                    *bool `ddl:"keyword" sql:"ODBC_TREAT_DECIMAL_AS_INT"`
	QueryTag                                 *bool `ddl:"keyword" sql:"QUERY_TAG"`
	QuotedIdentifiersIgnoreCase              *bool `ddl:"keyword" sql:"QUOTED_IDENTIFIERS_IGNORE_CASE"`
	RowsPerResultset                         *bool `ddl:"keyword" sql:"ROWS_PER_RESULTSET"`
	S3StageVpceDnsName                       *bool `ddl:"keyword" sql:"S3_STAGE_VPCE_DNS_NAME"`
	SearchPath                               *bool `ddl:"keyword" sql:"SEARCH_PATH"`
	SimulatedDataSharingConsumer             *bool `ddl:"keyword" sql:"SIMULATED_DATA_SHARING_CONSUMER"`
	StatementQueuedTimeoutInSeconds          *bool `ddl:"keyword" sql:"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"`
	StatementTimeoutInSeconds                *bool `ddl:"keyword" sql:"STATEMENT_TIMEOUT_IN_SECONDS"`
	StrictJSONOutput                         *bool `ddl:"keyword" sql:"STRICT_JSON_OUTPUT"`
	TimestampDayIsAlways24h                  *bool `ddl:"keyword" sql:"TIMESTAMP_DAY_IS_ALWAYS_24H"`
	TimestampInputFormat                     *bool `ddl:"keyword" sql:"TIMESTAMP_INPUT_FORMAT"`
	TimestampLTZOutputFormat                 *bool `ddl:"keyword" sql:"TIMESTAMP_LTZ_OUTPUT_FORMAT"`
	TimestampNTZOutputFormat                 *bool `ddl:"keyword" sql:"TIMESTAMP_NTZ_OUTPUT_FORMAT"`
	TimestampOutputFormat                    *bool `ddl:"keyword" sql:"TIMESTAMP_OUTPUT_FORMAT"`
	TimestampTypeMapping                     *bool `ddl:"keyword" sql:"TIMESTAMP_TYPE_MAPPING"`
	TimestampTZOutputFormat                  *bool `ddl:"keyword" sql:"TIMESTAMP_TZ_OUTPUT_FORMAT"`
	Timezone                                 *bool `ddl:"keyword" sql:"TIMEZONE"`
	TimeInputFormat                          *bool `ddl:"keyword" sql:"TIME_INPUT_FORMAT"`
	TimeOutputFormat                         *bool `ddl:"keyword" sql:"TIME_OUTPUT_FORMAT"`
	TraceLevel                               *bool `ddl:"keyword" sql:"TRACE_LEVEL"`
	TransactionAbortOnError                  *bool `ddl:"keyword" sql:"TRANSACTION_ABORT_ON_ERROR"`
	TransactionDefaultIsolationLevel         *bool `ddl:"keyword" sql:"TRANSACTION_DEFAULT_ISOLATION_LEVEL"`
	TwoDigitCenturyStart                     *bool `ddl:"keyword" sql:"TWO_DIGIT_CENTURY_START"`
	UnsupportedDDLAction                     *bool `ddl:"keyword" sql:"UNSUPPORTED_DDL_ACTION"`
	UseCachedResult                          *bool `ddl:"keyword" sql:"USE_CACHED_RESULT"`
	WeekOfYearPolicy                         *bool `ddl:"keyword" sql:"WEEK_OF_YEAR_POLICY"`
	WeekStart                                *bool `ddl:"keyword" sql:"WEEK_START"`
}

func GetSessionParametersUnsetFrom added in v0.75.0

func GetSessionParametersUnsetFrom(params map[string]any) (*SessionParametersUnset, error)

type SessionPolicies added in v0.65.0

type SessionPolicy added in v0.65.0

type SessionPolicy struct {
	CreatedOn     string
	Name          string
	DatabaseName  string
	SchemaName    string
	Kind          string
	Owner         string
	Comment       string
	Options       string
	OwnerRoleType string
}

func (*SessionPolicy) ID added in v0.65.0

type SessionPolicyDescription added in v0.72.0

type SessionPolicyDescription struct {
	CreatedOn                string
	Name                     string
	SessionIdleTimeoutMins   int
	SessionUIIdleTimeoutMins int
	Comment                  string
}

type SessionPolicySet added in v0.72.0

type SessionPolicySet struct {
	SessionIdleTimeoutMins   *int    `ddl:"parameter,no_quotes" sql:"SESSION_IDLE_TIMEOUT_MINS"`
	SessionUiIdleTimeoutMins *int    `ddl:"parameter,no_quotes" sql:"SESSION_UI_IDLE_TIMEOUT_MINS"`
	Comment                  *string `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type SessionPolicySetRequest added in v0.72.0

type SessionPolicySetRequest struct {
	SessionIdleTimeoutMins   *int
	SessionUiIdleTimeoutMins *int
	Comment                  *string
}

func NewSessionPolicySetRequest added in v0.72.0

func NewSessionPolicySetRequest() *SessionPolicySetRequest

func (*SessionPolicySetRequest) WithComment added in v0.72.0

func (s *SessionPolicySetRequest) WithComment(Comment *string) *SessionPolicySetRequest

func (*SessionPolicySetRequest) WithSessionIdleTimeoutMins added in v0.72.0

func (s *SessionPolicySetRequest) WithSessionIdleTimeoutMins(SessionIdleTimeoutMins *int) *SessionPolicySetRequest

func (*SessionPolicySetRequest) WithSessionUiIdleTimeoutMins added in v0.72.0

func (s *SessionPolicySetRequest) WithSessionUiIdleTimeoutMins(SessionUiIdleTimeoutMins *int) *SessionPolicySetRequest

type SessionPolicyUnset added in v0.72.0

type SessionPolicyUnset struct {
	SessionIdleTimeoutMins   *bool `ddl:"keyword" sql:"SESSION_IDLE_TIMEOUT_MINS"`
	SessionUiIdleTimeoutMins *bool `ddl:"keyword" sql:"SESSION_UI_IDLE_TIMEOUT_MINS"`
	Comment                  *bool `ddl:"keyword" sql:"COMMENT"`
}

type SessionPolicyUnsetRequest added in v0.72.0

type SessionPolicyUnsetRequest struct {
	SessionIdleTimeoutMins   *bool
	SessionUiIdleTimeoutMins *bool
	Comment                  *bool
}

func NewSessionPolicyUnsetRequest added in v0.72.0

func NewSessionPolicyUnsetRequest() *SessionPolicyUnsetRequest

func (*SessionPolicyUnsetRequest) WithComment added in v0.72.0

func (s *SessionPolicyUnsetRequest) WithComment(Comment *bool) *SessionPolicyUnsetRequest

func (*SessionPolicyUnsetRequest) WithSessionIdleTimeoutMins added in v0.72.0

func (s *SessionPolicyUnsetRequest) WithSessionIdleTimeoutMins(SessionIdleTimeoutMins *bool) *SessionPolicyUnsetRequest

func (*SessionPolicyUnsetRequest) WithSessionUiIdleTimeoutMins added in v0.72.0

func (s *SessionPolicyUnsetRequest) WithSessionUiIdleTimeoutMins(SessionUiIdleTimeoutMins *bool) *SessionPolicyUnsetRequest

type SessionSet added in v0.65.0

type SessionSet struct {
	SessionParameters *SessionParameters `ddl:"list"`
}

type SessionUnset added in v0.65.0

type SessionUnset struct {
	SessionParametersUnset *SessionParametersUnset `ddl:"list"`
}

type Sessions

type Sessions interface {
	// Parameters
	AlterSession(ctx context.Context, opts *AlterSessionOptions) error
	ShowParameters(ctx context.Context, opts *ShowParametersOptions) ([]*Parameter, error)
	// Context
	UseWarehouse(ctx context.Context, warehouse AccountObjectIdentifier) error
	UseDatabase(ctx context.Context, database AccountObjectIdentifier) error
	UseSchema(ctx context.Context, schema DatabaseObjectIdentifier) error
	UseRole(ctx context.Context, role AccountObjectIdentifier) error
	UseSecondaryRoles(ctx context.Context, opt SecondaryRoleOption) error
}

type SetAmazonPush added in v0.85.0

type SetAmazonPush struct {
	AwsSnsTopicArn string `ddl:"parameter,single_quotes" sql:"AWS_SNS_TOPIC_ARN"`
	AwsSnsRoleArn  string `ddl:"parameter,single_quotes" sql:"AWS_SNS_ROLE_ARN"`
}

type SetAmazonPushRequest added in v0.85.0

type SetAmazonPushRequest struct {
	AwsSnsTopicArn string // required
	AwsSnsRoleArn  string // required
}

func NewSetAmazonPushRequest added in v0.85.0

func NewSetAmazonPushRequest(
	AwsSnsTopicArn string,
	AwsSnsRoleArn string,
) *SetAmazonPushRequest

type SetAwsApiParams added in v0.85.0

type SetAwsApiParams struct {
	ApiAwsRoleArn *string `ddl:"parameter,single_quotes" sql:"API_AWS_ROLE_ARN"`
	ApiKey        *string `ddl:"parameter,single_quotes" sql:"API_KEY"`
}

type SetAwsApiParamsRequest added in v0.85.0

type SetAwsApiParamsRequest struct {
	ApiAwsRoleArn *string
	ApiKey        *string
}

func NewSetAwsApiParamsRequest added in v0.85.0

func NewSetAwsApiParamsRequest() *SetAwsApiParamsRequest

func (*SetAwsApiParamsRequest) WithApiAwsRoleArn added in v0.85.0

func (s *SetAwsApiParamsRequest) WithApiAwsRoleArn(ApiAwsRoleArn *string) *SetAwsApiParamsRequest

func (*SetAwsApiParamsRequest) WithApiKey added in v0.85.0

func (s *SetAwsApiParamsRequest) WithApiKey(ApiKey *string) *SetAwsApiParamsRequest

type SetAzureApiParams added in v0.85.0

type SetAzureApiParams struct {
	AzureTenantId        *string `ddl:"parameter,single_quotes" sql:"AZURE_TENANT_ID"`
	AzureAdApplicationId *string `ddl:"parameter,single_quotes" sql:"AZURE_AD_APPLICATION_ID"`
	ApiKey               *string `ddl:"parameter,single_quotes" sql:"API_KEY"`
}

type SetAzureApiParamsRequest added in v0.85.0

type SetAzureApiParamsRequest struct {
	AzureTenantId        *string
	AzureAdApplicationId *string
	ApiKey               *string
}

func NewSetAzureApiParamsRequest added in v0.85.0

func NewSetAzureApiParamsRequest() *SetAzureApiParamsRequest

func (*SetAzureApiParamsRequest) WithApiKey added in v0.85.0

func (*SetAzureApiParamsRequest) WithAzureAdApplicationId added in v0.85.0

func (s *SetAzureApiParamsRequest) WithAzureAdApplicationId(AzureAdApplicationId *string) *SetAzureApiParamsRequest

func (*SetAzureApiParamsRequest) WithAzureTenantId added in v0.85.0

func (s *SetAzureApiParamsRequest) WithAzureTenantId(AzureTenantId *string) *SetAzureApiParamsRequest

type SetAzurePush added in v0.85.0

type SetAzurePush struct {
	AzureStorageQueuePrimaryUri string `ddl:"parameter,single_quotes" sql:"AZURE_STORAGE_QUEUE_PRIMARY_URI"`
	AzureTenantId               string `ddl:"parameter,single_quotes" sql:"AZURE_TENANT_ID"`
}

type SetAzurePushRequest added in v0.85.0

type SetAzurePushRequest struct {
	AzureStorageQueuePrimaryUri string // required
	AzureTenantId               string // required
}

func NewSetAzurePushRequest added in v0.85.0

func NewSetAzurePushRequest(
	AzureStorageQueuePrimaryUri string,
	AzureTenantId string,
) *SetAzurePushRequest

type SetAzureStorageParams added in v0.84.0

type SetAzureStorageParams struct {
	AzureTenantId string `ddl:"parameter,single_quotes" sql:"AZURE_TENANT_ID"`
}

type SetAzureStorageParamsRequest added in v0.84.0

type SetAzureStorageParamsRequest struct {
	AzureTenantId string // required
}

func NewSetAzureStorageParamsRequest added in v0.84.0

func NewSetAzureStorageParamsRequest(
	AzureTenantId string,
) *SetAzureStorageParamsRequest

type SetColumnCommentOptions added in v0.66.0

type SetColumnCommentOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	Column ObjectIdentifier `ddl:"identifier" sql:"COLUMN"`
	Value  *string          `ddl:"parameter,single_quotes,no_equals" sql:"IS"`
	// contains filtered or unexported fields
}

SetColumnCommentOptions is based on https://docs.snowflake.com/en/sql-reference/sql/comment.

type SetCommentOptions added in v0.66.0

type SetCommentOptions struct {
	IfExists *bool `ddl:"keyword" sql:"IF EXISTS"`

	ObjectType ObjectType       `ddl:"keyword"`
	ObjectName ObjectIdentifier `ddl:"identifier"`
	Value      *string          `ddl:"parameter,single_quotes,no_equals" sql:"IS"`
	// contains filtered or unexported fields
}

SetCommentOptions is based on https://docs.snowflake.com/en/sql-reference/sql/comment.

type SetDefaultReleaseDirective added in v0.84.0

type SetDefaultReleaseDirective struct {
	Version string `ddl:"parameter,no_quotes" sql:"VERSION"`
	Patch   int    `ddl:"parameter,no_quotes" sql:"PATCH"`
}

type SetDefaultReleaseDirectiveRequest added in v0.84.0

type SetDefaultReleaseDirectiveRequest struct {
	Version string // required
	Patch   int    // required
}

func NewSetDefaultReleaseDirectiveRequest added in v0.84.0

func NewSetDefaultReleaseDirectiveRequest(
	Version string,
	Patch int,
) *SetDefaultReleaseDirectiveRequest

type SetEmailParams added in v0.85.0

type SetEmailParams struct {
	AllowedRecipients []NotificationIntegrationAllowedRecipient `ddl:"parameter,parentheses" sql:"ALLOWED_RECIPIENTS"`
}

type SetEmailParamsRequest added in v0.85.0

type SetEmailParamsRequest struct {
	AllowedRecipients []NotificationIntegrationAllowedRecipient // required
}

func NewSetEmailParamsRequest added in v0.85.0

func NewSetEmailParamsRequest(
	AllowedRecipients []NotificationIntegrationAllowedRecipient,
) *SetEmailParamsRequest

type SetForBasicAuthentication added in v0.97.0

type SetForBasicAuthentication struct {
	Username *string `ddl:"parameter,single_quotes" sql:"USERNAME"`
	Password *string `ddl:"parameter,single_quotes" sql:"PASSWORD"`
}

type SetForBasicAuthenticationRequest added in v0.97.0

type SetForBasicAuthenticationRequest struct {
	Username *string
	Password *string
}

func NewSetForBasicAuthenticationRequest added in v0.97.0

func NewSetForBasicAuthenticationRequest() *SetForBasicAuthenticationRequest

func (*SetForBasicAuthenticationRequest) WithPassword added in v0.97.0

func (*SetForBasicAuthenticationRequest) WithUsername added in v0.97.0

type SetForFlow added in v0.97.0

type SetForFlow struct {
	SetForOAuthClientCredentials *SetForOAuthClientCredentials `ddl:"keyword"`
	SetForOAuthAuthorization     *SetForOAuthAuthorization     `ddl:"keyword"`
	SetForBasicAuthentication    *SetForBasicAuthentication    `ddl:"keyword"`
	SetForGenericString          *SetForGenericString          `ddl:"keyword"`
}

type SetForFlowRequest added in v0.97.0

type SetForFlowRequest struct {
	SetForOAuthClientCredentials *SetForOAuthClientCredentialsRequest
	SetForOAuthAuthorization     *SetForOAuthAuthorizationRequest
	SetForBasicAuthentication    *SetForBasicAuthenticationRequest
	SetForGenericString          *SetForGenericStringRequest
}

func NewSetForFlowRequest added in v0.97.0

func NewSetForFlowRequest() *SetForFlowRequest

func (*SetForFlowRequest) WithSetForBasicAuthentication added in v0.97.0

func (s *SetForFlowRequest) WithSetForBasicAuthentication(SetForBasicAuthentication SetForBasicAuthenticationRequest) *SetForFlowRequest

func (*SetForFlowRequest) WithSetForGenericString added in v0.97.0

func (s *SetForFlowRequest) WithSetForGenericString(SetForGenericString SetForGenericStringRequest) *SetForFlowRequest

func (*SetForFlowRequest) WithSetForOAuthAuthorization added in v0.97.0

func (s *SetForFlowRequest) WithSetForOAuthAuthorization(SetForOAuthAuthorization SetForOAuthAuthorizationRequest) *SetForFlowRequest

func (*SetForFlowRequest) WithSetForOAuthClientCredentials added in v0.97.0

func (s *SetForFlowRequest) WithSetForOAuthClientCredentials(SetForOAuthClientCredentials SetForOAuthClientCredentialsRequest) *SetForFlowRequest

type SetForGenericString added in v0.97.0

type SetForGenericString struct {
	SecretString *string `ddl:"parameter,single_quotes" sql:"SECRET_STRING"`
}

type SetForGenericStringRequest added in v0.97.0

type SetForGenericStringRequest struct {
	SecretString *string
}

func NewSetForGenericStringRequest added in v0.97.0

func NewSetForGenericStringRequest() *SetForGenericStringRequest

func (*SetForGenericStringRequest) WithSecretString added in v0.97.0

func (s *SetForGenericStringRequest) WithSecretString(SecretString string) *SetForGenericStringRequest

type SetForOAuthAuthorization added in v0.97.0

type SetForOAuthAuthorization struct {
	OauthRefreshToken           *string `ddl:"parameter,single_quotes" sql:"OAUTH_REFRESH_TOKEN"`
	OauthRefreshTokenExpiryTime *string `ddl:"parameter,single_quotes" sql:"OAUTH_REFRESH_TOKEN_EXPIRY_TIME"`
}

type SetForOAuthAuthorizationRequest added in v0.97.0

type SetForOAuthAuthorizationRequest struct {
	OauthRefreshToken           *string
	OauthRefreshTokenExpiryTime *string
}

func NewSetForOAuthAuthorizationRequest added in v0.97.0

func NewSetForOAuthAuthorizationRequest() *SetForOAuthAuthorizationRequest

func (*SetForOAuthAuthorizationRequest) WithOauthRefreshToken added in v0.97.0

func (s *SetForOAuthAuthorizationRequest) WithOauthRefreshToken(OauthRefreshToken string) *SetForOAuthAuthorizationRequest

func (*SetForOAuthAuthorizationRequest) WithOauthRefreshTokenExpiryTime added in v0.97.0

func (s *SetForOAuthAuthorizationRequest) WithOauthRefreshTokenExpiryTime(OauthRefreshTokenExpiryTime string) *SetForOAuthAuthorizationRequest

type SetForOAuthClientCredentials added in v0.97.0

type SetForOAuthClientCredentials struct {
	OauthScopes *OauthScopesList `ddl:"parameter,parentheses" sql:"OAUTH_SCOPES"`
}

type SetForOAuthClientCredentialsRequest added in v0.97.0

type SetForOAuthClientCredentialsRequest struct {
	OauthScopes *OauthScopesListRequest
}

func NewSetForOAuthClientCredentialsRequest added in v0.97.0

func NewSetForOAuthClientCredentialsRequest() *SetForOAuthClientCredentialsRequest

func (*SetForOAuthClientCredentialsRequest) WithOauthScopes added in v0.97.0

type SetGoogleApiParams added in v0.85.0

type SetGoogleApiParams struct {
	GoogleAudience string `ddl:"parameter,single_quotes" sql:"GOOGLE_AUDIENCE"`
}

type SetGoogleApiParamsRequest added in v0.85.0

type SetGoogleApiParamsRequest struct {
	GoogleAudience string // required
}

func NewSetGoogleApiParamsRequest added in v0.85.0

func NewSetGoogleApiParamsRequest(
	GoogleAudience string,
) *SetGoogleApiParamsRequest

type SetGooglePush added in v0.85.0

type SetGooglePush struct {
	GcpPubsubSubscriptionName string `ddl:"parameter,single_quotes" sql:"GCP_PUBSUB_SUBSCRIPTION_NAME"`
}

type SetGooglePushRequest added in v0.85.0

type SetGooglePushRequest struct {
	GcpPubsubSubscriptionName string // required
}

func NewSetGooglePushRequest added in v0.85.0

func NewSetGooglePushRequest(
	GcpPubsubSubscriptionName string,
) *SetGooglePushRequest

type SetPushParams added in v0.85.0

type SetPushParams struct {
	SetAmazonPush *SetAmazonPush `ddl:"keyword"`
	SetGooglePush *SetGooglePush `ddl:"keyword"`
	SetAzurePush  *SetAzurePush  `ddl:"keyword"`
}

type SetPushParamsRequest added in v0.85.0

type SetPushParamsRequest struct {
	SetAmazonPush *SetAmazonPushRequest
	SetGooglePush *SetGooglePushRequest
	SetAzurePush  *SetAzurePushRequest
}

func NewSetPushParamsRequest added in v0.85.0

func NewSetPushParamsRequest() *SetPushParamsRequest

func (*SetPushParamsRequest) WithSetAmazonPush added in v0.85.0

func (s *SetPushParamsRequest) WithSetAmazonPush(SetAmazonPush *SetAmazonPushRequest) *SetPushParamsRequest

func (*SetPushParamsRequest) WithSetAzurePush added in v0.85.0

func (s *SetPushParamsRequest) WithSetAzurePush(SetAzurePush *SetAzurePushRequest) *SetPushParamsRequest

func (*SetPushParamsRequest) WithSetGooglePush added in v0.85.0

func (s *SetPushParamsRequest) WithSetGooglePush(SetGooglePush *SetGooglePushRequest) *SetPushParamsRequest

type SetReleaseDirective added in v0.84.0

type SetReleaseDirective struct {
	ReleaseDirective string   `ddl:"keyword,no_quotes"`
	Accounts         []string `ddl:"parameter,no_quotes,must_parentheses" sql:"ACCOUNTS"`
	Version          string   `ddl:"parameter,no_quotes" sql:"VERSION"`
	Patch            int      `ddl:"parameter,no_quotes" sql:"PATCH"`
}

type SetReleaseDirectiveRequest added in v0.84.0

type SetReleaseDirectiveRequest struct {
	ReleaseDirective string   // required
	Accounts         []string // required
	Version          string   // required
	Patch            int      // required
}

func NewSetReleaseDirectiveRequest added in v0.84.0

func NewSetReleaseDirectiveRequest(
	ReleaseDirective string,
	Accounts []string,
	Version string,
	Patch int,
) *SetReleaseDirectiveRequest

type SetS3StorageParams added in v0.84.0

type SetS3StorageParams struct {
	StorageAwsRoleArn   string  `ddl:"parameter,single_quotes" sql:"STORAGE_AWS_ROLE_ARN"`
	StorageAwsObjectAcl *string `ddl:"parameter,single_quotes" sql:"STORAGE_AWS_OBJECT_ACL"`
}

type SetS3StorageParamsRequest added in v0.84.0

type SetS3StorageParamsRequest struct {
	StorageAwsRoleArn   string // required
	StorageAwsObjectAcl *string
}

func NewSetS3StorageParamsRequest added in v0.84.0

func NewSetS3StorageParamsRequest(
	StorageAwsRoleArn string,
) *SetS3StorageParamsRequest

func (*SetS3StorageParamsRequest) WithStorageAwsObjectAcl added in v0.84.0

func (s *SetS3StorageParamsRequest) WithStorageAwsObjectAcl(StorageAwsObjectAcl *string) *SetS3StorageParamsRequest

type SetTagRequest added in v0.87.1

type SetTagRequest struct {
	SetTags []TagAssociation
	// contains filtered or unexported fields
}

func NewSetTagRequest added in v0.87.1

func NewSetTagRequest(objectType ObjectType, objectName ObjectIdentifier) *SetTagRequest

func (*SetTagRequest) WithSetTags added in v0.87.1

func (s *SetTagRequest) WithSetTags(tags []TagAssociation) *SetTagRequest

type Share added in v0.65.0

type Share struct {
	CreatedOn    time.Time
	Kind         ShareKind
	Name         ExternalObjectIdentifier
	DatabaseName AccountObjectIdentifier
	To           []AccountIdentifier
	Owner        string
	Comment      string
}

func (*Share) ExternalID added in v0.65.0

func (v *Share) ExternalID() ExternalObjectIdentifier

func (*Share) ID added in v0.65.0

func (*Share) ObjectType added in v0.65.0

func (v *Share) ObjectType() ObjectType

type ShareAdd added in v0.65.0

type ShareAdd struct {
	Accounts          []AccountIdentifier `ddl:"parameter" sql:"ACCOUNTS"`
	ShareRestrictions *bool               `ddl:"parameter" sql:"SHARE_RESTRICTIONS"`
}

type ShareDetails added in v0.65.0

type ShareDetails struct {
	SharedObjects []ShareInfo
}

type ShareGrantOn added in v0.85.0

type ShareGrantOn struct {
	Database AccountObjectIdentifier             `ddl:"identifier" sql:"DATABASE"`
	Schema   DatabaseObjectIdentifier            `ddl:"identifier" sql:"SCHEMA"`
	Function SchemaObjectIdentifierWithArguments `ddl:"identifier" sql:"FUNCTION"`
	Table    *OnTable                            `ddl:"-"`
	Tag      SchemaObjectIdentifier              `ddl:"identifier" sql:"TAG"`
	View     SchemaObjectIdentifier              `ddl:"identifier" sql:"VIEW"`
}

type ShareInfo added in v0.65.0

type ShareInfo struct {
	Kind     ObjectType
	Name     ObjectIdentifier
	SharedOn time.Time
}

type ShareKind added in v0.65.0

type ShareKind string
const (
	ShareKindInbound  ShareKind = "INBOUND"
	ShareKindOutbound ShareKind = "OUTBOUND"
)

type ShareRemove added in v0.65.0

type ShareRemove struct {
	Accounts []AccountIdentifier `ddl:"parameter" sql:"ACCOUNTS"`
}

type ShareSet added in v0.65.0

type ShareSet struct {
	Accounts []AccountIdentifier `ddl:"parameter" sql:"ACCOUNTS"`
	Comment  *string             `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type ShareUnset added in v0.65.0

type ShareUnset struct {
	Comment *bool `ddl:"keyword" sql:"COMMENT"`
}

type Shares added in v0.65.0

type ShowAccountOptions added in v0.66.0

type ShowAccountOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowAccountOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-organisation-accounts.

type ShowAlertOptions added in v0.68.0

type ShowAlertOptions struct {
	Terse *bool `ddl:"keyword" sql:"TERSE"`

	// optional
	Like       *Like   `ddl:"keyword" sql:"LIKE"`
	In         *In     `ddl:"keyword" sql:"IN"`
	StartsWith *string `ddl:"parameter,no_equals,single_quotes" sql:"STARTS WITH"`
	Limit      *int    `ddl:"parameter,no_equals" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowAlertOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-alerts.

type ShowApiIntegrationOptions added in v0.85.0

type ShowApiIntegrationOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowApiIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-integrations.

type ShowApiIntegrationRequest added in v0.85.0

type ShowApiIntegrationRequest struct {
	Like *Like
}

func NewShowApiIntegrationRequest added in v0.85.0

func NewShowApiIntegrationRequest() *ShowApiIntegrationRequest

func (*ShowApiIntegrationRequest) WithLike added in v0.85.0

type ShowApplicationOptions added in v0.85.0

type ShowApplicationOptions struct {
	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowApplicationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-applications.

type ShowApplicationPackageOptions added in v0.84.0

type ShowApplicationPackageOptions struct {
	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowApplicationPackageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-application-packages.

type ShowApplicationPackageRequest added in v0.84.0

type ShowApplicationPackageRequest struct {
	Like       *Like
	StartsWith *string
	Limit      *LimitFrom
}

func NewShowApplicationPackageRequest added in v0.84.0

func NewShowApplicationPackageRequest() *ShowApplicationPackageRequest

func (*ShowApplicationPackageRequest) WithLike added in v0.84.0

func (*ShowApplicationPackageRequest) WithLimit added in v0.84.0

func (*ShowApplicationPackageRequest) WithStartsWith added in v0.84.0

func (s *ShowApplicationPackageRequest) WithStartsWith(StartsWith *string) *ShowApplicationPackageRequest

type ShowApplicationRequest added in v0.85.0

type ShowApplicationRequest struct {
	Like       *Like
	StartsWith *string
	Limit      *LimitFrom
}

func NewShowApplicationRequest added in v0.85.0

func NewShowApplicationRequest() *ShowApplicationRequest

func (*ShowApplicationRequest) WithLike added in v0.85.0

func (*ShowApplicationRequest) WithLimit added in v0.85.0

func (*ShowApplicationRequest) WithStartsWith added in v0.85.0

func (s *ShowApplicationRequest) WithStartsWith(StartsWith *string) *ShowApplicationRequest

type ShowApplicationRoleOptions added in v0.76.0

type ShowApplicationRoleOptions struct {
	ApplicationName AccountObjectIdentifier `ddl:"identifier"`
	Limit           *LimitFrom              `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowApplicationRoleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-application-roles.

type ShowApplicationRoleRequest added in v0.76.0

type ShowApplicationRoleRequest struct {
	ApplicationName AccountObjectIdentifier
	Limit           *LimitFrom
}

func NewShowApplicationRoleRequest added in v0.76.0

func NewShowApplicationRoleRequest() *ShowApplicationRoleRequest

func (*ShowApplicationRoleRequest) WithApplicationName added in v0.76.0

func (s *ShowApplicationRoleRequest) WithApplicationName(ApplicationName AccountObjectIdentifier) *ShowApplicationRoleRequest

func (*ShowApplicationRoleRequest) WithLimit added in v0.76.0

type ShowAuthenticationPolicyOptions added in v0.96.0

type ShowAuthenticationPolicyOptions struct {
	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	In         *In        `ddl:"keyword" sql:"IN"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowAuthenticationPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-authentication-policies.

type ShowAuthenticationPolicyRequest added in v0.96.0

type ShowAuthenticationPolicyRequest struct {
	Like       *Like
	In         *In
	StartsWith *string
	Limit      *LimitFrom
}

func NewShowAuthenticationPolicyRequest added in v0.96.0

func NewShowAuthenticationPolicyRequest() *ShowAuthenticationPolicyRequest

func (*ShowAuthenticationPolicyRequest) WithIn added in v0.96.0

func (*ShowAuthenticationPolicyRequest) WithLike added in v0.96.0

func (*ShowAuthenticationPolicyRequest) WithLimit added in v0.96.0

func (*ShowAuthenticationPolicyRequest) WithStartsWith added in v0.96.0

type ShowByIdStreamRequest added in v0.74.0

type ShowByIdStreamRequest struct {
	// contains filtered or unexported fields
}

type ShowCortexSearchServiceOptions added in v0.93.0

type ShowCortexSearchServiceOptions struct {
	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	In         *In        `ddl:"keyword" sql:"IN"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowCortexSearchServiceOptions is based on https://docs.snowflake.com/LIMITEDACCESS/cortex-search/sql/show-cortex-search.

type ShowCortexSearchServiceRequest added in v0.93.0

type ShowCortexSearchServiceRequest struct {
	Like       *Like
	In         *In
	StartsWith *string
	Limit      *LimitFrom
}

func NewShowCortexSearchServiceRequest added in v0.93.0

func NewShowCortexSearchServiceRequest() *ShowCortexSearchServiceRequest

func (*ShowCortexSearchServiceRequest) WithIn added in v0.93.0

func (*ShowCortexSearchServiceRequest) WithLike added in v0.93.0

func (*ShowCortexSearchServiceRequest) WithLimit added in v0.93.0

func (*ShowCortexSearchServiceRequest) WithStartsWith added in v0.93.0

type ShowDatabaseRoleRequest added in v0.70.0

type ShowDatabaseRoleRequest struct {
	// contains filtered or unexported fields
}

func NewShowDatabaseRoleRequest added in v0.70.0

func NewShowDatabaseRoleRequest(
	database AccountObjectIdentifier,
) *ShowDatabaseRoleRequest

func (*ShowDatabaseRoleRequest) WithLike added in v0.70.0

func (*ShowDatabaseRoleRequest) WithLimit added in v0.95.0

type ShowDatabasesOptions added in v0.66.0

type ShowDatabasesOptions struct {
	Terse *bool `ddl:"keyword" sql:"TERSE"`

	History    *bool      `ddl:"keyword" sql:"HISTORY"`
	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	LimitFrom  *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowDatabasesOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-databases.

type ShowDynamicTableRequest added in v0.72.0

type ShowDynamicTableRequest struct {
	// contains filtered or unexported fields
}

func NewShowDynamicTableRequest added in v0.72.0

func NewShowDynamicTableRequest() *ShowDynamicTableRequest

func (*ShowDynamicTableRequest) WithIn added in v0.72.0

func (*ShowDynamicTableRequest) WithLike added in v0.72.0

func (*ShowDynamicTableRequest) WithLimit added in v0.72.0

func (*ShowDynamicTableRequest) WithStartsWith added in v0.72.0

func (s *ShowDynamicTableRequest) WithStartsWith(startsWith *string) *ShowDynamicTableRequest

type ShowEventTableOptions added in v0.78.0

type ShowEventTableOptions struct {
	Terse *bool `ddl:"keyword" sql:"TERSE"`

	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	In         *In        `ddl:"keyword" sql:"IN"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowEventTableOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-event-tables.

type ShowEventTableRequest added in v0.78.0

type ShowEventTableRequest struct {
	Terse      *bool
	Like       *Like
	In         *In
	StartsWith *string
	Limit      *LimitFrom
}

func NewShowEventTableRequest added in v0.78.0

func NewShowEventTableRequest() *ShowEventTableRequest

func (*ShowEventTableRequest) WithIn added in v0.78.0

func (*ShowEventTableRequest) WithLike added in v0.78.0

func (s *ShowEventTableRequest) WithLike(Like *Like) *ShowEventTableRequest

func (*ShowEventTableRequest) WithLimit added in v0.78.0

func (*ShowEventTableRequest) WithStartsWith added in v0.78.0

func (s *ShowEventTableRequest) WithStartsWith(StartsWith *string) *ShowEventTableRequest

func (*ShowEventTableRequest) WithTerse added in v0.78.0

func (s *ShowEventTableRequest) WithTerse(Terse *bool) *ShowEventTableRequest

type ShowExternalFunctionOptions added in v0.85.0

type ShowExternalFunctionOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	In   *In   `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowExternalFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-external-functions.

type ShowExternalFunctionRequest added in v0.85.0

type ShowExternalFunctionRequest struct {
	Like *Like
	In   *In
}

func NewShowExternalFunctionRequest added in v0.85.0

func NewShowExternalFunctionRequest() *ShowExternalFunctionRequest

func (*ShowExternalFunctionRequest) WithIn added in v0.87.0

func (*ShowExternalFunctionRequest) WithLike added in v0.85.0

type ShowExternalTableInRequest added in v0.72.0

type ShowExternalTableInRequest struct {
	// contains filtered or unexported fields
}

func NewShowExternalTableInRequest added in v0.72.0

func NewShowExternalTableInRequest() *ShowExternalTableInRequest

func (*ShowExternalTableInRequest) WithAccount added in v0.72.0

func (*ShowExternalTableInRequest) WithDatabase added in v0.72.0

func (*ShowExternalTableInRequest) WithSchema added in v0.72.0

type ShowExternalTableOptions added in v0.72.0

type ShowExternalTableOptions struct {
	Terse *bool `ddl:"keyword" sql:"TERSE"`

	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	In         *In        `ddl:"keyword" sql:"IN"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	LimitFrom  *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowExternalTableOptions based on https://docs.snowflake.com/en/sql-reference/sql/show-external-tables

type ShowExternalTableRequest added in v0.72.0

type ShowExternalTableRequest struct {
	// contains filtered or unexported fields
}

func NewShowExternalTableRequest added in v0.72.0

func NewShowExternalTableRequest() *ShowExternalTableRequest

func (*ShowExternalTableRequest) WithIn added in v0.72.0

func (*ShowExternalTableRequest) WithLike added in v0.72.0

func (*ShowExternalTableRequest) WithLimitFrom added in v0.72.0

func (*ShowExternalTableRequest) WithStartsWith added in v0.72.0

func (s *ShowExternalTableRequest) WithStartsWith(startsWith string) *ShowExternalTableRequest

func (*ShowExternalTableRequest) WithTerse added in v0.72.0

type ShowExternalVolumeOptions added in v0.96.0

type ShowExternalVolumeOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowExternalVolumeOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-external-volumes.

type ShowExternalVolumeRequest added in v0.96.0

type ShowExternalVolumeRequest struct {
	Like *Like
}

func NewShowExternalVolumeRequest added in v0.96.0

func NewShowExternalVolumeRequest() *ShowExternalVolumeRequest

func (*ShowExternalVolumeRequest) WithLike added in v0.96.0

type ShowFailoverGroupOptions added in v0.66.0

type ShowFailoverGroupOptions struct {
	InAccount AccountIdentifier `ddl:"identifier" sql:"IN ACCOUNT"`
	// contains filtered or unexported fields
}

ShowFailoverGroupOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-failover-groups.

type ShowFileFormatsOptions added in v0.68.0

type ShowFileFormatsOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	In   *In   `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowFileFormatsOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-file-formats.

type ShowFunctionOptions added in v0.82.0

type ShowFunctionOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	In   *In   `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowFunctionOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-user-functions.

type ShowFunctionRequest added in v0.82.0

type ShowFunctionRequest struct {
	Like *Like
	In   *In
}

func NewShowFunctionRequest added in v0.82.0

func NewShowFunctionRequest() *ShowFunctionRequest

func (*ShowFunctionRequest) WithIn added in v0.82.0

func (*ShowFunctionRequest) WithLike added in v0.82.0

func (s *ShowFunctionRequest) WithLike(Like Like) *ShowFunctionRequest

type ShowGrantOptions added in v0.66.0

type ShowGrantOptions struct {
	Future *bool `ddl:"keyword" sql:"FUTURE"`

	On *ShowGrantsOn `ddl:"keyword" sql:"ON"`
	To *ShowGrantsTo `ddl:"keyword" sql:"TO"`
	Of *ShowGrantsOf `ddl:"keyword" sql:"OF"`
	In *ShowGrantsIn `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowGrantOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-grants.

type ShowGrantsIn added in v0.68.0

type ShowGrantsIn struct {
	Schema   *DatabaseObjectIdentifier `ddl:"identifier" sql:"SCHEMA"`
	Database *AccountObjectIdentifier  `ddl:"identifier" sql:"DATABASE"`
}

type ShowGrantsOf added in v0.65.0

type ShowGrantsOf struct {
	ApplicationRole DatabaseObjectIdentifier `ddl:"identifier" sql:"APPLICATION ROLE"`
	Role            AccountObjectIdentifier  `ddl:"identifier" sql:"ROLE"`
	DatabaseRole    DatabaseObjectIdentifier `ddl:"identifier" sql:"DATABASE ROLE"`
	Share           AccountObjectIdentifier  `ddl:"identifier" sql:"SHARE"`
}

type ShowGrantsOn added in v0.65.0

type ShowGrantsOn struct {
	Account *bool `ddl:"keyword" sql:"ACCOUNT"`
	Object  *Object
}

type ShowGrantsTo added in v0.65.0

type ShowGrantsTo struct {
	Application     AccountObjectIdentifier  `ddl:"identifier" sql:"APPLICATION"`
	ApplicationRole DatabaseObjectIdentifier `ddl:"identifier" sql:"APPLICATION ROLE"`
	Role            AccountObjectIdentifier  `ddl:"identifier" sql:"ROLE"`
	User            AccountObjectIdentifier  `ddl:"identifier" sql:"USER"`
	Share           *ShowGrantsToShare       `ddl:"-"`
	DatabaseRole    DatabaseObjectIdentifier `ddl:"identifier" sql:"DATABASE ROLE"`
}

type ShowGrantsToShare added in v0.88.0

type ShowGrantsToShare struct {
	Name                 AccountObjectIdentifier  `ddl:"identifier" sql:"SHARE"`
	InApplicationPackage *AccountObjectIdentifier `ddl:"identifier" sql:"IN APPLICATION PACKAGE"`
}

type ShowManagedAccountOptions added in v0.84.0

type ShowManagedAccountOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowManagedAccountOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-managed-accounts.

type ShowManagedAccountRequest added in v0.84.0

type ShowManagedAccountRequest struct {
	Like *Like
}

func NewShowManagedAccountRequest added in v0.84.0

func NewShowManagedAccountRequest() *ShowManagedAccountRequest

func (*ShowManagedAccountRequest) WithLike added in v0.84.0

type ShowMaskingPolicyOptions added in v0.66.0

type ShowMaskingPolicyOptions struct {
	Like  *Like       `ddl:"keyword" sql:"LIKE"`
	In    *ExtendedIn `ddl:"keyword" sql:"IN"`
	Limit *LimitFrom  `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowMaskingPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-masking-policies.

type ShowMaterializedViewOptions added in v0.85.0

type ShowMaterializedViewOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	In   *In   `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowMaterializedViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-materialized-views.

type ShowMaterializedViewRequest added in v0.85.0

type ShowMaterializedViewRequest struct {
	Like *Like
	In   *In
}

func NewShowMaterializedViewRequest added in v0.85.0

func NewShowMaterializedViewRequest() *ShowMaterializedViewRequest

func (*ShowMaterializedViewRequest) WithIn added in v0.85.0

func (*ShowMaterializedViewRequest) WithLike added in v0.85.0

type ShowNetworkPolicyOptions added in v0.72.0

type ShowNetworkPolicyOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowNetworkPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-network-policies.

type ShowNetworkPolicyRequest added in v0.72.0

type ShowNetworkPolicyRequest struct {
	Like *Like
}

func NewShowNetworkPolicyRequest added in v0.72.0

func NewShowNetworkPolicyRequest() *ShowNetworkPolicyRequest

func (*ShowNetworkPolicyRequest) WithLike added in v0.94.0

type ShowNetworkRuleOptions added in v0.87.0

type ShowNetworkRuleOptions struct {
	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	In         *In        `ddl:"keyword" sql:"IN"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowNetworkRuleOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-network-rules.

type ShowNetworkRuleRequest added in v0.87.0

type ShowNetworkRuleRequest struct {
	Like       *Like
	In         *In
	StartsWith *string
	Limit      *LimitFrom
}

func NewShowNetworkRuleRequest added in v0.87.0

func NewShowNetworkRuleRequest() *ShowNetworkRuleRequest

func (*ShowNetworkRuleRequest) WithIn added in v0.87.0

func (*ShowNetworkRuleRequest) WithLike added in v0.87.0

func (*ShowNetworkRuleRequest) WithLimit added in v0.87.0

func (*ShowNetworkRuleRequest) WithStartsWith added in v0.87.0

func (s *ShowNetworkRuleRequest) WithStartsWith(StartsWith *string) *ShowNetworkRuleRequest

type ShowNetworkRulesRow added in v0.87.0

type ShowNetworkRulesRow struct {
	CreatedOn          time.Time `db:"created_on"`
	Name               string    `db:"name"`
	DatabaseName       string    `db:"database_name"`
	SchemaName         string    `db:"schema_name"`
	Owner              string    `db:"owner"`
	Comment            string    `db:"comment"`
	Type               string    `db:"type"`
	Mode               string    `db:"mode"`
	EntriesInValueList int       `db:"entries_in_valuelist"`
	OwnerRoleType      string    `db:"owner_role_type"`
}

type ShowNotificationIntegrationOptions added in v0.85.0

type ShowNotificationIntegrationOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowNotificationIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-integrations.

type ShowNotificationIntegrationRequest added in v0.85.0

type ShowNotificationIntegrationRequest struct {
	Like *Like
}

func NewShowNotificationIntegrationRequest added in v0.85.0

func NewShowNotificationIntegrationRequest() *ShowNotificationIntegrationRequest

func (*ShowNotificationIntegrationRequest) WithLike added in v0.85.0

type ShowParametersOptions added in v0.65.0

type ShowParametersOptions struct {
	Like *Like         `ddl:"keyword" sql:"LIKE"`
	In   *ParametersIn `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowParametersOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-parameters.

type ShowPasswordPolicyOptions added in v0.72.0

type ShowPasswordPolicyOptions struct {
	Like  *Like `ddl:"keyword" sql:"LIKE"`
	In    *In   `ddl:"keyword" sql:"IN"`
	Limit *int  `ddl:"parameter,no_equals" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowPasswordPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-password-policies.

type ShowPipeOptions added in v0.72.0

type ShowPipeOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	In   *In   `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowPipeOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-pipes.

type ShowProcedureOptions added in v0.79.0

type ShowProcedureOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	In   *In   `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowProcedureOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-procedures.

type ShowProcedureRequest added in v0.79.0

type ShowProcedureRequest struct {
	Like *Like
	In   *In
}

func NewShowProcedureRequest added in v0.79.0

func NewShowProcedureRequest() *ShowProcedureRequest

func (*ShowProcedureRequest) WithIn added in v0.79.0

func (*ShowProcedureRequest) WithLike added in v0.79.0

func (s *ShowProcedureRequest) WithLike(Like Like) *ShowProcedureRequest

type ShowRegionsOptions added in v0.65.0

type ShowRegionsOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

type ShowReplicationDatabasesOptions added in v0.87.0

type ShowReplicationDatabasesOptions struct {
	Like        *Like                     `ddl:"keyword" sql:"LIKE"`
	WithPrimary *ExternalObjectIdentifier `ddl:"identifier" sql:"WITH PRIMARY"`
	// contains filtered or unexported fields
}

ShowReplicationDatabasesOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-replication-databases.

type ShowResourceMonitorOptions added in v0.66.0

type ShowResourceMonitorOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowResourceMonitorOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-resource-monitors.

type ShowRoleOptions added in v0.72.0

type ShowRoleOptions struct {
	Like    *Like         `ddl:"keyword" sql:"LIKE"`
	InClass *RolesInClass `ddl:"keyword" sql:"IN CLASS"`
	// contains filtered or unexported fields
}

ShowRoleOptions based on https://docs.snowflake.com/en/sql-reference/sql/show-roles

type ShowRoleRequest added in v0.72.0

type ShowRoleRequest struct {
	Like    *Like
	InClass *RolesInClass
}

func NewShowRoleRequest added in v0.72.0

func NewShowRoleRequest() *ShowRoleRequest

func (*ShowRoleRequest) WithInClass added in v0.72.0

func (s *ShowRoleRequest) WithInClass(inClass RolesInClass) *ShowRoleRequest

func (*ShowRoleRequest) WithLike added in v0.72.0

func (s *ShowRoleRequest) WithLike(like *LikeRequest) *ShowRoleRequest

type ShowRowAccessPolicyOptions added in v0.84.0

type ShowRowAccessPolicyOptions struct {
	Like  *Like       `ddl:"keyword" sql:"LIKE"`
	In    *ExtendedIn `ddl:"keyword" sql:"IN"`
	Limit *LimitFrom  `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowRowAccessPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-row-access-policies.

type ShowRowAccessPolicyRequest added in v0.84.0

type ShowRowAccessPolicyRequest struct {
	Like  *Like
	In    *ExtendedIn
	Limit *LimitFrom
}

func NewShowRowAccessPolicyRequest added in v0.84.0

func NewShowRowAccessPolicyRequest() *ShowRowAccessPolicyRequest

func (*ShowRowAccessPolicyRequest) WithIn added in v0.84.0

func (*ShowRowAccessPolicyRequest) WithLike added in v0.84.0

func (*ShowRowAccessPolicyRequest) WithLimit added in v0.96.0

type ShowSchemaOptions added in v0.70.0

type ShowSchemaOptions struct {
	Terse *bool `ddl:"keyword" sql:"TERSE"`

	History    *bool      `ddl:"keyword" sql:"HISTORY"`
	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	In         *SchemaIn  `ddl:"keyword" sql:"IN"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	LimitFrom  *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowSchemaOptions based on https://docs.snowflake.com/en/sql-reference/sql/show-schemas

type ShowSecretOptions added in v0.97.0

type ShowSecretOptions struct {
	Like *Like       `ddl:"keyword" sql:"LIKE"`
	In   *ExtendedIn `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowSecretOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-secrets.

type ShowSecretRequest added in v0.97.0

type ShowSecretRequest struct {
	Like *Like
	In   *ExtendedIn
}

func NewShowSecretRequest added in v0.97.0

func NewShowSecretRequest() *ShowSecretRequest

func (*ShowSecretRequest) WithIn added in v0.97.0

func (*ShowSecretRequest) WithLike added in v0.97.0

func (s *ShowSecretRequest) WithLike(Like Like) *ShowSecretRequest

type ShowSecurityIntegrationOptions added in v0.92.0

type ShowSecurityIntegrationOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowSecurityIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-integrations.

type ShowSecurityIntegrationRequest added in v0.92.0

type ShowSecurityIntegrationRequest struct {
	Like *Like
}

func NewShowSecurityIntegrationRequest added in v0.92.0

func NewShowSecurityIntegrationRequest() *ShowSecurityIntegrationRequest

func (*ShowSecurityIntegrationRequest) WithLike added in v0.92.0

type ShowSequenceOptions added in v0.85.0

type ShowSequenceOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	In   *In   `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowSequenceOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-sequences.

type ShowSequenceRequest added in v0.85.0

type ShowSequenceRequest struct {
	Like *Like
	In   *In
}

func NewShowSequenceRequest added in v0.85.0

func NewShowSequenceRequest() *ShowSequenceRequest

func (*ShowSequenceRequest) WithIn added in v0.85.0

func (s *ShowSequenceRequest) WithIn(In *In) *ShowSequenceRequest

func (*ShowSequenceRequest) WithLike added in v0.85.0

func (s *ShowSequenceRequest) WithLike(Like *Like) *ShowSequenceRequest

type ShowSessionPolicyOptions added in v0.72.0

type ShowSessionPolicyOptions struct {
	// contains filtered or unexported fields
}

ShowSessionPolicyOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-session-policies.

type ShowSessionPolicyRequest added in v0.72.0

type ShowSessionPolicyRequest struct{}

func NewShowSessionPolicyRequest added in v0.72.0

func NewShowSessionPolicyRequest() *ShowSessionPolicyRequest

type ShowShareOptions added in v0.66.0

type ShowShareOptions struct {
	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowShareOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-shares.

type ShowStageOptions added in v0.76.0

type ShowStageOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	In   *In   `ddl:"keyword" sql:"IN"`
	// contains filtered or unexported fields
}

ShowStageOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-stages.

type ShowStageRequest added in v0.76.0

type ShowStageRequest struct {
	Like *Like
	In   *In
}

func NewShowStageRequest added in v0.76.0

func NewShowStageRequest() *ShowStageRequest

func (*ShowStageRequest) WithIn added in v0.76.0

func (s *ShowStageRequest) WithIn(In *In) *ShowStageRequest

func (*ShowStageRequest) WithLike added in v0.76.0

func (s *ShowStageRequest) WithLike(Like *Like) *ShowStageRequest

type ShowStorageIntegrationOptions added in v0.84.0

type ShowStorageIntegrationOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowStorageIntegrationOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-integrations.

type ShowStorageIntegrationRequest added in v0.84.0

type ShowStorageIntegrationRequest struct {
	Like *Like
}

func NewShowStorageIntegrationRequest added in v0.84.0

func NewShowStorageIntegrationRequest() *ShowStorageIntegrationRequest

func (*ShowStorageIntegrationRequest) WithLike added in v0.84.0

type ShowStreamOptions added in v0.74.0

type ShowStreamOptions struct {
	Terse *bool `ddl:"keyword" sql:"TERSE"`

	Like       *Like       `ddl:"keyword" sql:"LIKE"`
	In         *ExtendedIn `ddl:"keyword" sql:"IN"`
	StartsWith *string     `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *LimitFrom  `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowStreamOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-streams.

type ShowStreamRequest added in v0.74.0

type ShowStreamRequest struct {
	Terse      *bool
	Like       *Like
	In         *ExtendedIn
	StartsWith *string
	Limit      *LimitFrom
}

func NewShowStreamRequest added in v0.74.0

func NewShowStreamRequest() *ShowStreamRequest

func (*ShowStreamRequest) WithIn added in v0.74.0

func (*ShowStreamRequest) WithLike added in v0.74.0

func (s *ShowStreamRequest) WithLike(Like Like) *ShowStreamRequest

func (*ShowStreamRequest) WithLimit added in v0.74.0

func (s *ShowStreamRequest) WithLimit(Limit LimitFrom) *ShowStreamRequest

func (*ShowStreamRequest) WithStartsWith added in v0.74.0

func (s *ShowStreamRequest) WithStartsWith(StartsWith string) *ShowStreamRequest

func (*ShowStreamRequest) WithTerse added in v0.74.0

func (s *ShowStreamRequest) WithTerse(Terse bool) *ShowStreamRequest

type ShowStreamlitOptions added in v0.85.0

type ShowStreamlitOptions struct {
	Terse *bool `ddl:"keyword" sql:"TERSE"`

	Like  *Like      `ddl:"keyword" sql:"LIKE"`
	In    *In        `ddl:"keyword" sql:"IN"`
	Limit *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowStreamlitOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-streamlits.

type ShowStreamlitRequest added in v0.85.0

type ShowStreamlitRequest struct {
	Terse *bool
	Like  *Like
	In    *In
	Limit *LimitFrom
}

func NewShowStreamlitRequest added in v0.85.0

func NewShowStreamlitRequest() *ShowStreamlitRequest

func (*ShowStreamlitRequest) WithIn added in v0.85.0

func (*ShowStreamlitRequest) WithLike added in v0.85.0

func (s *ShowStreamlitRequest) WithLike(Like Like) *ShowStreamlitRequest

func (*ShowStreamlitRequest) WithLimit added in v0.85.0

func (*ShowStreamlitRequest) WithTerse added in v0.85.0

func (s *ShowStreamlitRequest) WithTerse(Terse bool) *ShowStreamlitRequest

type ShowTableInRequest added in v0.78.0

type ShowTableInRequest struct {
	Account  *bool
	Database AccountObjectIdentifier
	Schema   DatabaseObjectIdentifier
}

type ShowTableRequest added in v0.78.0

type ShowTableRequest struct {
	// contains filtered or unexported fields
}

func NewShowTableRequest added in v0.78.0

func NewShowTableRequest() *ShowTableRequest

func (*ShowTableRequest) WithHistory added in v0.78.0

func (s *ShowTableRequest) WithHistory(history *bool) *ShowTableRequest

func (*ShowTableRequest) WithIn added in v0.78.0

func (s *ShowTableRequest) WithIn(in *In) *ShowTableRequest

func (*ShowTableRequest) WithLikePattern added in v0.78.0

func (s *ShowTableRequest) WithLikePattern(likePattern string) *ShowTableRequest

func (*ShowTableRequest) WithLimitFrom added in v0.78.0

func (s *ShowTableRequest) WithLimitFrom(limitFrom *LimitFrom) *ShowTableRequest

func (*ShowTableRequest) WithStartsWith added in v0.78.0

func (s *ShowTableRequest) WithStartsWith(startsWith *string) *ShowTableRequest

func (*ShowTableRequest) WithTerse added in v0.78.0

func (s *ShowTableRequest) WithTerse(terse *bool) *ShowTableRequest

type ShowTagRequest added in v0.74.0

type ShowTagRequest struct {
	// contains filtered or unexported fields
}

func NewShowTagRequest added in v0.74.0

func NewShowTagRequest() *ShowTagRequest

func (*ShowTagRequest) WithIn added in v0.74.0

func (s *ShowTagRequest) WithIn(in *In) *ShowTagRequest

func (*ShowTagRequest) WithLike added in v0.74.0

func (s *ShowTagRequest) WithLike(pattern string) *ShowTagRequest

type ShowTaskOptions added in v0.73.0

type ShowTaskOptions struct {
	Terse *bool `ddl:"keyword" sql:"TERSE"`

	Like       *Like      `ddl:"keyword" sql:"LIKE"`
	In         *In        `ddl:"keyword" sql:"IN"`
	StartsWith *string    `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	RootOnly   *bool      `ddl:"keyword" sql:"ROOT ONLY"`
	Limit      *LimitFrom `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowTaskOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-tasks.

type ShowTaskRequest added in v0.73.0

type ShowTaskRequest struct {
	Terse      *bool
	Like       *Like
	In         *In
	StartsWith *string
	RootOnly   *bool
	Limit      *LimitFrom
}

func NewShowTaskRequest added in v0.73.0

func NewShowTaskRequest() *ShowTaskRequest

func (*ShowTaskRequest) WithIn added in v0.73.0

func (s *ShowTaskRequest) WithIn(In In) *ShowTaskRequest

func (*ShowTaskRequest) WithLike added in v0.73.0

func (s *ShowTaskRequest) WithLike(Like Like) *ShowTaskRequest

func (*ShowTaskRequest) WithLimit added in v0.73.0

func (s *ShowTaskRequest) WithLimit(Limit LimitFrom) *ShowTaskRequest

func (*ShowTaskRequest) WithRootOnly added in v0.73.0

func (s *ShowTaskRequest) WithRootOnly(RootOnly bool) *ShowTaskRequest

func (*ShowTaskRequest) WithStartsWith added in v0.73.0

func (s *ShowTaskRequest) WithStartsWith(StartsWith string) *ShowTaskRequest

func (*ShowTaskRequest) WithTerse added in v0.73.0

func (s *ShowTaskRequest) WithTerse(Terse bool) *ShowTaskRequest

type ShowUserOptions added in v0.66.0

type ShowUserOptions struct {
	Terse *bool `ddl:"static" sql:"TERSE"`

	Like       *Like   `ddl:"keyword" sql:"LIKE"`
	StartsWith *string `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *int    `ddl:"parameter,no_equals" sql:"LIMIT"`
	From       *string `ddl:"parameter,no_equals,single_quotes" sql:"FROM"`
	// contains filtered or unexported fields
}

ShowUserOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-users.

type ShowViewOptions added in v0.76.0

type ShowViewOptions struct {
	Terse *bool `ddl:"keyword" sql:"TERSE"`

	Like       *Like       `ddl:"keyword" sql:"LIKE"`
	In         *ExtendedIn `ddl:"keyword" sql:"IN"`
	StartsWith *string     `ddl:"parameter,single_quotes,no_equals" sql:"STARTS WITH"`
	Limit      *LimitFrom  `ddl:"keyword" sql:"LIMIT"`
	// contains filtered or unexported fields
}

ShowViewOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-views.

type ShowViewRequest added in v0.76.0

type ShowViewRequest struct {
	Terse      *bool
	Like       *Like
	In         *ExtendedIn
	StartsWith *string
	Limit      *LimitFrom
}

func NewShowViewRequest added in v0.76.0

func NewShowViewRequest() *ShowViewRequest

func (*ShowViewRequest) WithIn added in v0.76.0

func (*ShowViewRequest) WithLike added in v0.76.0

func (s *ShowViewRequest) WithLike(Like Like) *ShowViewRequest

func (*ShowViewRequest) WithLimit added in v0.76.0

func (s *ShowViewRequest) WithLimit(Limit LimitFrom) *ShowViewRequest

func (*ShowViewRequest) WithStartsWith added in v0.76.0

func (s *ShowViewRequest) WithStartsWith(StartsWith string) *ShowViewRequest

func (*ShowViewRequest) WithTerse added in v0.76.0

func (s *ShowViewRequest) WithTerse(Terse bool) *ShowViewRequest

type ShowWarehouseOptions added in v0.66.0

type ShowWarehouseOptions struct {
	Like *Like `ddl:"keyword" sql:"LIKE"`
	// contains filtered or unexported fields
}

ShowWarehouseOptions is based on https://docs.snowflake.com/en/sql-reference/sql/show-warehouses.

type Stage added in v0.70.0

type Stage struct {
	CreatedOn          time.Time
	Name               string
	DatabaseName       string
	SchemaName         string
	Url                string
	HasCredentials     bool
	HasEncryptionKey   bool
	Owner              string
	Comment            string
	Region             *string
	Type               string
	Cloud              *string
	StorageIntegration *string
	Endpoint           *string
	OwnerRoleType      *string
	DirectoryEnabled   bool
}

func (*Stage) ID added in v0.70.0

func (s *Stage) ID() SchemaObjectIdentifier

func (*Stage) Location added in v0.85.0

func (s *Stage) Location() string

func (*Stage) ObjectType added in v0.70.0

func (s *Stage) ObjectType() ObjectType

type StageCopyColumnMapOption added in v0.76.0

type StageCopyColumnMapOption string
var (
	StageCopyColumnMapCaseSensitive   StageCopyColumnMapOption = "CASE_SENSITIVE"
	StageCopyColumnMapCaseInsensitive StageCopyColumnMapOption = "CASE_INSENSITIVE"
	StageCopyColumnMapCaseNone        StageCopyColumnMapOption = "NONE"
)

type StageCopyOnErrorOptions added in v0.76.0

type StageCopyOnErrorOptions struct {
	Continue       *bool   `ddl:"keyword" sql:"CONTINUE"`
	SkipFile       *string `ddl:"keyword"`
	AbortStatement *bool   `ddl:"keyword" sql:"ABORT_STATEMENT"`
}

type StageCopyOnErrorOptionsRequest added in v0.76.0

type StageCopyOnErrorOptionsRequest struct {
	Continue       *bool
	SkipFile       *string
	AbortStatement *bool
}

func NewStageCopyOnErrorOptionsRequest added in v0.76.0

func NewStageCopyOnErrorOptionsRequest() *StageCopyOnErrorOptionsRequest

func (*StageCopyOnErrorOptionsRequest) WithAbortStatement added in v0.76.0

func (s *StageCopyOnErrorOptionsRequest) WithAbortStatement(AbortStatement *bool) *StageCopyOnErrorOptionsRequest

func (*StageCopyOnErrorOptionsRequest) WithContinue added in v0.76.0

func (*StageCopyOnErrorOptionsRequest) WithSkipFile added in v0.76.0

func (*StageCopyOnErrorOptionsRequest) WithSkipFileX added in v0.78.0

func (*StageCopyOnErrorOptionsRequest) WithSkipFileXPercent added in v0.78.0

type StageCopyOptions added in v0.76.0

type StageCopyOptions struct {
	OnError           *StageCopyOnErrorOptions  `ddl:"parameter" sql:"ON_ERROR"`
	SizeLimit         *int                      `ddl:"parameter" sql:"SIZE_LIMIT"`
	Purge             *bool                     `ddl:"parameter" sql:"PURGE"`
	ReturnFailedOnly  *bool                     `ddl:"parameter" sql:"RETURN_FAILED_ONLY"`
	MatchByColumnName *StageCopyColumnMapOption `ddl:"parameter" sql:"MATCH_BY_COLUMN_NAME"`
	EnforceLength     *bool                     `ddl:"parameter" sql:"ENFORCE_LENGTH"`
	Truncatecolumns   *bool                     `ddl:"parameter" sql:"TRUNCATECOLUMNS"`
	Force             *bool                     `ddl:"parameter" sql:"FORCE"`
}

type StageCopyOptionsRequest added in v0.76.0

type StageCopyOptionsRequest struct {
	OnError           *StageCopyOnErrorOptionsRequest
	SizeLimit         *int
	Purge             *bool
	ReturnFailedOnly  *bool
	MatchByColumnName *StageCopyColumnMapOption
	EnforceLength     *bool
	Truncatecolumns   *bool
	Force             *bool
}

func NewStageCopyOptionsRequest added in v0.76.0

func NewStageCopyOptionsRequest() *StageCopyOptionsRequest

func (*StageCopyOptionsRequest) WithEnforceLength added in v0.76.0

func (s *StageCopyOptionsRequest) WithEnforceLength(EnforceLength *bool) *StageCopyOptionsRequest

func (*StageCopyOptionsRequest) WithForce added in v0.76.0

func (*StageCopyOptionsRequest) WithMatchByColumnName added in v0.76.0

func (s *StageCopyOptionsRequest) WithMatchByColumnName(MatchByColumnName *StageCopyColumnMapOption) *StageCopyOptionsRequest

func (*StageCopyOptionsRequest) WithOnError added in v0.76.0

func (*StageCopyOptionsRequest) WithPurge added in v0.76.0

func (*StageCopyOptionsRequest) WithReturnFailedOnly added in v0.76.0

func (s *StageCopyOptionsRequest) WithReturnFailedOnly(ReturnFailedOnly *bool) *StageCopyOptionsRequest

func (*StageCopyOptionsRequest) WithSizeLimit added in v0.76.0

func (s *StageCopyOptionsRequest) WithSizeLimit(SizeLimit *int) *StageCopyOptionsRequest

func (*StageCopyOptionsRequest) WithTruncatecolumns added in v0.76.0

func (s *StageCopyOptionsRequest) WithTruncatecolumns(Truncatecolumns *bool) *StageCopyOptionsRequest

type StageFileFormat added in v0.76.0

type StageFileFormat struct {
	FormatName *string                `ddl:"parameter,single_quotes" sql:"FORMAT_NAME"`
	Type       *FileFormatType        `ddl:"parameter" sql:"TYPE"`
	Options    *FileFormatTypeOptions `ddl:"list,no_comma"`
}

type StageFileFormatRequest added in v0.76.0

type StageFileFormatRequest struct {
	FormatName *string
	Type       *FileFormatType
	Options    *FileFormatTypeOptionsRequest
}

func NewStageFileFormatRequest added in v0.76.0

func NewStageFileFormatRequest() *StageFileFormatRequest

func (*StageFileFormatRequest) WithFormatName added in v0.76.0

func (s *StageFileFormatRequest) WithFormatName(FormatName *string) *StageFileFormatRequest

func (*StageFileFormatRequest) WithOptions added in v0.76.0

func (*StageFileFormatRequest) WithType added in v0.76.0

type StageProperty added in v0.76.0

type StageProperty struct {
	Parent  string
	Name    string
	Type    string
	Value   string
	Default string
}

type Stages added in v0.76.0

type Stages interface {
	CreateInternal(ctx context.Context, request *CreateInternalStageRequest) error
	CreateOnS3(ctx context.Context, request *CreateOnS3StageRequest) error
	CreateOnGCS(ctx context.Context, request *CreateOnGCSStageRequest) error
	CreateOnAzure(ctx context.Context, request *CreateOnAzureStageRequest) error
	CreateOnS3Compatible(ctx context.Context, request *CreateOnS3CompatibleStageRequest) error
	Alter(ctx context.Context, request *AlterStageRequest) error
	AlterInternalStage(ctx context.Context, request *AlterInternalStageStageRequest) error
	AlterExternalS3Stage(ctx context.Context, request *AlterExternalS3StageStageRequest) error
	AlterExternalGCSStage(ctx context.Context, request *AlterExternalGCSStageStageRequest) error
	AlterExternalAzureStage(ctx context.Context, request *AlterExternalAzureStageStageRequest) error
	AlterDirectoryTable(ctx context.Context, request *AlterDirectoryTableStageRequest) error
	Drop(ctx context.Context, request *DropStageRequest) error
	Describe(ctx context.Context, id SchemaObjectIdentifier) ([]StageProperty, error)
	Show(ctx context.Context, request *ShowStageRequest) ([]Stage, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*Stage, error)
}

type StorageIntegration added in v0.84.0

type StorageIntegration struct {
	Name        string
	StorageType string
	Category    string
	Enabled     bool
	Comment     string
	CreatedOn   time.Time
}

type StorageIntegrationProperty added in v0.84.0

type StorageIntegrationProperty struct {
	Name    string
	Type    string
	Value   string
	Default string
}

type StorageIntegrationSet added in v0.84.0

type StorageIntegrationSet struct {
	S3Params                *SetS3StorageParams    `ddl:"keyword"`
	AzureParams             *SetAzureStorageParams `ddl:"keyword"`
	Enabled                 *bool                  `ddl:"parameter" sql:"ENABLED"`
	StorageAllowedLocations []StorageLocation      `ddl:"parameter,parentheses" sql:"STORAGE_ALLOWED_LOCATIONS"`
	StorageBlockedLocations []StorageLocation      `ddl:"parameter,parentheses" sql:"STORAGE_BLOCKED_LOCATIONS"`
	Comment                 *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type StorageIntegrationSetRequest added in v0.84.0

type StorageIntegrationSetRequest struct {
	S3Params                *SetS3StorageParamsRequest
	AzureParams             *SetAzureStorageParamsRequest
	Enabled                 *bool
	StorageAllowedLocations []StorageLocation
	StorageBlockedLocations []StorageLocation
	Comment                 *string
}

func NewStorageIntegrationSetRequest added in v0.84.0

func NewStorageIntegrationSetRequest() *StorageIntegrationSetRequest

func (*StorageIntegrationSetRequest) WithAzureParams added in v0.85.0

func (*StorageIntegrationSetRequest) WithComment added in v0.84.0

func (*StorageIntegrationSetRequest) WithEnabled added in v0.84.0

func (*StorageIntegrationSetRequest) WithS3Params added in v0.85.0

func (*StorageIntegrationSetRequest) WithStorageAllowedLocations added in v0.84.0

func (s *StorageIntegrationSetRequest) WithStorageAllowedLocations(StorageAllowedLocations []StorageLocation) *StorageIntegrationSetRequest

func (*StorageIntegrationSetRequest) WithStorageBlockedLocations added in v0.84.0

func (s *StorageIntegrationSetRequest) WithStorageBlockedLocations(StorageBlockedLocations []StorageLocation) *StorageIntegrationSetRequest

type StorageIntegrationUnset added in v0.84.0

type StorageIntegrationUnset struct {
	StorageAwsObjectAcl     *bool `ddl:"keyword" sql:"STORAGE_AWS_OBJECT_ACL"`
	Enabled                 *bool `ddl:"keyword" sql:"ENABLED"`
	StorageBlockedLocations *bool `ddl:"keyword" sql:"STORAGE_BLOCKED_LOCATIONS"`
	Comment                 *bool `ddl:"keyword" sql:"COMMENT"`
}

type StorageIntegrationUnsetRequest added in v0.84.0

type StorageIntegrationUnsetRequest struct {
	StorageAwsObjectAcl     *bool
	Enabled                 *bool
	StorageBlockedLocations *bool
	Comment                 *bool
}

func NewStorageIntegrationUnsetRequest added in v0.84.0

func NewStorageIntegrationUnsetRequest() *StorageIntegrationUnsetRequest

func (*StorageIntegrationUnsetRequest) WithComment added in v0.84.0

func (*StorageIntegrationUnsetRequest) WithEnabled added in v0.84.0

func (*StorageIntegrationUnsetRequest) WithStorageAwsObjectAcl added in v0.85.0

func (s *StorageIntegrationUnsetRequest) WithStorageAwsObjectAcl(StorageAwsObjectAcl *bool) *StorageIntegrationUnsetRequest

func (*StorageIntegrationUnsetRequest) WithStorageBlockedLocations added in v0.84.0

func (s *StorageIntegrationUnsetRequest) WithStorageBlockedLocations(StorageBlockedLocations *bool) *StorageIntegrationUnsetRequest

type StorageLocation added in v0.84.0

type StorageLocation struct {
	Path string `ddl:"keyword,single_quotes"`
}

type StorageSerializationPolicy added in v0.92.0

type StorageSerializationPolicy string
const (
	StorageSerializationPolicyCompatible StorageSerializationPolicy = "COMPATIBLE"
	StorageSerializationPolicyOptimized  StorageSerializationPolicy = "OPTIMIZED"
)

func ToStorageSerializationPolicy added in v0.93.0

func ToStorageSerializationPolicy(value string) (StorageSerializationPolicy, error)

type Stream added in v0.74.0

type Stream struct {
	CreatedOn     time.Time
	Name          string
	DatabaseName  string
	SchemaName    string
	Owner         *string
	Comment       *string
	TableName     *string
	SourceType    *StreamSourceType
	BaseTables    []SchemaObjectIdentifier
	Type          *string
	Stale         *string
	Mode          *StreamMode
	StaleAfter    *time.Time
	InvalidReason *string
	OwnerRoleType *string
}

func (*Stream) ID added in v0.89.0

func (*Stream) IsAppendOnly added in v0.97.0

func (v *Stream) IsAppendOnly() bool

func (*Stream) IsInsertOnly added in v0.97.0

func (v *Stream) IsInsertOnly() bool

type StreamMode added in v0.97.0

type StreamMode string
const (
	StreamModeDefault    StreamMode = "DEFAULT"
	StreamModeAppendOnly StreamMode = "APPEND_ONLY"
	StreamModeInsertOnly StreamMode = "INSERT_ONLY"
)

func ToStreamMode added in v0.97.0

func ToStreamMode(s string) (StreamMode, error)

type StreamSourceType added in v0.97.0

type StreamSourceType string
const (
	StreamSourceTypeTable         StreamSourceType = "TABLE"
	StreamSourceTypeExternalTable StreamSourceType = "EXTERNAL TABLE"
	StreamSourceTypeView          StreamSourceType = "VIEW"
	StreamSourceTypeStage         StreamSourceType = "STAGE"
)

func ToStreamSourceType added in v0.97.0

func ToStreamSourceType(s string) (StreamSourceType, error)

type Streamlit added in v0.85.0

type Streamlit struct {
	CreatedOn      string
	Name           string
	DatabaseName   string
	SchemaName     string
	Title          string
	Owner          string
	Comment        string
	QueryWarehouse string
	UrlId          string
	OwnerRoleType  string
}

func (*Streamlit) ID added in v0.89.0

type StreamlitDetail added in v0.85.0

type StreamlitDetail struct {
	Name                       string
	Title                      string
	RootLocation               string
	MainFile                   string
	QueryWarehouse             string
	UrlId                      string
	DefaultPackages            string
	UserPackages               []string
	ImportUrls                 []string
	ExternalAccessIntegrations []string
	ExternalAccessSecrets      string
}

type StreamlitSet added in v0.85.0

type StreamlitSet struct {
	RootLocation               *string                     `ddl:"parameter,single_quotes" sql:"ROOT_LOCATION"`
	MainFile                   *string                     `ddl:"parameter,single_quotes" sql:"MAIN_FILE"`
	QueryWarehouse             *AccountObjectIdentifier    `ddl:"identifier,equals" sql:"QUERY_WAREHOUSE"`
	ExternalAccessIntegrations *ExternalAccessIntegrations `ddl:"parameter,parentheses" sql:"EXTERNAL_ACCESS_INTEGRATIONS"`
	Comment                    *string                     `ddl:"parameter,single_quotes" sql:"COMMENT"`
	Title                      *string                     `ddl:"parameter,single_quotes" sql:"TITLE"`
}

type StreamlitSetRequest added in v0.85.0

type StreamlitSetRequest struct {
	RootLocation               *string
	MainFile                   *string
	QueryWarehouse             *AccountObjectIdentifier
	ExternalAccessIntegrations *ExternalAccessIntegrationsRequest
	Comment                    *string
	Title                      *string
}

func NewStreamlitSetRequest added in v0.85.0

func NewStreamlitSetRequest() *StreamlitSetRequest

func (*StreamlitSetRequest) WithComment added in v0.85.0

func (s *StreamlitSetRequest) WithComment(Comment string) *StreamlitSetRequest

func (*StreamlitSetRequest) WithExternalAccessIntegrations added in v0.94.0

func (s *StreamlitSetRequest) WithExternalAccessIntegrations(ExternalAccessIntegrations ExternalAccessIntegrationsRequest) *StreamlitSetRequest

func (*StreamlitSetRequest) WithMainFile added in v0.94.0

func (s *StreamlitSetRequest) WithMainFile(MainFile string) *StreamlitSetRequest

func (*StreamlitSetRequest) WithQueryWarehouse added in v0.94.0

func (s *StreamlitSetRequest) WithQueryWarehouse(QueryWarehouse AccountObjectIdentifier) *StreamlitSetRequest

func (*StreamlitSetRequest) WithRootLocation added in v0.94.0

func (s *StreamlitSetRequest) WithRootLocation(RootLocation string) *StreamlitSetRequest

func (*StreamlitSetRequest) WithTitle added in v0.94.0

func (s *StreamlitSetRequest) WithTitle(Title string) *StreamlitSetRequest

type StreamlitUnset added in v0.94.0

type StreamlitUnset struct {
	QueryWarehouse *bool `ddl:"keyword" sql:"QUERY_WAREHOUSE"`
	Comment        *bool `ddl:"keyword" sql:"COMMENT"`
	Title          *bool `ddl:"keyword" sql:"TITLE"`
}

type StreamlitUnsetRequest added in v0.94.0

type StreamlitUnsetRequest struct {
	QueryWarehouse *bool
	Comment        *bool
	Title          *bool
}

func NewStreamlitUnsetRequest added in v0.94.0

func NewStreamlitUnsetRequest() *StreamlitUnsetRequest

func (*StreamlitUnsetRequest) WithComment added in v0.94.0

func (s *StreamlitUnsetRequest) WithComment(Comment bool) *StreamlitUnsetRequest

func (*StreamlitUnsetRequest) WithQueryWarehouse added in v0.94.0

func (s *StreamlitUnsetRequest) WithQueryWarehouse(QueryWarehouse bool) *StreamlitUnsetRequest

func (*StreamlitUnsetRequest) WithTitle added in v0.94.0

func (s *StreamlitUnsetRequest) WithTitle(Title bool) *StreamlitUnsetRequest

type Streamlits added in v0.85.0

type Streamlits interface {
	Create(ctx context.Context, request *CreateStreamlitRequest) error
	Alter(ctx context.Context, request *AlterStreamlitRequest) error
	Drop(ctx context.Context, request *DropStreamlitRequest) error
	Show(ctx context.Context, request *ShowStreamlitRequest) ([]Streamlit, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*Streamlit, error)
	Describe(ctx context.Context, id SchemaObjectIdentifier) (*StreamlitDetail, error)
}

type Streams added in v0.74.0

type Streams interface {
	CreateOnTable(ctx context.Context, request *CreateOnTableStreamRequest) error
	CreateOnExternalTable(ctx context.Context, request *CreateOnExternalTableStreamRequest) error
	CreateOnDirectoryTable(ctx context.Context, request *CreateOnDirectoryTableStreamRequest) error
	CreateOnView(ctx context.Context, request *CreateOnViewStreamRequest) error
	Clone(ctx context.Context, request *CloneStreamRequest) error
	Alter(ctx context.Context, request *AlterStreamRequest) error
	Drop(ctx context.Context, request *DropStreamRequest) error
	Show(ctx context.Context, request *ShowStreamRequest) ([]Stream, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*Stream, error)
	Describe(ctx context.Context, id SchemaObjectIdentifier) (*Stream, error)
}

type StringAllowEmpty added in v0.93.0

type StringAllowEmpty struct {
	Value string `ddl:"keyword,single_quotes"`
}

StringAllowEmpty is a wrapper on string to allow using empty strings in SQL.

type StringProperty

type StringProperty struct {
	Value        string
	DefaultValue string
	Description  string
}

type SystemFunctions

type SystemFunctions interface {
	GetTag(ctx context.Context, tagID ObjectIdentifier, objectID ObjectIdentifier, objectType ObjectType) (string, error)
	PipeStatus(pipeId SchemaObjectIdentifier) (PipeExecutionState, error)
	// PipeForceResume unpauses a pipe after ownership transfer. Snowflake will throw an error whenever a pipe changes its owner,
	// and someone tries to unpause it. To unpause a pipe after ownership transfer, this system function has to be called instead of ALTER PIPE.
	PipeForceResume(pipeId SchemaObjectIdentifier, options []ForceResumePipeOption) error
	EnableBehaviorChangeBundle(ctx context.Context, bundle string) error
	DisableBehaviorChangeBundle(ctx context.Context, bundle string) error
}

type Table added in v0.68.0

type Table struct {
	CreatedOn                  string
	Name                       string
	DatabaseName               string
	SchemaName                 string
	Kind                       string
	Comment                    string
	ClusterBy                  string
	Rows                       int
	Bytes                      *int
	Owner                      string
	RetentionTime              int
	DroppedOn                  *string
	AutomaticClustering        bool
	ChangeTracking             bool
	SearchOptimization         bool
	SearchOptimizationProgress string
	SearchOptimizationBytes    *int
	IsExternal                 bool
	EnableSchemaEvolution      bool
	OwnerRoleType              string
	IsEvent                    bool
	Budget                     *string
}

func (*Table) GetClusterByKeys added in v0.86.0

func (v *Table) GetClusterByKeys() []string

GetClusterByKeys converts the SHOW TABLES result for ClusterBy and converts it to list of keys.

func (*Table) ID added in v0.68.0

func (v *Table) ID() SchemaObjectIdentifier

func (*Table) ObjectType added in v0.68.0

func (v *Table) ObjectType() ObjectType

type TableAddRowAccessPolicy added in v0.78.0

type TableAddRowAccessPolicy struct {
	RowAccessPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"ROW ACCESS POLICY"`
	On              []string               `ddl:"keyword,parentheses" sql:"ON"`
	// contains filtered or unexported fields
}

type TableAddRowAccessPolicyRequest added in v0.78.0

type TableAddRowAccessPolicyRequest struct {
	RowAccessPolicy SchemaObjectIdentifier // required
	On              []string               // required
}

func NewTableAddRowAccessPolicyRequest added in v0.78.0

func NewTableAddRowAccessPolicyRequest(
	rowAccessPolicy SchemaObjectIdentifier,
	on []string,
) *TableAddRowAccessPolicyRequest

type TableAsSelectColumn added in v0.78.0

type TableAsSelectColumn struct {
	Name          string                            `ddl:"keyword"`
	Type          *DataType                         `ddl:"keyword"`
	MaskingPolicy *TableAsSelectColumnMaskingPolicy `ddl:"keyword"`
}

type TableAsSelectColumnMaskingPolicy added in v0.78.0

type TableAsSelectColumnMaskingPolicy struct {
	Name SchemaObjectIdentifier `ddl:"identifier"`
	// contains filtered or unexported fields
}

type TableAsSelectColumnRequest added in v0.78.0

type TableAsSelectColumnRequest struct {
	// contains filtered or unexported fields
}

func NewTableAsSelectColumnRequest added in v0.78.0

func NewTableAsSelectColumnRequest(
	name string,
) *TableAsSelectColumnRequest

func (*TableAsSelectColumnRequest) WithClusterBy added in v0.78.0

func (s *TableAsSelectColumnRequest) WithClusterBy(clusterBy []string) *TableAsSelectColumnRequest

func (*TableAsSelectColumnRequest) WithCopyGrants added in v0.78.0

func (s *TableAsSelectColumnRequest) WithCopyGrants(copyGrants *bool) *TableAsSelectColumnRequest

func (*TableAsSelectColumnRequest) WithMaskingPolicyName added in v0.78.0

func (s *TableAsSelectColumnRequest) WithMaskingPolicyName(maskingPolicyName *SchemaObjectIdentifier) *TableAsSelectColumnRequest

func (*TableAsSelectColumnRequest) WithOrReplace added in v0.78.0

func (s *TableAsSelectColumnRequest) WithOrReplace(orReplace *bool) *TableAsSelectColumnRequest

func (*TableAsSelectColumnRequest) WithType_ added in v0.78.0

type TableClusteringAction added in v0.78.0

type TableClusteringAction struct {
	// one of
	ClusterBy            []string                   `ddl:"keyword,parentheses" sql:"CLUSTER BY"`
	Recluster            *TableReclusterAction      `ddl:"keyword" sql:"RECLUSTER"`
	ChangeReclusterState *TableReclusterChangeState `ddl:"keyword"`
	DropClusteringKey    *bool                      `ddl:"keyword" sql:"DROP CLUSTERING KEY"`
}

type TableClusteringActionRequest added in v0.78.0

type TableClusteringActionRequest struct {
	// One of
	ClusterBy            []string
	Recluster            *TableReclusterActionRequest
	ChangeReclusterState *ReclusterState
	DropClusteringKey    *bool
}

func NewTableClusteringActionRequest added in v0.78.0

func NewTableClusteringActionRequest() *TableClusteringActionRequest

func (*TableClusteringActionRequest) WithChangeReclusterState added in v0.78.0

func (s *TableClusteringActionRequest) WithChangeReclusterState(changeReclusterState *ReclusterState) *TableClusteringActionRequest

func (*TableClusteringActionRequest) WithClusterBy added in v0.78.0

func (s *TableClusteringActionRequest) WithClusterBy(clusterBy []string) *TableClusteringActionRequest

func (*TableClusteringActionRequest) WithDropClusteringKey added in v0.78.0

func (s *TableClusteringActionRequest) WithDropClusteringKey(dropClusteringKey *bool) *TableClusteringActionRequest

func (*TableClusteringActionRequest) WithRecluster added in v0.78.0

type TableColumn added in v0.78.0

type TableColumn struct {
	Name             string                  `ddl:"keyword"`
	Type             DataType                `ddl:"keyword"`
	InlineConstraint *ColumnInlineConstraint `ddl:"keyword"`
	NotNull          *bool                   `ddl:"keyword" sql:"NOT NULL"`
	Collate          *string                 `ddl:"parameter,no_equals,single_quotes" sql:"COLLATE"`
	DefaultValue     *ColumnDefaultValue     `ddl:"keyword"`
	MaskingPolicy    *ColumnMaskingPolicy    `ddl:"keyword"`
	Tags             []TagAssociation        `ddl:"keyword,parentheses" sql:"TAG"`
	Comment          *string                 `ddl:"parameter,no_equals,single_quotes" sql:"COMMENT"`
}

type TableColumnAction added in v0.78.0

type TableColumnAction struct {
	// One of
	Add                *TableColumnAddAction                     `ddl:"keyword" sql:"ADD"`
	Rename             *TableColumnRenameAction                  `ddl:"keyword"`
	Alter              []TableColumnAlterAction                  `ddl:"keyword" sql:"ALTER"`
	SetMaskingPolicy   *TableColumnAlterSetMaskingPolicyAction   `ddl:"keyword"`
	UnsetMaskingPolicy *TableColumnAlterUnsetMaskingPolicyAction `ddl:"keyword"`
	SetTags            *TableColumnAlterSetTagsAction            `ddl:"keyword"`
	UnsetTags          *TableColumnAlterUnsetTagsAction          `ddl:"keyword"`
	DropColumns        *TableColumnAlterDropColumns              `ddl:"keyword"`
}

type TableColumnActionRequest added in v0.78.0

func NewTableColumnActionRequest added in v0.78.0

func NewTableColumnActionRequest() *TableColumnActionRequest

func (*TableColumnActionRequest) WithAdd added in v0.78.0

func (*TableColumnActionRequest) WithAlter added in v0.78.0

func (*TableColumnActionRequest) WithDropColumns added in v0.78.0

func (s *TableColumnActionRequest) WithDropColumns(dropColumns []string) *TableColumnActionRequest

func (*TableColumnActionRequest) WithDropColumnsIfExists added in v0.78.0

func (s *TableColumnActionRequest) WithDropColumnsIfExists() *TableColumnActionRequest

func (*TableColumnActionRequest) WithRename added in v0.78.0

func (*TableColumnActionRequest) WithSetMaskingPolicy added in v0.78.0

func (*TableColumnActionRequest) WithSetTags added in v0.78.0

func (*TableColumnActionRequest) WithUnsetMaskingPolicy added in v0.78.0

func (*TableColumnActionRequest) WithUnsetTags added in v0.78.0

type TableColumnAddAction added in v0.78.0

type TableColumnAddAction struct {
	IfNotExists      *bool                           `ddl:"keyword" sql:"IF NOT EXISTS"`
	Name             string                          `ddl:"keyword"`
	Type             DataType                        `ddl:"keyword"`
	Collate          *string                         `ddl:"parameter,no_equals,single_quotes" sql:"COLLATE"`
	DefaultValue     *ColumnDefaultValue             `ddl:"keyword"`
	InlineConstraint *TableColumnAddInlineConstraint `ddl:"keyword"`
	MaskingPolicy    *ColumnMaskingPolicy            `ddl:"keyword"`
	Tags             []TagAssociation                `ddl:"keyword,parentheses" sql:"TAG"`
	Comment          *string                         `ddl:"parameter,no_equals,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

type TableColumnAddActionRequest added in v0.78.0

type TableColumnAddActionRequest struct {
	IfNotExists      *bool
	Name             string   // required
	Type             DataType // required
	DefaultValue     *ColumnDefaultValueRequest
	InlineConstraint *TableColumnAddInlineConstraintRequest
	MaskingPolicy    *ColumnMaskingPolicyRequest
	With             *bool
	Tags             []TagAssociation
	Comment          *string
	Collate          *string
}

func NewTableColumnAddActionRequest added in v0.78.0

func NewTableColumnAddActionRequest(
	name string,
	dataType DataType,
) *TableColumnAddActionRequest

func (*TableColumnAddActionRequest) WithCollate added in v0.87.0

func (*TableColumnAddActionRequest) WithComment added in v0.86.0

func (*TableColumnAddActionRequest) WithDefaultValue added in v0.78.0

func (*TableColumnAddActionRequest) WithIfNotExists added in v0.78.0

func (*TableColumnAddActionRequest) WithInlineConstraint added in v0.78.0

func (*TableColumnAddActionRequest) WithMaskingPolicy added in v0.78.0

func (*TableColumnAddActionRequest) WithTags added in v0.78.0

func (*TableColumnAddActionRequest) WithWith added in v0.78.0

type TableColumnAddInlineConstraint added in v0.78.0

type TableColumnAddInlineConstraint struct {
	NotNull    *bool                `ddl:"keyword" sql:"NOT NULL"`
	Name       *string              `ddl:"parameter,no_equals" sql:"CONSTRAINT"`
	Type       ColumnConstraintType `ddl:"keyword"`
	ForeignKey *ColumnAddForeignKey `ddl:"keyword"`
}

type TableColumnAddInlineConstraintRequest added in v0.78.0

type TableColumnAddInlineConstraintRequest struct {
	NotNull    *bool
	Name       *string
	Type       ColumnConstraintType
	ForeignKey *ColumnAddForeignKey
}

func NewTableColumnAddInlineConstraintRequest added in v0.78.0

func NewTableColumnAddInlineConstraintRequest() *TableColumnAddInlineConstraintRequest

func (*TableColumnAddInlineConstraintRequest) WithForeignKey added in v0.78.0

func (*TableColumnAddInlineConstraintRequest) WithName added in v0.78.0

func (*TableColumnAddInlineConstraintRequest) WithNotNull added in v0.78.0

func (*TableColumnAddInlineConstraintRequest) WithType added in v0.78.0

type TableColumnAlterAction added in v0.78.0

type TableColumnAlterAction struct {
	Name string `ddl:"keyword"`

	// One of (except Collate)
	DropDefault       *bool         `ddl:"keyword" sql:"DROP DEFAULT"`
	SetDefault        *SequenceName `ddl:"parameter,no_equals" sql:"SET DEFAULT"`
	NotNullConstraint *TableColumnNotNullConstraint
	Type              *DataType `ddl:"parameter,no_equals" sql:"SET DATA TYPE"`
	Collate           *string   `ddl:"parameter,no_equals,single_quotes" sql:"COLLATE"`
	Comment           *string   `ddl:"parameter,no_equals,single_quotes" sql:"COMMENT"`
	UnsetComment      *bool     `ddl:"keyword" sql:"UNSET COMMENT"`
	// contains filtered or unexported fields
}

type TableColumnAlterActionRequest added in v0.78.0

type TableColumnAlterActionRequest struct {
	Name string // required

	// One of
	DropDefault       *bool
	SetDefault        *SequenceName
	NotNullConstraint *TableColumnNotNullConstraintRequest
	Type              *DataType
	Comment           *string
	UnsetComment      *bool
	Collate           *string
}

func NewTableColumnAlterActionRequest added in v0.78.0

func NewTableColumnAlterActionRequest(
	name string,
) *TableColumnAlterActionRequest

func (*TableColumnAlterActionRequest) WithCollate added in v0.87.0

func (*TableColumnAlterActionRequest) WithComment added in v0.78.0

func (*TableColumnAlterActionRequest) WithDropDefault added in v0.78.0

func (s *TableColumnAlterActionRequest) WithDropDefault(dropDefault *bool) *TableColumnAlterActionRequest

func (*TableColumnAlterActionRequest) WithNotNullConstraint added in v0.78.0

func (*TableColumnAlterActionRequest) WithSetDefault added in v0.78.0

func (*TableColumnAlterActionRequest) WithType added in v0.78.0

func (*TableColumnAlterActionRequest) WithUnsetComment added in v0.78.0

func (s *TableColumnAlterActionRequest) WithUnsetComment(unsetComment *bool) *TableColumnAlterActionRequest

type TableColumnAlterDropColumns added in v0.78.0

type TableColumnAlterDropColumns struct {
	IfExists *bool    `ddl:"keyword" sql:"IF EXISTS"`
	Columns  []string `ddl:"keyword"`
	// contains filtered or unexported fields
}

type TableColumnAlterSequenceName added in v0.78.0

type TableColumnAlterSequenceName interface {
	String() string
}

type TableColumnAlterSetMaskingPolicyAction added in v0.78.0

type TableColumnAlterSetMaskingPolicyAction struct {
	ColumnName string `ddl:"keyword"`

	MaskingPolicyName SchemaObjectIdentifier `ddl:"identifier"`
	Using             []string               `ddl:"keyword,parentheses" sql:"USING"`
	Force             *bool                  `ddl:"keyword" sql:"FORCE"`
	// contains filtered or unexported fields
}

type TableColumnAlterSetMaskingPolicyActionRequest added in v0.78.0

type TableColumnAlterSetMaskingPolicyActionRequest struct {
	ColumnName        string                 // required
	MaskingPolicyName SchemaObjectIdentifier // required
	Using             []string               // required
	Force             *bool
}

func NewTableColumnAlterSetMaskingPolicyActionRequest added in v0.78.0

func NewTableColumnAlterSetMaskingPolicyActionRequest(
	columnName string,
	maskingPolicyName SchemaObjectIdentifier,
	using []string,
) *TableColumnAlterSetMaskingPolicyActionRequest

func (*TableColumnAlterSetMaskingPolicyActionRequest) WithForce added in v0.78.0

type TableColumnAlterSetTagsAction added in v0.78.0

type TableColumnAlterSetTagsAction struct {
	ColumnName string `ddl:"keyword"`

	Tags []TagAssociation `ddl:"keyword" sql:"TAG"`
	// contains filtered or unexported fields
}

type TableColumnAlterSetTagsActionRequest added in v0.78.0

type TableColumnAlterSetTagsActionRequest struct {
	ColumnName string           // required
	Tags       []TagAssociation // required
}

func NewTableColumnAlterSetTagsActionRequest added in v0.78.0

func NewTableColumnAlterSetTagsActionRequest(
	columnName string,
	tags []TagAssociation,
) *TableColumnAlterSetTagsActionRequest

type TableColumnAlterUnsetMaskingPolicyAction added in v0.78.0

type TableColumnAlterUnsetMaskingPolicyAction struct {
	ColumnName string `ddl:"keyword"`
	// contains filtered or unexported fields
}

type TableColumnAlterUnsetMaskingPolicyActionRequest added in v0.78.0

type TableColumnAlterUnsetMaskingPolicyActionRequest struct {
	ColumnName string // required
}

func NewTableColumnAlterUnsetMaskingPolicyActionRequest added in v0.78.0

func NewTableColumnAlterUnsetMaskingPolicyActionRequest(
	columnName string,
) *TableColumnAlterUnsetMaskingPolicyActionRequest

type TableColumnAlterUnsetTagsAction added in v0.78.0

type TableColumnAlterUnsetTagsAction struct {
	ColumnName string `ddl:"keyword"`

	Tags []ObjectIdentifier `ddl:"keyword" sql:"TAG"`
	// contains filtered or unexported fields
}

type TableColumnAlterUnsetTagsActionRequest added in v0.78.0

type TableColumnAlterUnsetTagsActionRequest struct {
	ColumnName string             // required
	Tags       []ObjectIdentifier // required
}

func NewTableColumnAlterUnsetTagsActionRequest added in v0.78.0

func NewTableColumnAlterUnsetTagsActionRequest(
	columnName string,
	tags []ObjectIdentifier,
) *TableColumnAlterUnsetTagsActionRequest

type TableColumnDetails added in v0.78.0

type TableColumnDetails struct {
	Name                  string
	Type                  DataType
	Kind                  string
	IsNullable            bool
	Default               *string
	IsPrimary             bool
	IsUnique              bool
	Check                 *bool
	Expression            *string
	Comment               *string
	PolicyName            *string
	Collation             *string
	SchemaEvolutionRecord *string
}

type TableColumnIdentifier

type TableColumnIdentifier struct {
	// contains filtered or unexported fields
}

func NewTableColumnIdentifier

func NewTableColumnIdentifier(databaseName, schemaName, tableName, columnName string) TableColumnIdentifier

func NewTableColumnIdentifierFromFullyQualifiedName

func NewTableColumnIdentifierFromFullyQualifiedName(fullyQualifiedName string) TableColumnIdentifier

func ParseTableColumnIdentifier added in v0.95.0

func ParseTableColumnIdentifier(identifier string) (TableColumnIdentifier, error)

func (TableColumnIdentifier) DatabaseName

func (i TableColumnIdentifier) DatabaseName() string

func (TableColumnIdentifier) FullyQualifiedName

func (i TableColumnIdentifier) FullyQualifiedName() string

func (TableColumnIdentifier) Name

func (i TableColumnIdentifier) Name() string

func (TableColumnIdentifier) SchemaName

func (i TableColumnIdentifier) SchemaName() string

func (TableColumnIdentifier) SchemaObjectId added in v0.92.0

func (i TableColumnIdentifier) SchemaObjectId() SchemaObjectIdentifier

func (TableColumnIdentifier) TableName

func (i TableColumnIdentifier) TableName() string

type TableColumnNotNullConstraint added in v0.78.0

type TableColumnNotNullConstraint struct {
	Set  *bool `ddl:"keyword" sql:"SET NOT NULL"`
	Drop *bool `ddl:"keyword" sql:"DROP NOT NULL"`
}

type TableColumnNotNullConstraintRequest added in v0.78.0

type TableColumnNotNullConstraintRequest struct {
	Set  *bool
	Drop *bool
}

func NewTableColumnNotNullConstraintRequest added in v0.78.0

func NewTableColumnNotNullConstraintRequest() *TableColumnNotNullConstraintRequest

func (*TableColumnNotNullConstraintRequest) WithDrop added in v0.78.0

func (*TableColumnNotNullConstraintRequest) WithSet added in v0.78.0

type TableColumnRenameAction added in v0.78.0

type TableColumnRenameAction struct {
	OldName string `ddl:"parameter,no_equals" sql:"RENAME COLUMN"`
	NewName string `ddl:"parameter,no_equals" sql:"TO"`
}

type TableColumnRenameActionRequest added in v0.78.0

type TableColumnRenameActionRequest struct {
	OldName string // required
	NewName string // required
}

func NewTableColumnRenameActionRequest added in v0.78.0

func NewTableColumnRenameActionRequest(
	oldName string,
	newName string,
) *TableColumnRenameActionRequest

type TableColumnRequest added in v0.78.0

type TableColumnRequest struct {
	// contains filtered or unexported fields
}

func NewTableColumnRequest added in v0.78.0

func NewTableColumnRequest(
	name string,
	type_ DataType,
) *TableColumnRequest

func (*TableColumnRequest) WithCollate added in v0.78.0

func (s *TableColumnRequest) WithCollate(collate *string) *TableColumnRequest

func (*TableColumnRequest) WithComment added in v0.78.0

func (s *TableColumnRequest) WithComment(comment *string) *TableColumnRequest

func (*TableColumnRequest) WithDefaultValue added in v0.78.0

func (s *TableColumnRequest) WithDefaultValue(defaultValue *ColumnDefaultValueRequest) *TableColumnRequest

func (*TableColumnRequest) WithInlineConstraint added in v0.78.0

func (s *TableColumnRequest) WithInlineConstraint(inlineConstraint *ColumnInlineConstraintRequest) *TableColumnRequest

func (*TableColumnRequest) WithMaskingPolicy added in v0.78.0

func (s *TableColumnRequest) WithMaskingPolicy(maskingPolicy *ColumnMaskingPolicyRequest) *TableColumnRequest

func (*TableColumnRequest) WithNotNull added in v0.78.0

func (s *TableColumnRequest) WithNotNull(notNull *bool) *TableColumnRequest

func (*TableColumnRequest) WithTags added in v0.78.0

type TableColumnSignature

type TableColumnSignature struct {
	Name string   `ddl:"keyword,double_quotes"`
	Type DataType `ddl:"keyword"`
}

func ParseTableColumnSignature added in v0.96.0

func ParseTableColumnSignature(signature string) ([]TableColumnSignature, error)

Format in database is `(column <data_type>)` TODO(SNOW-1596962): Fully support VECTOR data type TODO(SNOW-1660588): Use ParseFunctionArgumentsFromString

type TableConstraintAction added in v0.78.0

type TableConstraintAction struct {
	Add    *OutOfLineConstraint         `ddl:"keyword" sql:"ADD"`
	Rename *TableConstraintRenameAction `ddl:"keyword" sql:"RENAME CONSTRAINT"`
	Alter  *TableConstraintAlterAction  `ddl:"keyword" sql:"ALTER"`
	Drop   *TableConstraintDropAction   `ddl:"keyword" sql:"DROP"`
}

type TableConstraintActionRequest added in v0.78.0

func NewTableConstraintActionRequest added in v0.78.0

func NewTableConstraintActionRequest() *TableConstraintActionRequest

func (*TableConstraintActionRequest) WithAdd added in v0.78.0

func (*TableConstraintActionRequest) WithAlter added in v0.78.0

func (*TableConstraintActionRequest) WithDrop added in v0.78.0

func (*TableConstraintActionRequest) WithRename added in v0.78.0

type TableConstraintAlterAction added in v0.78.0

type TableConstraintAlterAction struct {
	// One of
	ConstraintName *string `ddl:"parameter,no_equals" sql:"CONSTRAINT"`
	PrimaryKey     *bool   `ddl:"keyword" sql:"PRIMARY KEY"`
	Unique         *bool   `ddl:"keyword" sql:"UNIQUE"`
	ForeignKey     *bool   `ddl:"keyword" sql:"FOREIGN KEY"`

	// Optional
	Columns     []string `ddl:"keyword,parentheses"`
	Enforced    *bool    `ddl:"keyword" sql:"ENFORCED"`
	NotEnforced *bool    `ddl:"keyword" sql:"NOT ENFORCED"`
	Validate    *bool    `ddl:"keyword" sql:"VALIDATE"`
	NoValidate  *bool    `ddl:"keyword" sql:"NOVALIDATE"`
	Rely        *bool    `ddl:"keyword" sql:"RELY"`
	NoRely      *bool    `ddl:"keyword" sql:"NORELY"`
}

type TableConstraintAlterActionRequest added in v0.78.0

type TableConstraintAlterActionRequest struct {
	// One of
	ConstraintName *string
	PrimaryKey     *bool
	Unique         *bool
	ForeignKey     *bool

	// Optional
	Columns     []string
	Enforced    *bool
	NotEnforced *bool
	Validate    *bool
	NoValidate  *bool
	Rely        *bool
	NoRely      *bool
}

func NewTableConstraintAlterActionRequest added in v0.78.0

func NewTableConstraintAlterActionRequest() *TableConstraintAlterActionRequest

func (*TableConstraintAlterActionRequest) WithColumns added in v0.86.0

func (*TableConstraintAlterActionRequest) WithConstraintName added in v0.78.0

func (s *TableConstraintAlterActionRequest) WithConstraintName(constraintName *string) *TableConstraintAlterActionRequest

func (*TableConstraintAlterActionRequest) WithEnforced added in v0.78.0

func (*TableConstraintAlterActionRequest) WithForeignKey added in v0.78.0

func (*TableConstraintAlterActionRequest) WithNoRely added in v0.78.0

func (*TableConstraintAlterActionRequest) WithNoValidate added in v0.78.0

func (*TableConstraintAlterActionRequest) WithNotEnforced added in v0.78.0

func (*TableConstraintAlterActionRequest) WithPrimaryKey added in v0.78.0

func (*TableConstraintAlterActionRequest) WithRely added in v0.78.0

func (*TableConstraintAlterActionRequest) WithUnique added in v0.78.0

func (*TableConstraintAlterActionRequest) WithValidate added in v0.78.0

type TableConstraintDropAction added in v0.78.0

type TableConstraintDropAction struct {
	// One of
	ConstraintName *string `ddl:"parameter,no_equals" sql:"CONSTRAINT"`
	PrimaryKey     *bool   `ddl:"keyword" sql:"PRIMARY KEY"`
	Unique         *bool   `ddl:"keyword" sql:"UNIQUE"`
	ForeignKey     *bool   `ddl:"keyword" sql:"FOREIGN KEY"`

	// Optional
	Columns  []string `ddl:"keyword,parentheses"`
	Cascade  *bool    `ddl:"keyword" sql:"CASCADE"`
	Restrict *bool    `ddl:"keyword" sql:"RESTRICT"`
}

type TableConstraintDropActionRequest added in v0.78.0

type TableConstraintDropActionRequest struct {
	// One of
	ConstraintName *string
	PrimaryKey     *bool
	Unique         *bool
	ForeignKey     *bool

	// Optional
	Columns  []string
	Cascade  *bool
	Restrict *bool
}

func NewTableConstraintDropActionRequest added in v0.78.0

func NewTableConstraintDropActionRequest() *TableConstraintDropActionRequest

func (*TableConstraintDropActionRequest) WithCascade added in v0.78.0

func (*TableConstraintDropActionRequest) WithColumns added in v0.86.0

func (*TableConstraintDropActionRequest) WithConstraintName added in v0.78.0

func (s *TableConstraintDropActionRequest) WithConstraintName(constraintName *string) *TableConstraintDropActionRequest

func (*TableConstraintDropActionRequest) WithForeignKey added in v0.78.0

func (*TableConstraintDropActionRequest) WithPrimaryKey added in v0.78.0

func (*TableConstraintDropActionRequest) WithRestrict added in v0.78.0

func (*TableConstraintDropActionRequest) WithUnique added in v0.78.0

type TableConstraintRenameAction added in v0.78.0

type TableConstraintRenameAction struct {
	OldName string `ddl:"keyword"`
	NewName string `ddl:"parameter,no_equals" sql:"TO"`
}

type TableConstraintRenameActionRequest added in v0.78.0

type TableConstraintRenameActionRequest struct {
	OldName string
	NewName string
}

func NewTableConstraintRenameActionRequest added in v0.78.0

func NewTableConstraintRenameActionRequest() *TableConstraintRenameActionRequest

func (*TableConstraintRenameActionRequest) WithNewName added in v0.78.0

func (*TableConstraintRenameActionRequest) WithOldName added in v0.78.0

type TableDropAndAddRowAccessPolicy added in v0.78.0

type TableDropAndAddRowAccessPolicy struct {
	Drop TableDropRowAccessPolicy `ddl:"keyword"`
	Add  TableAddRowAccessPolicy  `ddl:"keyword"`
}

type TableDropAndAddRowAccessPolicyRequest added in v0.78.0

type TableDropAndAddRowAccessPolicyRequest struct {
	Drop TableDropRowAccessPolicyRequest // required
	Add  TableAddRowAccessPolicyRequest  // required
}

type TableDropRowAccessPolicy added in v0.78.0

type TableDropRowAccessPolicy struct {
	RowAccessPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"ROW ACCESS POLICY"`
	// contains filtered or unexported fields
}

type TableDropRowAccessPolicyRequest added in v0.78.0

type TableDropRowAccessPolicyRequest struct {
	RowAccessPolicy SchemaObjectIdentifier // required
}

func NewTableDropRowAccessPolicyRequest added in v0.78.0

func NewTableDropRowAccessPolicyRequest(
	rowAccessPolicy SchemaObjectIdentifier,
) *TableDropRowAccessPolicyRequest

type TableExternalTableAction added in v0.78.0

type TableExternalTableAction struct {
	// One of
	Add    *TableExternalTableColumnAddAction    `ddl:"keyword"`
	Rename *TableExternalTableColumnRenameAction `ddl:"keyword"`
	Drop   *TableExternalTableColumnDropAction   `ddl:"keyword"`
}

type TableExternalTableActionRequest added in v0.78.0

func NewTableExternalTableActionRequest added in v0.78.0

func NewTableExternalTableActionRequest() *TableExternalTableActionRequest

func (*TableExternalTableActionRequest) WithAdd added in v0.78.0

func (*TableExternalTableActionRequest) WithDrop added in v0.78.0

func (*TableExternalTableActionRequest) WithRename added in v0.78.0

type TableExternalTableColumnAddAction added in v0.78.0

type TableExternalTableColumnAddAction struct {
	IfNotExists *bool    `ddl:"keyword" sql:"IF NOT EXISTS"`
	Name        string   `ddl:"keyword"`
	Type        DataType `ddl:"keyword"`
	Expression  []string `ddl:"parameter,no_equals,parentheses" sql:"AS"`
	Comment     *string  `ddl:"parameter,no_equals,single_quotes" sql:"COMMENT"`
	// contains filtered or unexported fields
}

type TableExternalTableColumnAddActionRequest added in v0.78.0

type TableExternalTableColumnAddActionRequest struct {
	IfNotExists *bool
	Name        string
	Type        DataType
	Expression  string
	Comment     *string
}

func NewTableExternalTableColumnAddActionRequest added in v0.78.0

func NewTableExternalTableColumnAddActionRequest() *TableExternalTableColumnAddActionRequest

func (*TableExternalTableColumnAddActionRequest) WithComment added in v0.86.0

func (*TableExternalTableColumnAddActionRequest) WithExpression added in v0.78.0

func (*TableExternalTableColumnAddActionRequest) WithIfNotExists added in v0.78.0

func (*TableExternalTableColumnAddActionRequest) WithName added in v0.78.0

func (*TableExternalTableColumnAddActionRequest) WithType added in v0.78.0

type TableExternalTableColumnDropAction added in v0.78.0

type TableExternalTableColumnDropAction struct {
	IfExists *bool    `ddl:"keyword" sql:"IF EXISTS"`
	Names    []string `ddl:"keyword"`
	// contains filtered or unexported fields
}

type TableExternalTableColumnDropActionRequest added in v0.78.0

type TableExternalTableColumnDropActionRequest struct {
	Columns  []string // required
	IfExists *bool
}

func NewTableExternalTableColumnDropActionRequest added in v0.78.0

func NewTableExternalTableColumnDropActionRequest(columns []string) *TableExternalTableColumnDropActionRequest

func (*TableExternalTableColumnDropActionRequest) WithIfExists added in v0.78.0

type TableExternalTableColumnRenameAction added in v0.78.0

type TableExternalTableColumnRenameAction struct {
	OldName string `ddl:"parameter,no_equals" sql:"RENAME COLUMN"`
	NewName string `ddl:"parameter,no_equals" sql:"TO"`
}

type TableExternalTableColumnRenameActionRequest added in v0.78.0

type TableExternalTableColumnRenameActionRequest struct {
	OldName string
	NewName string
}

func NewTableExternalTableColumnRenameActionRequest added in v0.78.0

func NewTableExternalTableColumnRenameActionRequest() *TableExternalTableColumnRenameActionRequest

func (*TableExternalTableColumnRenameActionRequest) WithNewName added in v0.78.0

func (*TableExternalTableColumnRenameActionRequest) WithOldName added in v0.78.0

type TableKind added in v0.78.0

type TableKind string
const (
	TemporaryTableKind TableKind = "TEMPORARY"
	VolatileTableKind  TableKind = "VOLATILE"
	TransientTableKind TableKind = "TRANSIENT"
)

type TableReclusterAction added in v0.78.0

type TableReclusterAction struct {
	MaxSize   *int    `ddl:"parameter" sql:"MAX_SIZE"`
	Condition *string `ddl:"parameter,no_equals" sql:"WHERE"`
}

type TableReclusterActionRequest added in v0.78.0

type TableReclusterActionRequest struct {
	MaxSize   *int
	Condition *string
}

func NewTableReclusterActionRequest added in v0.78.0

func NewTableReclusterActionRequest() *TableReclusterActionRequest

func (*TableReclusterActionRequest) WithCondition added in v0.78.0

func (s *TableReclusterActionRequest) WithCondition(condition *string) *TableReclusterActionRequest

func (*TableReclusterActionRequest) WithMaxSize added in v0.78.0

type TableReclusterChangeState added in v0.78.0

type TableReclusterChangeState struct {
	State *ReclusterState `ddl:"keyword"`
	// contains filtered or unexported fields
}

type TableReclusterChangeStateRequest added in v0.78.0

type TableReclusterChangeStateRequest struct {
	State ReclusterState
}

func NewTableReclusterChangeStateRequest added in v0.78.0

func NewTableReclusterChangeStateRequest() *TableReclusterChangeStateRequest

func (*TableReclusterChangeStateRequest) WithState added in v0.78.0

type TableRowAccessPolicy added in v0.78.0

type TableRowAccessPolicy struct {
	Name SchemaObjectIdentifier `ddl:"identifier"`
	On   []string               `ddl:"keyword,parentheses" sql:"ON"`
	// contains filtered or unexported fields
}

type TableScope added in v0.78.0

type TableScope string
const (
	GlobalTableScope TableScope = "GLOBAL"
	LocalTableScope  TableScope = "LOCAL"
)

type TableSearchOptimizationAction added in v0.78.0

type TableSearchOptimizationAction struct {
	// One of
	Add  *AddSearchOptimization  `ddl:"keyword"`
	Drop *DropSearchOptimization `ddl:"keyword"`
}

type TableSearchOptimizationActionRequest added in v0.78.0

type TableSearchOptimizationActionRequest struct {
	// One of
	AddSearchOptimizationOn  []string
	DropSearchOptimizationOn []string
}

func NewTableSearchOptimizationActionRequest added in v0.78.0

func NewTableSearchOptimizationActionRequest() *TableSearchOptimizationActionRequest

func (*TableSearchOptimizationActionRequest) WithAddSearchOptimizationOn added in v0.78.0

func (s *TableSearchOptimizationActionRequest) WithAddSearchOptimizationOn(addSearchOptimizationOn []string) *TableSearchOptimizationActionRequest

func (*TableSearchOptimizationActionRequest) WithDropSearchOptimizationOn added in v0.78.0

func (s *TableSearchOptimizationActionRequest) WithDropSearchOptimizationOn(dropSearchOptimizationOn []string) *TableSearchOptimizationActionRequest

type TableSet added in v0.78.0

type TableSet struct {
	// Optional
	EnableSchemaEvolution      *bool             `ddl:"parameter" sql:"ENABLE_SCHEMA_EVOLUTION"`
	StageFileFormat            *StageFileFormat  `ddl:"list,parentheses" sql:"STAGE_FILE_FORMAT ="`
	StageCopyOptions           *StageCopyOptions `ddl:"list,parentheses" sql:"STAGE_COPY_OPTIONS ="`
	DataRetentionTimeInDays    *int              `ddl:"parameter" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays *int              `ddl:"parameter" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ChangeTracking             *bool             `ddl:"parameter" sql:"CHANGE_TRACKING"`
	DefaultDDLCollation        *string           `ddl:"parameter,single_quotes" sql:"DEFAULT_DDL_COLLATION"`
	Comment                    *string           `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type TableSetRequest added in v0.78.0

type TableSetRequest struct {
	EnableSchemaEvolution      *bool
	StageFileFormat            *StageFileFormatRequest
	StageCopyOptions           *StageCopyOptionsRequest
	DataRetentionTimeInDays    *int
	MaxDataExtensionTimeInDays *int
	ChangeTracking             *bool
	DefaultDDLCollation        *string
	Comment                    *string
}

func NewTableSetRequest added in v0.78.0

func NewTableSetRequest() *TableSetRequest

func (*TableSetRequest) WithChangeTracking added in v0.78.0

func (s *TableSetRequest) WithChangeTracking(changeTracking *bool) *TableSetRequest

func (*TableSetRequest) WithComment added in v0.78.0

func (s *TableSetRequest) WithComment(comment *string) *TableSetRequest

func (*TableSetRequest) WithDataRetentionTimeInDays added in v0.78.0

func (s *TableSetRequest) WithDataRetentionTimeInDays(dataRetentionTimeInDays *int) *TableSetRequest

func (*TableSetRequest) WithDefaultDDLCollation added in v0.78.0

func (s *TableSetRequest) WithDefaultDDLCollation(defaultDDLCollation *string) *TableSetRequest

func (*TableSetRequest) WithEnableSchemaEvolution added in v0.78.0

func (s *TableSetRequest) WithEnableSchemaEvolution(enableSchemaEvolution *bool) *TableSetRequest

func (*TableSetRequest) WithMaxDataExtensionTimeInDays added in v0.78.0

func (s *TableSetRequest) WithMaxDataExtensionTimeInDays(maxDataExtensionTimeInDays *int) *TableSetRequest

func (*TableSetRequest) WithStageCopyOptions added in v0.78.0

func (s *TableSetRequest) WithStageCopyOptions(stageCopyOptions StageCopyOptionsRequest) *TableSetRequest

func (*TableSetRequest) WithStageFileFormat added in v0.78.0

func (s *TableSetRequest) WithStageFileFormat(stageFileFormat StageFileFormatRequest) *TableSetRequest

type TableStageDetails added in v0.78.0

type TableStageDetails struct {
	ParentProperty  string
	Property        string
	PropertyType    string
	PropertyValue   string
	PropertyDefault string
}

type TableUnset added in v0.78.0

type TableUnset struct {
	DataRetentionTimeInDays    *bool `ddl:"keyword" sql:"DATA_RETENTION_TIME_IN_DAYS"`
	MaxDataExtensionTimeInDays *bool `ddl:"keyword" sql:"MAX_DATA_EXTENSION_TIME_IN_DAYS"`
	ChangeTracking             *bool `ddl:"keyword" sql:"CHANGE_TRACKING"`
	DefaultDDLCollation        *bool `ddl:"keyword" sql:"DEFAULT_DDL_COLLATION"`
	EnableSchemaEvolution      *bool `ddl:"keyword" sql:"ENABLE_SCHEMA_EVOLUTION"`
	Comment                    *bool `ddl:"keyword" sql:"COMMENT"`
}

type TableUnsetRequest added in v0.78.0

type TableUnsetRequest struct {
	DataRetentionTimeInDays    bool
	MaxDataExtensionTimeInDays bool
	ChangeTracking             bool
	DefaultDDLCollation        bool
	EnableSchemaEvolution      bool
	Comment                    bool
}

func NewTableUnsetRequest added in v0.78.0

func NewTableUnsetRequest() *TableUnsetRequest

func (*TableUnsetRequest) WithChangeTracking added in v0.78.0

func (s *TableUnsetRequest) WithChangeTracking(changeTracking bool) *TableUnsetRequest

func (*TableUnsetRequest) WithComment added in v0.78.0

func (s *TableUnsetRequest) WithComment(comment bool) *TableUnsetRequest

func (*TableUnsetRequest) WithDataRetentionTimeInDays added in v0.78.0

func (s *TableUnsetRequest) WithDataRetentionTimeInDays(dataRetentionTimeInDays bool) *TableUnsetRequest

func (*TableUnsetRequest) WithDefaultDDLCollation added in v0.78.0

func (s *TableUnsetRequest) WithDefaultDDLCollation(defaultDDLCollation bool) *TableUnsetRequest

func (*TableUnsetRequest) WithEnableSchemaEvolution added in v0.78.0

func (s *TableUnsetRequest) WithEnableSchemaEvolution(enableSchemaEvolution bool) *TableUnsetRequest

func (*TableUnsetRequest) WithMaxDataExtensionTimeInDays added in v0.78.0

func (s *TableUnsetRequest) WithMaxDataExtensionTimeInDays(maxDataExtensionTimeInDays bool) *TableUnsetRequest

type TableUnsetTags added in v0.78.0

type TableUnsetTags struct {
	Tag []ObjectIdentifier `ddl:"keyword"`
}

type Tag

type Tag struct {
	CreatedOn     time.Time
	Name          string
	DatabaseName  string
	SchemaName    string
	Owner         string
	Comment       string
	AllowedValues []string
	OwnerRoleType string
}

func (*Tag) ID

func (v *Tag) ID() SchemaObjectIdentifier

type TagAdd added in v0.74.0

type TagAdd struct {
	AllowedValues *AllowedValues `ddl:"keyword" sql:"ALLOWED_VALUES"`
}

type TagAssociation

type TagAssociation struct {
	Name  ObjectIdentifier `ddl:"identifier"`
	Value string           `ddl:"parameter,single_quotes"`
}

type TagAssociationRequest added in v0.72.0

type TagAssociationRequest struct {
	Name  ObjectIdentifier // required
	Value string           // required
}

func NewTagAssociationRequest added in v0.72.0

func NewTagAssociationRequest(
	name ObjectIdentifier,
	value string,
) *TagAssociationRequest

type TagDrop added in v0.74.0

type TagDrop struct {
	AllowedValues *AllowedValues `ddl:"keyword" sql:"ALLOWED_VALUES"`
}

type TagMaskingPolicy added in v0.74.0

type TagMaskingPolicy struct {
	Name SchemaObjectIdentifier `ddl:"identifier" sql:"MASKING POLICY"`
}

type TagRename added in v0.74.0

type TagRename struct {
	Name SchemaObjectIdentifier `ddl:"identifier"`
}

type TagSet added in v0.74.0

type TagSet struct {
	MaskingPolicies *TagSetMaskingPolicies `ddl:"keyword"`
	Comment         *string                `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type TagSetMaskingPolicies added in v0.74.0

type TagSetMaskingPolicies struct {
	MaskingPolicies []TagMaskingPolicy `ddl:"list,comma"`
	Force           *bool              `ddl:"keyword" sql:"FORCE"`
}

type TagSetRequest added in v0.74.0

type TagSetRequest struct {
	// contains filtered or unexported fields
}

func NewTagSetRequest added in v0.74.0

func NewTagSetRequest() *TagSetRequest

func (*TagSetRequest) WithComment added in v0.74.0

func (s *TagSetRequest) WithComment(comment string) *TagSetRequest

func (*TagSetRequest) WithForce added in v0.74.0

func (s *TagSetRequest) WithForce(force bool) *TagSetRequest

func (*TagSetRequest) WithMaskingPolicies added in v0.74.0

func (s *TagSetRequest) WithMaskingPolicies(maskingPolicies []SchemaObjectIdentifier) *TagSetRequest

type TagUnset added in v0.74.0

type TagUnset struct {
	MaskingPolicies *TagUnsetMaskingPolicies `ddl:"keyword"`
	AllowedValues   *bool                    `ddl:"keyword" sql:"ALLOWED_VALUES"`
	Comment         *bool                    `ddl:"keyword" sql:"COMMENT"`
}

type TagUnsetMaskingPolicies added in v0.74.0

type TagUnsetMaskingPolicies struct {
	MaskingPolicies []TagMaskingPolicy `ddl:"list,comma,no_quotes"`
}

type TagUnsetRequest added in v0.74.0

type TagUnsetRequest struct {
	// contains filtered or unexported fields
}

func NewTagUnsetRequest added in v0.74.0

func NewTagUnsetRequest() *TagUnsetRequest

func (*TagUnsetRequest) WithAllowedValues added in v0.74.0

func (s *TagUnsetRequest) WithAllowedValues(allowedValues bool) *TagUnsetRequest

func (*TagUnsetRequest) WithComment added in v0.74.0

func (s *TagUnsetRequest) WithComment(comment bool) *TagUnsetRequest

func (*TagUnsetRequest) WithMaskingPolicies added in v0.74.0

func (s *TagUnsetRequest) WithMaskingPolicies(maskingPolicies []SchemaObjectIdentifier) *TagUnsetRequest

type Tags added in v0.74.0

type Tags interface {
	Create(ctx context.Context, request *CreateTagRequest) error
	Alter(ctx context.Context, request *AlterTagRequest) error
	Show(ctx context.Context, opts *ShowTagRequest) ([]Tag, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*Tag, error)
	Drop(ctx context.Context, request *DropTagRequest) error
	Undrop(ctx context.Context, request *UndropTagRequest) error
	Set(ctx context.Context, request *SetTagRequest) error
	Unset(ctx context.Context, request *UnsetTagRequest) error
}

type TargetLag added in v0.72.0

type TargetLag struct {
	MaximumDuration *string `ddl:"keyword,single_quotes"`
	Downstream      *bool   `ddl:"keyword" sql:"DOWNSTREAM"`
}

type Task added in v0.73.0

type Task struct {
	CreatedOn                 string
	Name                      string
	Id                        string
	DatabaseName              string
	SchemaName                string
	Owner                     string
	Comment                   string
	Warehouse                 string
	Schedule                  string
	Predecessors              []SchemaObjectIdentifier
	State                     TaskState
	Definition                string
	Condition                 string
	AllowOverlappingExecution bool
	ErrorIntegration          *AccountObjectIdentifier
	LastCommittedOn           string
	LastSuspendedOn           string
	OwnerRoleType             string
	Config                    string
	Budget                    string
	TaskRelations             TaskRelations
	LastSuspendedReason       string
}

func GetRootTasks added in v0.75.0

func GetRootTasks(v Tasks, ctx context.Context, id SchemaObjectIdentifier) ([]Task, error)

GetRootTasks is a way to get all root tasks for the given tasks. Snowflake does not have (yet) a method to do it without traversing the task graph manually. Task DAG should have a single root but this is checked when the root task is being resumed; that's why we return here multiple roots. Cycles should not be possible in a task DAG, but it is checked when the root task is being resumed; that's why this method has to be cycle-proof.

func (*Task) ID added in v0.73.0

func (v *Task) ID() SchemaObjectIdentifier

type TaskParameter added in v0.97.0

type TaskParameter string
const (
	// Task Parameters
	TaskParameterSuspendTaskAfterNumFailures             TaskParameter = "SUSPEND_TASK_AFTER_NUM_FAILURES"
	TaskParameterTaskAutoRetryAttempts                   TaskParameter = "TASK_AUTO_RETRY_ATTEMPTS"
	TaskParameterUserTaskManagedInitialWarehouseSize     TaskParameter = "USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"
	TaskParameterUserTaskMinimumTriggerIntervalInSeconds TaskParameter = "USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"
	TaskParameterUserTaskTimeoutMs                       TaskParameter = "USER_TASK_TIMEOUT_MS"

	// Session Parameters (inherited)
	TaskParameterAbortDetachedQuery                       TaskParameter = "ABORT_DETACHED_QUERY"
	TaskParameterAutocommit                               TaskParameter = "AUTOCOMMIT"
	TaskParameterBinaryInputFormat                        TaskParameter = "BINARY_INPUT_FORMAT"
	TaskParameterBinaryOutputFormat                       TaskParameter = "BINARY_OUTPUT_FORMAT"
	TaskParameterClientMemoryLimit                        TaskParameter = "CLIENT_MEMORY_LIMIT"
	TaskParameterClientMetadataRequestUseConnectionCtx    TaskParameter = "CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX"
	TaskParameterClientPrefetchThreads                    TaskParameter = "CLIENT_PREFETCH_THREADS"
	TaskParameterClientResultChunkSize                    TaskParameter = "CLIENT_RESULT_CHUNK_SIZE"
	TaskParameterClientResultColumnCaseInsensitive        TaskParameter = "CLIENT_RESULT_COLUMN_CASE_INSENSITIVE"
	TaskParameterClientSessionKeepAlive                   TaskParameter = "CLIENT_SESSION_KEEP_ALIVE"
	TaskParameterClientSessionKeepAliveHeartbeatFrequency TaskParameter = "CLIENT_SESSION_KEEP_ALIVE_HEARTBEAT_FREQUENCY"
	TaskParameterClientTimestampTypeMapping               TaskParameter = "CLIENT_TIMESTAMP_TYPE_MAPPING"
	TaskParameterDateInputFormat                          TaskParameter = "DATE_INPUT_FORMAT"
	TaskParameterDateOutputFormat                         TaskParameter = "DATE_OUTPUT_FORMAT"
	TaskParameterEnableUnloadPhysicalTypeOptimization     TaskParameter = "ENABLE_UNLOAD_PHYSICAL_TYPE_OPTIMIZATION"
	TaskParameterErrorOnNondeterministicMerge             TaskParameter = "ERROR_ON_NONDETERMINISTIC_MERGE"
	TaskParameterErrorOnNondeterministicUpdate            TaskParameter = "ERROR_ON_NONDETERMINISTIC_UPDATE"
	TaskParameterGeographyOutputFormat                    TaskParameter = "GEOGRAPHY_OUTPUT_FORMAT"
	TaskParameterGeometryOutputFormat                     TaskParameter = "GEOMETRY_OUTPUT_FORMAT"
	TaskParameterJdbcTreatTimestampNtzAsUtc               TaskParameter = "JDBC_TREAT_TIMESTAMP_NTZ_AS_UTC"
	TaskParameterJdbcUseSessionTimezone                   TaskParameter = "JDBC_USE_SESSION_TIMEZONE"
	TaskParameterJsonIndent                               TaskParameter = "JSON_INDENT"
	TaskParameterLockTimeout                              TaskParameter = "LOCK_TIMEOUT"
	TaskParameterLogLevel                                 TaskParameter = "LOG_LEVEL"
	TaskParameterMultiStatementCount                      TaskParameter = "MULTI_STATEMENT_COUNT"
	TaskParameterNoorderSequenceAsDefault                 TaskParameter = "NOORDER_SEQUENCE_AS_DEFAULT"
	TaskParameterOdbcTreatDecimalAsInt                    TaskParameter = "ODBC_TREAT_DECIMAL_AS_INT"
	TaskParameterQueryTag                                 TaskParameter = "QUERY_TAG"
	TaskParameterQuotedIdentifiersIgnoreCase              TaskParameter = "QUOTED_IDENTIFIERS_IGNORE_CASE"
	TaskParameterRowsPerResultset                         TaskParameter = "ROWS_PER_RESULTSET"
	TaskParameterS3StageVpceDnsName                       TaskParameter = "S3_STAGE_VPCE_DNS_NAME"
	TaskParameterSearchPath                               TaskParameter = "SEARCH_PATH"
	TaskParameterStatementQueuedTimeoutInSeconds          TaskParameter = "STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"
	TaskParameterStatementTimeoutInSeconds                TaskParameter = "STATEMENT_TIMEOUT_IN_SECONDS"
	TaskParameterStrictJsonOutput                         TaskParameter = "STRICT_JSON_OUTPUT"
	TaskParameterTimestampDayIsAlways24h                  TaskParameter = "TIMESTAMP_DAY_IS_ALWAYS_24H"
	TaskParameterTimestampInputFormat                     TaskParameter = "TIMESTAMP_INPUT_FORMAT"
	TaskParameterTimestampLtzOutputFormat                 TaskParameter = "TIMESTAMP_LTZ_OUTPUT_FORMAT"
	TaskParameterTimestampNtzOutputFormat                 TaskParameter = "TIMESTAMP_NTZ_OUTPUT_FORMAT"
	TaskParameterTimestampOutputFormat                    TaskParameter = "TIMESTAMP_OUTPUT_FORMAT"
	TaskParameterTimestampTypeMapping                     TaskParameter = "TIMESTAMP_TYPE_MAPPING"
	TaskParameterTimestampTzOutputFormat                  TaskParameter = "TIMESTAMP_TZ_OUTPUT_FORMAT"
	TaskParameterTimezone                                 TaskParameter = "TIMEZONE"
	TaskParameterTimeInputFormat                          TaskParameter = "TIME_INPUT_FORMAT"
	TaskParameterTimeOutputFormat                         TaskParameter = "TIME_OUTPUT_FORMAT"
	TaskParameterTraceLevel                               TaskParameter = "TRACE_LEVEL"
	TaskParameterTransactionAbortOnError                  TaskParameter = "TRANSACTION_ABORT_ON_ERROR"
	TaskParameterTransactionDefaultIsolationLevel         TaskParameter = "TRANSACTION_DEFAULT_ISOLATION_LEVEL"
	TaskParameterTwoDigitCenturyStart                     TaskParameter = "TWO_DIGIT_CENTURY_START"
	TaskParameterUnsupportedDdlAction                     TaskParameter = "UNSUPPORTED_DDL_ACTION"
	TaskParameterUseCachedResult                          TaskParameter = "USE_CACHED_RESULT"
	TaskParameterWeekOfYearPolicy                         TaskParameter = "WEEK_OF_YEAR_POLICY"
	TaskParameterWeekStart                                TaskParameter = "WEEK_START"
)

TODO(SNOW-1348116 - next prs): Handle task parameters

type TaskRelations added in v0.97.0

type TaskRelations struct {
	Predecessors  []SchemaObjectIdentifier
	FinalizerTask *SchemaObjectIdentifier
}

func ToTaskRelations added in v0.97.0

func ToTaskRelations(s string) (TaskRelations, error)

type TaskRelationsRepresentation added in v0.97.0

type TaskRelationsRepresentation struct {
	Predecessors  []string `json:"Predecessors"`
	FinalizerTask string   `json:"FinalizerTask"`
}

func (*TaskRelationsRepresentation) ToTaskRelations added in v0.97.0

func (r *TaskRelationsRepresentation) ToTaskRelations() (TaskRelations, error)

type TaskSet added in v0.73.0

type TaskSet struct {
	Warehouse                               *AccountObjectIdentifier `ddl:"identifier,equals" sql:"WAREHOUSE"`
	UserTaskManagedInitialWarehouseSize     *WarehouseSize           `ddl:"parameter,single_quotes" sql:"USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE"`
	Schedule                                *string                  `ddl:"parameter,single_quotes" sql:"SCHEDULE"`
	Config                                  *string                  `ddl:"parameter,no_quotes" sql:"CONFIG"`
	AllowOverlappingExecution               *bool                    `ddl:"parameter" sql:"ALLOW_OVERLAPPING_EXECUTION"`
	UserTaskTimeoutMs                       *int                     `ddl:"parameter" sql:"USER_TASK_TIMEOUT_MS"`
	SuspendTaskAfterNumFailures             *int                     `ddl:"parameter" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	ErrorNotificationIntegration            *AccountObjectIdentifier `ddl:"identifier,equals" sql:"ERROR_INTEGRATION"`
	Comment                                 *string                  `ddl:"parameter,single_quotes" sql:"COMMENT"`
	SessionParameters                       *SessionParameters       `ddl:"list,no_parentheses"`
	TaskAutoRetryAttempts                   *int                     `ddl:"parameter" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskMinimumTriggerIntervalInSeconds *int                     `ddl:"parameter" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
}

type TaskSetRequest added in v0.73.0

type TaskSetRequest struct {
	Warehouse                               *AccountObjectIdentifier
	UserTaskManagedInitialWarehouseSize     *WarehouseSize
	Schedule                                *string
	Config                                  *string
	AllowOverlappingExecution               *bool
	UserTaskTimeoutMs                       *int
	SuspendTaskAfterNumFailures             *int
	ErrorNotificationIntegration            *AccountObjectIdentifier
	Comment                                 *string
	SessionParameters                       *SessionParameters
	TaskAutoRetryAttempts                   *int
	UserTaskMinimumTriggerIntervalInSeconds *int
}

func NewTaskSetRequest added in v0.73.0

func NewTaskSetRequest() *TaskSetRequest

func (*TaskSetRequest) WithAllowOverlappingExecution added in v0.73.0

func (s *TaskSetRequest) WithAllowOverlappingExecution(AllowOverlappingExecution bool) *TaskSetRequest

func (*TaskSetRequest) WithComment added in v0.73.0

func (s *TaskSetRequest) WithComment(Comment string) *TaskSetRequest

func (*TaskSetRequest) WithConfig added in v0.73.0

func (s *TaskSetRequest) WithConfig(Config string) *TaskSetRequest

func (*TaskSetRequest) WithErrorNotificationIntegration added in v0.97.0

func (s *TaskSetRequest) WithErrorNotificationIntegration(ErrorNotificationIntegration AccountObjectIdentifier) *TaskSetRequest

func (*TaskSetRequest) WithSchedule added in v0.73.0

func (s *TaskSetRequest) WithSchedule(Schedule string) *TaskSetRequest

func (*TaskSetRequest) WithSessionParameters added in v0.73.0

func (s *TaskSetRequest) WithSessionParameters(SessionParameters SessionParameters) *TaskSetRequest

func (*TaskSetRequest) WithSuspendTaskAfterNumFailures added in v0.73.0

func (s *TaskSetRequest) WithSuspendTaskAfterNumFailures(SuspendTaskAfterNumFailures int) *TaskSetRequest

func (*TaskSetRequest) WithTaskAutoRetryAttempts added in v0.97.0

func (s *TaskSetRequest) WithTaskAutoRetryAttempts(TaskAutoRetryAttempts int) *TaskSetRequest

func (*TaskSetRequest) WithUserTaskManagedInitialWarehouseSize added in v0.75.0

func (s *TaskSetRequest) WithUserTaskManagedInitialWarehouseSize(UserTaskManagedInitialWarehouseSize WarehouseSize) *TaskSetRequest

func (*TaskSetRequest) WithUserTaskMinimumTriggerIntervalInSeconds added in v0.97.0

func (s *TaskSetRequest) WithUserTaskMinimumTriggerIntervalInSeconds(UserTaskMinimumTriggerIntervalInSeconds int) *TaskSetRequest

func (*TaskSetRequest) WithUserTaskTimeoutMs added in v0.73.0

func (s *TaskSetRequest) WithUserTaskTimeoutMs(UserTaskTimeoutMs int) *TaskSetRequest

func (*TaskSetRequest) WithWarehouse added in v0.73.0

func (s *TaskSetRequest) WithWarehouse(Warehouse AccountObjectIdentifier) *TaskSetRequest

type TaskState added in v0.75.0

type TaskState string
const (
	TaskStateStarted   TaskState = "started"
	TaskStateSuspended TaskState = "suspended"
)

func ToTaskState added in v0.97.0

func ToTaskState(s string) (TaskState, error)

type TaskUnset added in v0.73.0

type TaskUnset struct {
	Warehouse                               *bool                   `ddl:"keyword" sql:"WAREHOUSE"`
	Schedule                                *bool                   `ddl:"keyword" sql:"SCHEDULE"`
	Config                                  *bool                   `ddl:"keyword" sql:"CONFIG"`
	AllowOverlappingExecution               *bool                   `ddl:"keyword" sql:"ALLOW_OVERLAPPING_EXECUTION"`
	UserTaskTimeoutMs                       *bool                   `ddl:"keyword" sql:"USER_TASK_TIMEOUT_MS"`
	SuspendTaskAfterNumFailures             *bool                   `ddl:"keyword" sql:"SUSPEND_TASK_AFTER_NUM_FAILURES"`
	ErrorIntegration                        *bool                   `ddl:"keyword" sql:"ERROR_INTEGRATION"`
	Comment                                 *bool                   `ddl:"keyword" sql:"COMMENT"`
	TaskAutoRetryAttempts                   *bool                   `ddl:"keyword" sql:"TASK_AUTO_RETRY_ATTEMPTS"`
	UserTaskMinimumTriggerIntervalInSeconds *bool                   `ddl:"keyword" sql:"USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS"`
	SessionParametersUnset                  *SessionParametersUnset `ddl:"list,no_parentheses"`
}

type TaskUnsetRequest added in v0.73.0

type TaskUnsetRequest struct {
	Warehouse                               *bool
	Schedule                                *bool
	Config                                  *bool
	AllowOverlappingExecution               *bool
	UserTaskTimeoutMs                       *bool
	SuspendTaskAfterNumFailures             *bool
	ErrorIntegration                        *bool
	Comment                                 *bool
	TaskAutoRetryAttempts                   *bool
	UserTaskMinimumTriggerIntervalInSeconds *bool
	SessionParametersUnset                  *SessionParametersUnset
}

func NewTaskUnsetRequest added in v0.73.0

func NewTaskUnsetRequest() *TaskUnsetRequest

func (*TaskUnsetRequest) WithAllowOverlappingExecution added in v0.73.0

func (s *TaskUnsetRequest) WithAllowOverlappingExecution(AllowOverlappingExecution bool) *TaskUnsetRequest

func (*TaskUnsetRequest) WithComment added in v0.73.0

func (s *TaskUnsetRequest) WithComment(Comment bool) *TaskUnsetRequest

func (*TaskUnsetRequest) WithConfig added in v0.73.0

func (s *TaskUnsetRequest) WithConfig(Config bool) *TaskUnsetRequest

func (*TaskUnsetRequest) WithErrorIntegration added in v0.75.0

func (s *TaskUnsetRequest) WithErrorIntegration(ErrorIntegration bool) *TaskUnsetRequest

func (*TaskUnsetRequest) WithSchedule added in v0.73.0

func (s *TaskUnsetRequest) WithSchedule(Schedule bool) *TaskUnsetRequest

func (*TaskUnsetRequest) WithSessionParametersUnset added in v0.73.0

func (s *TaskUnsetRequest) WithSessionParametersUnset(SessionParametersUnset SessionParametersUnset) *TaskUnsetRequest

func (*TaskUnsetRequest) WithSuspendTaskAfterNumFailures added in v0.73.0

func (s *TaskUnsetRequest) WithSuspendTaskAfterNumFailures(SuspendTaskAfterNumFailures bool) *TaskUnsetRequest

func (*TaskUnsetRequest) WithTaskAutoRetryAttempts added in v0.97.0

func (s *TaskUnsetRequest) WithTaskAutoRetryAttempts(TaskAutoRetryAttempts bool) *TaskUnsetRequest

func (*TaskUnsetRequest) WithUserTaskMinimumTriggerIntervalInSeconds added in v0.97.0

func (s *TaskUnsetRequest) WithUserTaskMinimumTriggerIntervalInSeconds(UserTaskMinimumTriggerIntervalInSeconds bool) *TaskUnsetRequest

func (*TaskUnsetRequest) WithUserTaskTimeoutMs added in v0.73.0

func (s *TaskUnsetRequest) WithUserTaskTimeoutMs(UserTaskTimeoutMs bool) *TaskUnsetRequest

func (*TaskUnsetRequest) WithWarehouse added in v0.73.0

func (s *TaskUnsetRequest) WithWarehouse(Warehouse bool) *TaskUnsetRequest

type Tasks added in v0.73.0

type Tasks interface {
	Create(ctx context.Context, request *CreateTaskRequest) error
	CreateOrAlter(ctx context.Context, request *CreateOrAlterTaskRequest) error
	Clone(ctx context.Context, request *CloneTaskRequest) error
	Alter(ctx context.Context, request *AlterTaskRequest) error
	Drop(ctx context.Context, request *DropTaskRequest) error
	Show(ctx context.Context, request *ShowTaskRequest) ([]Task, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*Task, error)
	Describe(ctx context.Context, id SchemaObjectIdentifier) (*Task, error)
	Execute(ctx context.Context, request *ExecuteTaskRequest) error
	SuspendRootTasks(ctx context.Context, taskId SchemaObjectIdentifier, id SchemaObjectIdentifier) ([]SchemaObjectIdentifier, error)
	ResumeTasks(ctx context.Context, ids []SchemaObjectIdentifier) error
}

type TimeTravel added in v0.66.0

type TimeTravel struct {
	Timestamp *time.Time `ddl:"parameter,single_quotes,arrow_equals" sql:"TIMESTAMP"`
	Offset    *int       `ddl:"parameter,arrow_equals" sql:"OFFSET"`
	Statement *string    `ddl:"parameter,single_quotes,arrow_equals" sql:"STATEMENT"`
}

type TimeTravelRequest added in v0.78.0

type TimeTravelRequest struct {
	Timestamp *time.Time
	Offset    *int
	Statement *string
}

func NewTimeTravelRequest added in v0.78.0

func NewTimeTravelRequest() *TimeTravelRequest

func (*TimeTravelRequest) WithOffset added in v0.78.0

func (s *TimeTravelRequest) WithOffset(offset *int) *TimeTravelRequest

func (*TimeTravelRequest) WithStatement added in v0.78.0

func (s *TimeTravelRequest) WithStatement(statement *string) *TimeTravelRequest

func (*TimeTravelRequest) WithTimestamp added in v0.78.0

func (s *TimeTravelRequest) WithTimestamp(timestamp *time.Time) *TimeTravelRequest

type TimestampTypeMapping added in v0.94.0

type TimestampTypeMapping string
const (
	TimestampTypeMappingLtz TimestampTypeMapping = "TIMESTAMP_LTZ"
	TimestampTypeMappingNtz TimestampTypeMapping = "TIMESTAMP_NTZ"
	TimestampTypeMappingTz  TimestampTypeMapping = "TIMESTAMP_TZ"
)

func ToTimestampTypeMapping added in v0.95.0

func ToTimestampTypeMapping(s string) (TimestampTypeMapping, error)

type TokenUserMappingClaim added in v0.92.0

type TokenUserMappingClaim struct {
	Claim string `ddl:"keyword,single_quotes"`
}

type TraceLevel added in v0.65.0

type TraceLevel string
const (
	TraceLevelAlways  TraceLevel = "ALWAYS"
	TraceLevelOnEvent TraceLevel = "ON_EVENT"
	TraceLevelOff     TraceLevel = "OFF"
)

func ToTraceLevel added in v0.93.0

func ToTraceLevel(value string) (TraceLevel, error)

type TransactionDefaultIsolationLevel added in v0.65.0

type TransactionDefaultIsolationLevel string
const (
	TransactionDefaultIsolationLevelReadCommitted TransactionDefaultIsolationLevel = "READ COMMITTED"
)

func ToTransactionDefaultIsolationLevel added in v0.95.0

func ToTransactionDefaultIsolationLevel(s string) (TransactionDefaultIsolationLevel, error)

type TriggerAction added in v0.69.0

type TriggerAction string
const (
	TriggerActionSuspend          TriggerAction = "SUSPEND"
	TriggerActionSuspendImmediate TriggerAction = "SUSPEND_IMMEDIATE"
	TriggerActionNotify           TriggerAction = "NOTIFY"
)

func ToResourceMonitorTriggerAction added in v0.96.0

func ToResourceMonitorTriggerAction(s string) (*TriggerAction, error)

type TriggerDefinition added in v0.69.0

type TriggerDefinition struct {
	Threshold     int           `ddl:"parameter,no_equals" sql:"ON"`
	TriggerAction TriggerAction `ddl:"parameter,no_equals" sql:"PERCENT DO"`
}

type UndropTagRequest added in v0.74.0

type UndropTagRequest struct {
	// contains filtered or unexported fields
}

func NewUndropTagRequest added in v0.74.0

func NewUndropTagRequest(name SchemaObjectIdentifier) *UndropTagRequest

type UnsetReleaseDirective added in v0.84.0

type UnsetReleaseDirective struct {
	ReleaseDirective string `ddl:"keyword,no_quotes"`
}

type UnsetReleaseDirectiveRequest added in v0.84.0

type UnsetReleaseDirectiveRequest struct {
	ReleaseDirective string // required
}

func NewUnsetReleaseDirectiveRequest added in v0.84.0

func NewUnsetReleaseDirectiveRequest(
	ReleaseDirective string,
) *UnsetReleaseDirectiveRequest

type UnsetTagRequest added in v0.87.1

type UnsetTagRequest struct {
	UnsetTags []ObjectIdentifier
	// contains filtered or unexported fields
}

func NewUnsetTagRequest added in v0.87.1

func NewUnsetTagRequest(objectType ObjectType, objectName ObjectIdentifier) *UnsetTagRequest

func (*UnsetTagRequest) WithUnsetTags added in v0.87.1

func (s *UnsetTagRequest) WithUnsetTags(tags []ObjectIdentifier) *UnsetTagRequest

type UnsupportedDDLAction added in v0.65.0

type UnsupportedDDLAction string
const (
	UnsupportedDDLActionIgnore UnsupportedDDLAction = "IGNORE"
	UnsupportedDDLActionFail   UnsupportedDDLAction = "FAIL"
)

func ToUnsupportedDDLAction added in v0.95.0

func ToUnsupportedDDLAction(s string) (UnsupportedDDLAction, error)

type UseRoleRequest added in v0.72.0

type UseRoleRequest struct {
	// contains filtered or unexported fields
}

func NewUseRoleRequest added in v0.72.0

func NewUseRoleRequest(id AccountObjectIdentifier) *UseRoleRequest

type UseSecondaryRolesRequest added in v0.72.0

type UseSecondaryRolesRequest struct {
	// contains filtered or unexported fields
}

func NewUseSecondaryRolesRequest added in v0.72.0

func NewUseSecondaryRolesRequest(option SecondaryRoleOption) *UseSecondaryRolesRequest

type User added in v0.65.0

type User struct {
	Name                  string
	CreatedOn             time.Time
	LoginName             string
	DisplayName           string
	FirstName             string
	LastName              string
	Email                 string
	MinsToUnlock          string
	DaysToExpiry          string
	Comment               string
	Disabled              bool
	MustChangePassword    bool
	SnowflakeLock         bool
	DefaultWarehouse      string
	DefaultNamespace      string
	DefaultRole           string
	DefaultSecondaryRoles string
	ExtAuthnDuo           bool
	ExtAuthnUid           string
	MinsToBypassMfa       string
	Owner                 string
	LastSuccessLogin      time.Time
	ExpiresAtTime         time.Time
	LockedUntilTime       time.Time
	HasPassword           bool
	HasRsaPublicKey       bool
	Type                  string
	HasMfa                bool
}

func (*User) GetSecondaryRolesOption added in v0.95.0

func (v *User) GetSecondaryRolesOption() SecondaryRolesOption

func (*User) ID added in v0.65.0

func (v *User) ID() AccountObjectIdentifier

func (*User) ObjectType added in v0.65.0

func (v *User) ObjectType() ObjectType

type UserAlterObjectProperties added in v0.95.0

type UserAlterObjectProperties struct {
	UserObjectProperties
	DisableMfa *bool `ddl:"parameter,no_quotes" sql:"DISABLE_MFA"`
}

type UserDetails added in v0.65.0

type UserDetails struct {
	Name                                *StringProperty
	Comment                             *StringProperty
	DisplayName                         *StringProperty
	Type                                *StringProperty
	LoginName                           *StringProperty
	FirstName                           *StringProperty
	MiddleName                          *StringProperty
	LastName                            *StringProperty
	Email                               *StringProperty
	Password                            *StringProperty
	MustChangePassword                  *BoolProperty
	Disabled                            *BoolProperty
	SnowflakeLock                       *BoolProperty
	SnowflakeSupport                    *BoolProperty
	DaysToExpiry                        *FloatProperty
	MinsToUnlock                        *IntProperty
	DefaultWarehouse                    *StringProperty
	DefaultNamespace                    *StringProperty
	DefaultRole                         *StringProperty
	DefaultSecondaryRoles               *StringProperty
	ExtAuthnDuo                         *BoolProperty
	ExtAuthnUid                         *StringProperty
	MinsToBypassMfa                     *IntProperty
	MinsToBypassNetworkPolicy           *IntProperty
	RsaPublicKey                        *StringProperty
	RsaPublicKeyFp                      *StringProperty
	RsaPublicKeyLastSetTime             *StringProperty
	RsaPublicKey2                       *StringProperty
	RsaPublicKey2Fp                     *StringProperty
	RsaPublicKey2LastSetTime            *StringProperty
	PasswordLastSetTime                 *StringProperty
	CustomLandingPageUrl                *StringProperty
	CustomLandingPageUrlFlushNextUiLoad *BoolProperty
	HasMfa                              *BoolProperty
}

UserDetails contains details about a user.

type UserDomain added in v0.92.0

type UserDomain struct {
	Domain string `ddl:"keyword,single_quotes"`
}

type UserObjectParameters added in v0.70.0

type UserObjectParameters struct {
	EnableUnredactedQuerySyntaxError *bool                    `ddl:"parameter,no_quotes" sql:"ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR"`
	NetworkPolicy                    *AccountObjectIdentifier `ddl:"identifier,equals" sql:"NETWORK_POLICY"`
	PreventUnloadToInternalStages    *bool                    `ddl:"parameter,no_quotes" sql:"PREVENT_UNLOAD_TO_INTERNAL_STAGES"`
}

type UserObjectParametersUnset added in v0.70.0

type UserObjectParametersUnset struct {
	EnableUnredactedQuerySyntaxError *bool `ddl:"keyword" sql:"ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR"`
	NetworkPolicy                    *bool `ddl:"keyword" sql:"NETWORK_POLICY"`
	PreventUnloadToInternalStages    *bool `ddl:"keyword" sql:"PREVENT_UNLOAD_TO_INTERNAL_STAGES"`
}

type UserObjectProperties added in v0.70.0

type UserObjectProperties struct {
	Password              *string                  `ddl:"parameter,single_quotes" sql:"PASSWORD"`
	LoginName             *string                  `ddl:"parameter,single_quotes" sql:"LOGIN_NAME"`
	DisplayName           *string                  `ddl:"parameter,single_quotes" sql:"DISPLAY_NAME"`
	FirstName             *string                  `ddl:"parameter,single_quotes" sql:"FIRST_NAME"`
	MiddleName            *string                  `ddl:"parameter,single_quotes" sql:"MIDDLE_NAME"`
	LastName              *string                  `ddl:"parameter,single_quotes" sql:"LAST_NAME"`
	Email                 *string                  `ddl:"parameter,single_quotes" sql:"EMAIL"`
	MustChangePassword    *bool                    `ddl:"parameter,no_quotes" sql:"MUST_CHANGE_PASSWORD"`
	Disable               *bool                    `ddl:"parameter,no_quotes" sql:"DISABLED"`
	DaysToExpiry          *int                     `ddl:"parameter,no_quotes" sql:"DAYS_TO_EXPIRY"`
	MinsToUnlock          *int                     `ddl:"parameter,no_quotes" sql:"MINS_TO_UNLOCK"`
	DefaultWarehouse      *AccountObjectIdentifier `ddl:"identifier,equals" sql:"DEFAULT_WAREHOUSE"`
	DefaultNamespace      *ObjectIdentifier        `ddl:"identifier,equals" sql:"DEFAULT_NAMESPACE"`
	DefaultRole           *AccountObjectIdentifier `ddl:"identifier,equals" sql:"DEFAULT_ROLE"`
	DefaultSecondaryRoles *SecondaryRoles          `ddl:"parameter,equals" sql:"DEFAULT_SECONDARY_ROLES"`
	MinsToBypassMFA       *int                     `ddl:"parameter,no_quotes" sql:"MINS_TO_BYPASS_MFA"`
	RSAPublicKey          *string                  `ddl:"parameter,single_quotes" sql:"RSA_PUBLIC_KEY"`
	RSAPublicKeyFp        *string                  `ddl:"parameter,single_quotes" sql:"RSA_PUBLIC_KEY_FP"`
	RSAPublicKey2         *string                  `ddl:"parameter,single_quotes" sql:"RSA_PUBLIC_KEY_2"`
	RSAPublicKey2Fp       *string                  `ddl:"parameter,single_quotes" sql:"RSA_PUBLIC_KEY_2_FP"`
	Type                  *UserType                `ddl:"parameter,no_quotes" sql:"TYPE"`
	Comment               *string                  `ddl:"parameter,single_quotes" sql:"COMMENT"`
}

type UserObjectPropertiesUnset added in v0.70.0

type UserObjectPropertiesUnset struct {
	Password              *bool `ddl:"keyword" sql:"PASSWORD"`
	LoginName             *bool `ddl:"keyword" sql:"LOGIN_NAME"`
	DisplayName           *bool `ddl:"keyword" sql:"DISPLAY_NAME"`
	FirstName             *bool `ddl:"keyword" sql:"FIRST_NAME"`
	MiddleName            *bool `ddl:"keyword" sql:"MIDDLE_NAME"`
	LastName              *bool `ddl:"keyword" sql:"LAST_NAME"`
	Email                 *bool `ddl:"keyword" sql:"EMAIL"`
	MustChangePassword    *bool `ddl:"keyword" sql:"MUST_CHANGE_PASSWORD"`
	Disable               *bool `ddl:"keyword" sql:"DISABLED"`
	DaysToExpiry          *bool `ddl:"keyword" sql:"DAYS_TO_EXPIRY"`
	MinsToUnlock          *bool `ddl:"keyword" sql:"MINS_TO_UNLOCK"`
	DefaultWarehouse      *bool `ddl:"keyword" sql:"DEFAULT_WAREHOUSE"`
	DefaultNamespace      *bool `ddl:"keyword" sql:"DEFAULT_NAMESPACE"`
	DefaultRole           *bool `ddl:"keyword" sql:"DEFAULT_ROLE"`
	DefaultSecondaryRoles *bool `ddl:"keyword" sql:"DEFAULT_SECONDARY_ROLES"`
	MinsToBypassMFA       *bool `ddl:"keyword" sql:"MINS_TO_BYPASS_MFA"`
	DisableMfa            *bool `ddl:"keyword" sql:"DISABLE_MFA"`
	RSAPublicKey          *bool `ddl:"keyword" sql:"RSA_PUBLIC_KEY"`
	RSAPublicKey2         *bool `ddl:"keyword" sql:"RSA_PUBLIC_KEY_2"`
	Type                  *bool `ddl:"keyword" sql:"TYPE"`
	Comment               *bool `ddl:"keyword" sql:"COMMENT"`
}

type UserParameter added in v0.65.0

type UserParameter string
const (
	// User Parameters
	UserParameterEnableUnredactedQuerySyntaxError UserParameter = "ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR"
	UserParameterNetworkPolicy                    UserParameter = "NETWORK_POLICY"
	UserParameterPreventUnloadToInternalStages    UserParameter = "PREVENT_UNLOAD_TO_INTERNAL_STAGES"

	// Session Parameters (inherited)
	UserParameterAbortDetachedQuery                       UserParameter = "ABORT_DETACHED_QUERY"
	UserParameterAutocommit                               UserParameter = "AUTOCOMMIT"
	UserParameterBinaryInputFormat                        UserParameter = "BINARY_INPUT_FORMAT"
	UserParameterBinaryOutputFormat                       UserParameter = "BINARY_OUTPUT_FORMAT"
	UserParameterClientMemoryLimit                        UserParameter = "CLIENT_MEMORY_LIMIT"
	UserParameterClientMetadataRequestUseConnectionCtx    UserParameter = "CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX"
	UserParameterClientPrefetchThreads                    UserParameter = "CLIENT_PREFETCH_THREADS"
	UserParameterClientResultChunkSize                    UserParameter = "CLIENT_RESULT_CHUNK_SIZE"
	UserParameterClientResultColumnCaseInsensitive        UserParameter = "CLIENT_RESULT_COLUMN_CASE_INSENSITIVE"
	UserParameterClientSessionKeepAlive                   UserParameter = "CLIENT_SESSION_KEEP_ALIVE"
	UserParameterClientSessionKeepAliveHeartbeatFrequency UserParameter = "CLIENT_SESSION_KEEP_ALIVE_HEARTBEAT_FREQUENCY"
	UserParameterClientTimestampTypeMapping               UserParameter = "CLIENT_TIMESTAMP_TYPE_MAPPING"
	UserParameterDateInputFormat                          UserParameter = "DATE_INPUT_FORMAT"
	UserParameterDateOutputFormat                         UserParameter = "DATE_OUTPUT_FORMAT"
	UserParameterEnableUnloadPhysicalTypeOptimization     UserParameter = "ENABLE_UNLOAD_PHYSICAL_TYPE_OPTIMIZATION"
	UserParameterErrorOnNondeterministicMerge             UserParameter = "ERROR_ON_NONDETERMINISTIC_MERGE"
	UserParameterErrorOnNondeterministicUpdate            UserParameter = "ERROR_ON_NONDETERMINISTIC_UPDATE"
	UserParameterGeographyOutputFormat                    UserParameter = "GEOGRAPHY_OUTPUT_FORMAT"
	UserParameterGeometryOutputFormat                     UserParameter = "GEOMETRY_OUTPUT_FORMAT"
	UserParameterJdbcTreatDecimalAsInt                    UserParameter = "JDBC_TREAT_DECIMAL_AS_INT"
	UserParameterJdbcTreatTimestampNtzAsUtc               UserParameter = "JDBC_TREAT_TIMESTAMP_NTZ_AS_UTC"
	UserParameterJdbcUseSessionTimezone                   UserParameter = "JDBC_USE_SESSION_TIMEZONE"
	UserParameterJsonIndent                               UserParameter = "JSON_INDENT"
	UserParameterLockTimeout                              UserParameter = "LOCK_TIMEOUT"
	UserParameterLogLevel                                 UserParameter = "LOG_LEVEL"
	UserParameterMultiStatementCount                      UserParameter = "MULTI_STATEMENT_COUNT"
	UserParameterNoorderSequenceAsDefault                 UserParameter = "NOORDER_SEQUENCE_AS_DEFAULT"
	UserParameterOdbcTreatDecimalAsInt                    UserParameter = "ODBC_TREAT_DECIMAL_AS_INT"
	UserParameterQueryTag                                 UserParameter = "QUERY_TAG"
	UserParameterQuotedIdentifiersIgnoreCase              UserParameter = "QUOTED_IDENTIFIERS_IGNORE_CASE"
	UserParameterRowsPerResultset                         UserParameter = "ROWS_PER_RESULTSET"
	UserParameterS3StageVpceDnsName                       UserParameter = "S3_STAGE_VPCE_DNS_NAME"
	UserParameterSearchPath                               UserParameter = "SEARCH_PATH"
	UserParameterSimulatedDataSharingConsumer             UserParameter = "SIMULATED_DATA_SHARING_CONSUMER"
	UserParameterStatementQueuedTimeoutInSeconds          UserParameter = "STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"
	UserParameterStatementTimeoutInSeconds                UserParameter = "STATEMENT_TIMEOUT_IN_SECONDS"
	UserParameterStrictJsonOutput                         UserParameter = "STRICT_JSON_OUTPUT"
	UserParameterTimestampDayIsAlways24h                  UserParameter = "TIMESTAMP_DAY_IS_ALWAYS_24H"
	UserParameterTimestampInputFormat                     UserParameter = "TIMESTAMP_INPUT_FORMAT"
	UserParameterTimestampLtzOutputFormat                 UserParameter = "TIMESTAMP_LTZ_OUTPUT_FORMAT"
	UserParameterTimestampNtzOutputFormat                 UserParameter = "TIMESTAMP_NTZ_OUTPUT_FORMAT"
	UserParameterTimestampOutputFormat                    UserParameter = "TIMESTAMP_OUTPUT_FORMAT"
	UserParameterTimestampTypeMapping                     UserParameter = "TIMESTAMP_TYPE_MAPPING"
	UserParameterTimestampTzOutputFormat                  UserParameter = "TIMESTAMP_TZ_OUTPUT_FORMAT"
	UserParameterTimezone                                 UserParameter = "TIMEZONE"
	UserParameterTimeInputFormat                          UserParameter = "TIME_INPUT_FORMAT"
	UserParameterTimeOutputFormat                         UserParameter = "TIME_OUTPUT_FORMAT"
	UserParameterTraceLevel                               UserParameter = "TRACE_LEVEL"
	UserParameterTransactionAbortOnError                  UserParameter = "TRANSACTION_ABORT_ON_ERROR"
	UserParameterTransactionDefaultIsolationLevel         UserParameter = "TRANSACTION_DEFAULT_ISOLATION_LEVEL"
	UserParameterTwoDigitCenturyStart                     UserParameter = "TWO_DIGIT_CENTURY_START"
	UserParameterUnsupportedDdlAction                     UserParameter = "UNSUPPORTED_DDL_ACTION"
	UserParameterUseCachedResult                          UserParameter = "USE_CACHED_RESULT"
	UserParameterWeekOfYearPolicy                         UserParameter = "WEEK_OF_YEAR_POLICY"
	UserParameterWeekStart                                UserParameter = "WEEK_START"
)

type UserParameters added in v0.65.0

type UserParameters struct {
	EnableUnredactedQuerySyntaxError *bool `ddl:"parameter" sql:"ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR"`
}

type UserParametersUnset added in v0.65.0

type UserParametersUnset struct {
	EnableUnredactedQuerySyntaxError *bool `ddl:"keyword" sql:"ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR"`
}

type UserSet added in v0.70.0

type UserSet struct {
	PasswordPolicy       *SchemaObjectIdentifier    `ddl:"identifier" sql:"PASSWORD POLICY"`
	SessionPolicy        *string                    `ddl:"parameter" sql:"SESSION POLICY"`
	AuthenticationPolicy *SchemaObjectIdentifier    `ddl:"identifier" sql:"AUTHENTICATION POLICY"`
	ObjectProperties     *UserAlterObjectProperties `ddl:"keyword"`
	ObjectParameters     *UserObjectParameters      `ddl:"keyword"`
	SessionParameters    *SessionParameters         `ddl:"keyword"`
}

type UserTag added in v0.70.0

type UserTag struct {
	Name  ObjectIdentifier `ddl:"keyword"`
	Value string           `ddl:"parameter,single_quotes"`
}

type UserType added in v0.97.0

type UserType string
const (
	UserTypePerson        UserType = "PERSON"
	UserTypeService       UserType = "SERVICE"
	UserTypeLegacyService UserType = "LEGACY_SERVICE"
)

func ToUserType added in v0.97.0

func ToUserType(s string) (UserType, error)

type UserUnset added in v0.70.0

type UserUnset struct {
	PasswordPolicy       *bool                      `ddl:"keyword" sql:"PASSWORD POLICY"`
	SessionPolicy        *bool                      `ddl:"keyword" sql:"SESSION POLICY"`
	AuthenticationPolicy *bool                      `ddl:"keyword" sql:"AUTHENTICATION POLICY"`
	ObjectProperties     *UserObjectPropertiesUnset `ddl:"list"`
	ObjectParameters     *UserObjectParametersUnset `ddl:"list"`
	SessionParameters    *SessionParametersUnset    `ddl:"list"`
}

type Users added in v0.65.0

type ValuesBehavior added in v0.85.0

type ValuesBehavior string
var (
	ValuesBehaviorOrder   ValuesBehavior = "ORDER"
	ValuesBehaviorNoOrder ValuesBehavior = "NOORDER"
)

func ValuesBehaviorPointer added in v0.85.0

func ValuesBehaviorPointer(v ValuesBehavior) *ValuesBehavior

type VersionAndPatch added in v0.85.0

type VersionAndPatch struct {
	Version string `ddl:"parameter,no_quotes,no_equals" sql:"VERSION"`
	Patch   *int   `ddl:"parameter,no_equals" sql:"PATCH"`
}

type VersionAndPatchRequest added in v0.85.0

type VersionAndPatchRequest struct {
	Version string // required
	Patch   *int   // required
}

func NewVersionAndPatchRequest added in v0.85.0

func NewVersionAndPatchRequest(
	Version string,
	Patch *int,
) *VersionAndPatchRequest

type View added in v0.76.0

type View struct {
	CreatedOn      string
	Name           string
	Kind           string
	Reserved       string
	DatabaseName   string
	SchemaName     string
	Owner          string
	Comment        string
	Text           string
	IsSecure       bool
	IsMaterialized bool
	OwnerRoleType  string
	ChangeTracking string
}

func (*View) HasCopyGrants added in v0.85.0

func (v *View) HasCopyGrants() bool

TODO(SNOW-1636212): remove

func (*View) ID added in v0.76.0

func (v *View) ID() SchemaObjectIdentifier

func (*View) IsChangeTracking added in v0.95.0

func (v *View) IsChangeTracking() bool

func (*View) IsRecursive added in v0.95.0

func (v *View) IsRecursive() bool

func (*View) IsTemporary added in v0.95.0

func (v *View) IsTemporary() bool

type ViewAddDataMetricFunction added in v0.95.0

type ViewAddDataMetricFunction struct {
	DataMetricFunction []ViewDataMetricFunction `ddl:"parameter,no_equals" sql:"DATA METRIC FUNCTION"`
	// contains filtered or unexported fields
}

type ViewAddDataMetricFunctionRequest added in v0.95.0

type ViewAddDataMetricFunctionRequest struct {
	DataMetricFunction []ViewDataMetricFunction // required
}

func NewViewAddDataMetricFunctionRequest added in v0.95.0

func NewViewAddDataMetricFunctionRequest(
	DataMetricFunction []ViewDataMetricFunction,
) *ViewAddDataMetricFunctionRequest

type ViewAddRowAccessPolicy added in v0.76.0

type ViewAddRowAccessPolicy struct {
	RowAccessPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"ROW ACCESS POLICY"`
	On              []Column               `ddl:"parameter,parentheses,no_equals" sql:"ON"`
	// contains filtered or unexported fields
}

type ViewAddRowAccessPolicyRequest added in v0.76.0

type ViewAddRowAccessPolicyRequest struct {
	RowAccessPolicy SchemaObjectIdentifier // required
	On              []Column               // required
}

func NewViewAddRowAccessPolicyRequest added in v0.76.0

func NewViewAddRowAccessPolicyRequest(
	RowAccessPolicy SchemaObjectIdentifier,
	On []Column,
) *ViewAddRowAccessPolicyRequest

type ViewAggregationPolicy added in v0.95.0

type ViewAggregationPolicy struct {
	AggregationPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"AGGREGATION POLICY"`
	EntityKey         []Column               `ddl:"parameter,parentheses,no_equals" sql:"ENTITY KEY"`
}

type ViewAggregationPolicyRequest added in v0.95.0

type ViewAggregationPolicyRequest struct {
	AggregationPolicy SchemaObjectIdentifier // required
	EntityKey         []Column
}

func NewViewAggregationPolicyRequest added in v0.95.0

func NewViewAggregationPolicyRequest(
	AggregationPolicy SchemaObjectIdentifier,
) *ViewAggregationPolicyRequest

func (*ViewAggregationPolicyRequest) WithEntityKey added in v0.95.0

func (s *ViewAggregationPolicyRequest) WithEntityKey(EntityKey []Column) *ViewAggregationPolicyRequest

type ViewColumn added in v0.76.0

type ViewColumn struct {
	Name             string                      `ddl:"keyword,double_quotes"`
	ProjectionPolicy *ViewColumnProjectionPolicy `ddl:"keyword"`
	MaskingPolicy    *ViewColumnMaskingPolicy    `ddl:"keyword"`
	Comment          *string                     `ddl:"parameter,single_quotes,no_equals" sql:"COMMENT"`
	Tag              []TagAssociation            `ddl:"keyword,parentheses" sql:"TAG"`
}

type ViewColumnMaskingPolicy added in v0.76.0

type ViewColumnMaskingPolicy struct {
	MaskingPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"MASKING POLICY"`
	Using         []Column               `ddl:"parameter,parentheses,no_equals" sql:"USING"`
}

type ViewColumnMaskingPolicyRequest added in v0.76.0

type ViewColumnMaskingPolicyRequest struct {
	MaskingPolicy SchemaObjectIdentifier // required
	Using         []Column
}

func NewViewColumnMaskingPolicyRequest added in v0.76.0

func NewViewColumnMaskingPolicyRequest(
	MaskingPolicy SchemaObjectIdentifier,
) *ViewColumnMaskingPolicyRequest

func (*ViewColumnMaskingPolicyRequest) WithUsing added in v0.76.0

type ViewColumnProjectionPolicy added in v0.95.0

type ViewColumnProjectionPolicy struct {
	ProjectionPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"PROJECTION POLICY"`
}

type ViewColumnProjectionPolicyRequest added in v0.95.0

type ViewColumnProjectionPolicyRequest struct {
	ProjectionPolicy SchemaObjectIdentifier // required
}

func NewViewColumnProjectionPolicyRequest added in v0.95.0

func NewViewColumnProjectionPolicyRequest(
	ProjectionPolicy SchemaObjectIdentifier,
) *ViewColumnProjectionPolicyRequest

type ViewColumnRequest added in v0.76.0

type ViewColumnRequest struct {
	Name             string // required
	ProjectionPolicy *ViewColumnProjectionPolicyRequest
	MaskingPolicy    *ViewColumnMaskingPolicyRequest
	Comment          *string
	Tag              []TagAssociation
}

func NewViewColumnRequest added in v0.76.0

func NewViewColumnRequest(
	Name string,
) *ViewColumnRequest

func (*ViewColumnRequest) WithComment added in v0.76.0

func (s *ViewColumnRequest) WithComment(Comment string) *ViewColumnRequest

func (*ViewColumnRequest) WithMaskingPolicy added in v0.95.0

func (s *ViewColumnRequest) WithMaskingPolicy(MaskingPolicy ViewColumnMaskingPolicyRequest) *ViewColumnRequest

func (*ViewColumnRequest) WithProjectionPolicy added in v0.95.0

func (s *ViewColumnRequest) WithProjectionPolicy(ProjectionPolicy ViewColumnProjectionPolicyRequest) *ViewColumnRequest

func (*ViewColumnRequest) WithTag added in v0.95.0

type ViewDataMetricFunction added in v0.95.0

type ViewDataMetricFunction struct {
	DataMetricFunction SchemaObjectIdentifier `ddl:"identifier"`
	On                 []Column               `ddl:"parameter,parentheses,no_equals" sql:"ON"`
}

type ViewDataMetricScheduleStatusOperationOption added in v0.95.0

type ViewDataMetricScheduleStatusOperationOption string
const (
	ViewDataMetricScheduleStatusOperationResume  ViewDataMetricScheduleStatusOperationOption = "RESUME"
	ViewDataMetricScheduleStatusOperationSuspend ViewDataMetricScheduleStatusOperationOption = "SUSPEND"
)

func ToViewDataMetricScheduleStatusOperationOption added in v0.95.0

func ToViewDataMetricScheduleStatusOperationOption(s string) (ViewDataMetricScheduleStatusOperationOption, error)

type ViewDetails added in v0.76.0

type ViewDetails struct {
	Name          string
	Type          DataType
	Kind          string
	IsNullable    bool
	Default       *string
	IsPrimary     bool
	IsUnique      bool
	Check         *bool
	Expression    *string
	Comment       *string
	PolicyName    *string
	PrivacyDomain *string
}

type ViewDropAndAddRowAccessPolicy added in v0.76.0

type ViewDropAndAddRowAccessPolicy struct {
	Drop ViewDropRowAccessPolicy `ddl:"keyword"`
	Add  ViewAddRowAccessPolicy  `ddl:"keyword"`
}

type ViewDropAndAddRowAccessPolicyRequest added in v0.76.0

type ViewDropAndAddRowAccessPolicyRequest struct {
	Drop ViewDropRowAccessPolicyRequest // required
	Add  ViewAddRowAccessPolicyRequest  // required
}

type ViewDropDataMetricFunction added in v0.95.0

type ViewDropDataMetricFunction struct {
	DataMetricFunction []ViewDataMetricFunction `ddl:"parameter,no_equals" sql:"DATA METRIC FUNCTION"`
	// contains filtered or unexported fields
}

type ViewDropDataMetricFunctionRequest added in v0.95.0

type ViewDropDataMetricFunctionRequest struct {
	DataMetricFunction []ViewDataMetricFunction // required
}

func NewViewDropDataMetricFunctionRequest added in v0.95.0

func NewViewDropDataMetricFunctionRequest(
	DataMetricFunction []ViewDataMetricFunction,
) *ViewDropDataMetricFunctionRequest

type ViewDropRowAccessPolicy added in v0.76.0

type ViewDropRowAccessPolicy struct {
	RowAccessPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"ROW ACCESS POLICY"`
	// contains filtered or unexported fields
}

type ViewDropRowAccessPolicyRequest added in v0.76.0

type ViewDropRowAccessPolicyRequest struct {
	RowAccessPolicy SchemaObjectIdentifier // required
}

func NewViewDropRowAccessPolicyRequest added in v0.76.0

func NewViewDropRowAccessPolicyRequest(
	RowAccessPolicy SchemaObjectIdentifier,
) *ViewDropRowAccessPolicyRequest

type ViewModifyDataMetricFunction added in v0.95.0

type ViewModifyDataMetricFunction struct {
	DataMetricFunction                          SchemaObjectIdentifier `ddl:"identifier"`
	On                                          []Column               `ddl:"parameter,parentheses,no_equals" sql:"ON"`
	ViewDataMetricScheduleStatusOperationOption `ddl:"parameter,no_quotes,no_equals"`
}

type ViewModifyDataMetricFunctions added in v0.95.0

type ViewModifyDataMetricFunctions struct {
	DataMetricFunction []ViewModifyDataMetricFunction `ddl:"parameter,no_equals" sql:"DATA METRIC FUNCTION"`
	// contains filtered or unexported fields
}

type ViewModifyDataMetricFunctionsRequest added in v0.95.0

type ViewModifyDataMetricFunctionsRequest struct {
	DataMetricFunction []ViewModifyDataMetricFunction // required
}

func NewViewModifyDataMetricFunctionsRequest added in v0.95.0

func NewViewModifyDataMetricFunctionsRequest(
	DataMetricFunction []ViewModifyDataMetricFunction,
) *ViewModifyDataMetricFunctionsRequest

type ViewRowAccessPolicy added in v0.76.0

type ViewRowAccessPolicy struct {
	RowAccessPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"ROW ACCESS POLICY"`
	On              []Column               `ddl:"parameter,parentheses,no_equals" sql:"ON"`
}

type ViewRowAccessPolicyRequest added in v0.76.0

type ViewRowAccessPolicyRequest struct {
	RowAccessPolicy SchemaObjectIdentifier // required
	On              []Column               // required
}

func NewViewRowAccessPolicyRequest added in v0.76.0

func NewViewRowAccessPolicyRequest(
	RowAccessPolicy SchemaObjectIdentifier,
	On []Column,
) *ViewRowAccessPolicyRequest

type ViewSetAggregationPolicy added in v0.95.0

type ViewSetAggregationPolicy struct {
	AggregationPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"AGGREGATION POLICY"`
	EntityKey         []Column               `ddl:"parameter,parentheses,no_equals" sql:"ENTITY KEY"`
	Force             *bool                  `ddl:"keyword" sql:"FORCE"`
	// contains filtered or unexported fields
}

type ViewSetAggregationPolicyRequest added in v0.95.0

type ViewSetAggregationPolicyRequest struct {
	AggregationPolicy SchemaObjectIdentifier // required
	EntityKey         []Column
	Force             *bool
}

func NewViewSetAggregationPolicyRequest added in v0.95.0

func NewViewSetAggregationPolicyRequest(
	AggregationPolicy SchemaObjectIdentifier,
) *ViewSetAggregationPolicyRequest

func (*ViewSetAggregationPolicyRequest) WithEntityKey added in v0.95.0

func (*ViewSetAggregationPolicyRequest) WithForce added in v0.95.0

type ViewSetColumnMaskingPolicy added in v0.76.0

type ViewSetColumnMaskingPolicy struct {
	Name string `ddl:"keyword,double_quotes"`

	MaskingPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"MASKING POLICY"`
	Using         []Column               `ddl:"parameter,parentheses,no_equals" sql:"USING"`
	Force         *bool                  `ddl:"keyword" sql:"FORCE"`
	// contains filtered or unexported fields
}

type ViewSetColumnMaskingPolicyRequest added in v0.76.0

type ViewSetColumnMaskingPolicyRequest struct {
	Name          string                 // required
	MaskingPolicy SchemaObjectIdentifier // required
	Using         []Column
	Force         *bool
}

func NewViewSetColumnMaskingPolicyRequest added in v0.76.0

func NewViewSetColumnMaskingPolicyRequest(
	Name string,
	MaskingPolicy SchemaObjectIdentifier,
) *ViewSetColumnMaskingPolicyRequest

func (*ViewSetColumnMaskingPolicyRequest) WithForce added in v0.76.0

func (*ViewSetColumnMaskingPolicyRequest) WithUsing added in v0.76.0

type ViewSetColumnTags added in v0.76.0

type ViewSetColumnTags struct {
	Name    string           `ddl:"keyword,double_quotes"`
	SetTags []TagAssociation `ddl:"keyword" sql:"SET TAG"`
	// contains filtered or unexported fields
}

type ViewSetColumnTagsRequest added in v0.76.0

type ViewSetColumnTagsRequest struct {
	Name    string           // required
	SetTags []TagAssociation // required
}

func NewViewSetColumnTagsRequest added in v0.76.0

func NewViewSetColumnTagsRequest(
	Name string,
	SetTags []TagAssociation,
) *ViewSetColumnTagsRequest

type ViewSetDataMetricSchedule added in v0.95.0

type ViewSetDataMetricSchedule struct {
	DataMetricSchedule string `ddl:"parameter,single_quotes" sql:"DATA_METRIC_SCHEDULE"`
	// contains filtered or unexported fields
}

type ViewSetDataMetricScheduleRequest added in v0.95.0

type ViewSetDataMetricScheduleRequest struct {
	DataMetricSchedule string // required
}

func NewViewSetDataMetricScheduleRequest added in v0.95.0

func NewViewSetDataMetricScheduleRequest(
	DataMetricSchedule string,
) *ViewSetDataMetricScheduleRequest

type ViewSetProjectionPolicy added in v0.95.0

type ViewSetProjectionPolicy struct {
	Name string `ddl:"keyword,double_quotes"`

	ProjectionPolicy SchemaObjectIdentifier `ddl:"identifier" sql:"PROJECTION POLICY"`
	Force            *bool                  `ddl:"keyword" sql:"FORCE"`
	// contains filtered or unexported fields
}

type ViewSetProjectionPolicyRequest added in v0.95.0

type ViewSetProjectionPolicyRequest struct {
	Name             string                 // required
	ProjectionPolicy SchemaObjectIdentifier // required
	Force            *bool
}

func NewViewSetProjectionPolicyRequest added in v0.95.0

func NewViewSetProjectionPolicyRequest(
	Name string,
	ProjectionPolicy SchemaObjectIdentifier,
) *ViewSetProjectionPolicyRequest

func (*ViewSetProjectionPolicyRequest) WithForce added in v0.95.0

type ViewUnsetAggregationPolicy added in v0.95.0

type ViewUnsetAggregationPolicy struct {
	// contains filtered or unexported fields
}

type ViewUnsetAggregationPolicyRequest added in v0.95.0

type ViewUnsetAggregationPolicyRequest struct{}

func NewViewUnsetAggregationPolicyRequest added in v0.95.0

func NewViewUnsetAggregationPolicyRequest() *ViewUnsetAggregationPolicyRequest

type ViewUnsetColumnMaskingPolicy added in v0.76.0

type ViewUnsetColumnMaskingPolicy struct {
	Name string `ddl:"keyword,double_quotes"`
	// contains filtered or unexported fields
}

type ViewUnsetColumnMaskingPolicyRequest added in v0.76.0

type ViewUnsetColumnMaskingPolicyRequest struct {
	Name string // required
}

func NewViewUnsetColumnMaskingPolicyRequest added in v0.76.0

func NewViewUnsetColumnMaskingPolicyRequest(
	Name string,
) *ViewUnsetColumnMaskingPolicyRequest

type ViewUnsetColumnTags added in v0.76.0

type ViewUnsetColumnTags struct {
	Name      string             `ddl:"keyword,double_quotes"`
	UnsetTags []ObjectIdentifier `ddl:"keyword" sql:"UNSET TAG"`
	// contains filtered or unexported fields
}

type ViewUnsetColumnTagsRequest added in v0.76.0

type ViewUnsetColumnTagsRequest struct {
	Name      string             // required
	UnsetTags []ObjectIdentifier // required
}

func NewViewUnsetColumnTagsRequest added in v0.76.0

func NewViewUnsetColumnTagsRequest(
	Name string,
	UnsetTags []ObjectIdentifier,
) *ViewUnsetColumnTagsRequest

type ViewUnsetDataMetricSchedule added in v0.95.0

type ViewUnsetDataMetricSchedule struct {
	// contains filtered or unexported fields
}

type ViewUnsetDataMetricScheduleRequest added in v0.95.0

type ViewUnsetDataMetricScheduleRequest struct{}

func NewViewUnsetDataMetricScheduleRequest added in v0.95.0

func NewViewUnsetDataMetricScheduleRequest() *ViewUnsetDataMetricScheduleRequest

type ViewUnsetProjectionPolicy added in v0.95.0

type ViewUnsetProjectionPolicy struct {
	Name string `ddl:"keyword,double_quotes"`
	// contains filtered or unexported fields
}

type ViewUnsetProjectionPolicyRequest added in v0.95.0

type ViewUnsetProjectionPolicyRequest struct {
	Name string // required
}

func NewViewUnsetProjectionPolicyRequest added in v0.95.0

func NewViewUnsetProjectionPolicyRequest(
	Name string,
) *ViewUnsetProjectionPolicyRequest

type Views added in v0.76.0

type Views interface {
	Create(ctx context.Context, request *CreateViewRequest) error
	Alter(ctx context.Context, request *AlterViewRequest) error
	Drop(ctx context.Context, request *DropViewRequest) error
	Show(ctx context.Context, request *ShowViewRequest) ([]View, error)
	ShowByID(ctx context.Context, id SchemaObjectIdentifier) (*View, error)
	Describe(ctx context.Context, id SchemaObjectIdentifier) ([]ViewDetails, error)
}

type Warehouse

type Warehouse struct {
	Name                            string
	State                           WarehouseState
	Type                            WarehouseType
	Size                            WarehouseSize
	MinClusterCount                 int
	MaxClusterCount                 int
	StartedClusters                 int
	Running                         int
	Queued                          int
	IsDefault                       bool
	IsCurrent                       bool
	AutoSuspend                     int
	AutoResume                      bool
	Available                       float64
	Provisioning                    float64
	Quiescing                       float64
	Other                           float64
	CreatedOn                       time.Time
	ResumedOn                       time.Time
	UpdatedOn                       time.Time
	Owner                           string
	Comment                         string
	EnableQueryAcceleration         bool
	QueryAccelerationMaxScaleFactor int
	ResourceMonitor                 AccountObjectIdentifier
	ScalingPolicy                   ScalingPolicy
	OwnerRoleType                   string
}

func (*Warehouse) ID

func (*Warehouse) ObjectType added in v0.65.0

func (v *Warehouse) ObjectType() ObjectType

type WarehouseDetails

type WarehouseDetails struct {
	CreatedOn time.Time
	Name      string
	Kind      string
}

type WarehouseParameter added in v0.94.0

type WarehouseParameter string
const (
	WarehouseParameterMaxConcurrencyLevel             WarehouseParameter = "MAX_CONCURRENCY_LEVEL"
	WarehouseParameterStatementQueuedTimeoutInSeconds WarehouseParameter = "STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"
	WarehouseParameterStatementTimeoutInSeconds       WarehouseParameter = "STATEMENT_TIMEOUT_IN_SECONDS"
)

type WarehouseSet added in v0.65.0

type WarehouseSet struct {
	// Object properties
	WarehouseType                   *WarehouseType          `ddl:"parameter,single_quotes" sql:"WAREHOUSE_TYPE"`
	WarehouseSize                   *WarehouseSize          `ddl:"parameter,single_quotes" sql:"WAREHOUSE_SIZE"`
	WaitForCompletion               *bool                   `ddl:"parameter" sql:"WAIT_FOR_COMPLETION"`
	MaxClusterCount                 *int                    `ddl:"parameter" sql:"MAX_CLUSTER_COUNT"`
	MinClusterCount                 *int                    `ddl:"parameter" sql:"MIN_CLUSTER_COUNT"`
	ScalingPolicy                   *ScalingPolicy          `ddl:"parameter,single_quotes" sql:"SCALING_POLICY"`
	AutoSuspend                     *int                    `ddl:"parameter" sql:"AUTO_SUSPEND"`
	AutoResume                      *bool                   `ddl:"parameter" sql:"AUTO_RESUME"`
	ResourceMonitor                 AccountObjectIdentifier `ddl:"identifier,equals" sql:"RESOURCE_MONITOR"`
	Comment                         *string                 `ddl:"parameter,single_quotes" sql:"COMMENT"`
	EnableQueryAcceleration         *bool                   `ddl:"parameter" sql:"ENABLE_QUERY_ACCELERATION"`
	QueryAccelerationMaxScaleFactor *int                    `ddl:"parameter" sql:"QUERY_ACCELERATION_MAX_SCALE_FACTOR"`

	// Object params
	MaxConcurrencyLevel             *int `ddl:"parameter" sql:"MAX_CONCURRENCY_LEVEL"`
	StatementQueuedTimeoutInSeconds *int `ddl:"parameter" sql:"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"`
	StatementTimeoutInSeconds       *int `ddl:"parameter" sql:"STATEMENT_TIMEOUT_IN_SECONDS"`
}

type WarehouseSize added in v0.65.0

type WarehouseSize string
const (
	WarehouseSizeXSmall   WarehouseSize = "XSMALL"
	WarehouseSizeSmall    WarehouseSize = "SMALL"
	WarehouseSizeMedium   WarehouseSize = "MEDIUM"
	WarehouseSizeLarge    WarehouseSize = "LARGE"
	WarehouseSizeXLarge   WarehouseSize = "XLARGE"
	WarehouseSizeXXLarge  WarehouseSize = "XXLARGE"
	WarehouseSizeXXXLarge WarehouseSize = "XXXLARGE"
	WarehouseSizeX4Large  WarehouseSize = "X4LARGE"
	WarehouseSizeX5Large  WarehouseSize = "X5LARGE"
	WarehouseSizeX6Large  WarehouseSize = "X6LARGE"
)

func ToWarehouseSize added in v0.66.2

func ToWarehouseSize(s string) (WarehouseSize, error)

type WarehouseState added in v0.65.0

type WarehouseState string
const (
	WarehouseStateSuspended  WarehouseState = "SUSPENDED"
	WarehouseStateSuspending WarehouseState = "SUSPENDING"
	WarehouseStateStarted    WarehouseState = "STARTED"
	WarehouseStateResizing   WarehouseState = "RESIZING"
	WarehouseStateResuming   WarehouseState = "RESUMING"
)

type WarehouseType added in v0.65.0

type WarehouseType string
const (
	WarehouseTypeStandard          WarehouseType = "STANDARD"
	WarehouseTypeSnowparkOptimized WarehouseType = "SNOWPARK-OPTIMIZED"
)

func ToWarehouseType added in v0.93.0

func ToWarehouseType(s string) (WarehouseType, error)

type WarehouseUnset added in v0.65.0

type WarehouseUnset struct {
	// Object properties
	WarehouseType                   *bool `ddl:"keyword" sql:"WAREHOUSE_TYPE"`
	WaitForCompletion               *bool `ddl:"keyword" sql:"WAIT_FOR_COMPLETION"`
	MaxClusterCount                 *bool `ddl:"keyword" sql:"MAX_CLUSTER_COUNT"`
	MinClusterCount                 *bool `ddl:"keyword" sql:"MIN_CLUSTER_COUNT"`
	ScalingPolicy                   *bool `ddl:"keyword" sql:"SCALING_POLICY"`
	AutoSuspend                     *bool `ddl:"keyword" sql:"AUTO_SUSPEND"`
	AutoResume                      *bool `ddl:"keyword" sql:"AUTO_RESUME"`
	ResourceMonitor                 *bool `ddl:"keyword" sql:"RESOURCE_MONITOR"`
	Comment                         *bool `ddl:"keyword" sql:"COMMENT"`
	EnableQueryAcceleration         *bool `ddl:"keyword" sql:"ENABLE_QUERY_ACCELERATION"`
	QueryAccelerationMaxScaleFactor *bool `ddl:"keyword" sql:"QUERY_ACCELERATION_MAX_SCALE_FACTOR"`

	// Object params
	MaxConcurrencyLevel             *bool `ddl:"keyword" sql:"MAX_CONCURRENCY_LEVEL"`
	StatementQueuedTimeoutInSeconds *bool `ddl:"keyword" sql:"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS"`
	StatementTimeoutInSeconds       *bool `ddl:"keyword" sql:"STATEMENT_TIMEOUT_IN_SECONDS"`
}

type XMLCompression added in v0.68.0

type XMLCompression string
var (
	XMLCompressionAuto       XMLCompression = "AUTO"
	XMLCompressionGzip       XMLCompression = "GZIP"
	XMLCompressionBz2        XMLCompression = "BZ2"
	XMLCompressionBrotli     XMLCompression = "BROTLI"
	XMLCompressionZstd       XMLCompression = "ZSTD"
	XMLCompressionDeflate    XMLCompression = "DEFLATE"
	XMLCompressionRawDeflate XMLCompression = "RAW_DEFLATE"
	XMLCompressionNone       XMLCompression = "NONE"
)

Source Files

Directories

Path Synopsis
dto-builder-generator
poc

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL