From 80514f54b75e36253518da20ec7118d33d71f2ad Mon Sep 17 00:00:00 2001 From: Parth Bansal Date: Thu, 7 Nov 2024 14:04:05 +0100 Subject: [PATCH] [Internal] Update to latest OpenAPI spec and bump Go SDK (#4199) ## Changes Update to latest OpenAPI spec and Bump go sdk. ## Tests - [ ] `make test` run locally - [ ] relevant change in `docs/` folder - [ ] covered with integration tests in `internal/acceptance` - [ ] relevant acceptance tests are passing - [ ] using Go SDK --- .codegen/_openapi_sha | 2 +- go.mod | 2 +- go.sum | 4 +- internal/service/apps_tf/model.go | 39 ++- internal/service/catalog_tf/model.go | 343 +++++++++++++++++++++- internal/service/compute_tf/model.go | 2 +- internal/service/dashboards_tf/model.go | 107 +++++++ internal/service/jobs_tf/model.go | 3 + internal/service/pipelines_tf/model.go | 59 +++- internal/service/provisioning_tf/model.go | 3 + internal/service/sharing_tf/model.go | 285 ------------------ 11 files changed, 535 insertions(+), 314 deletions(-) diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index ecf041814..5f4b50860 100644 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -25b2478e5a18c888f0d423249abde5499dc58424 \ No newline at end of file +d25296d2f4aa7bd6195c816fdf82e0f960f775da \ No newline at end of file diff --git a/go.mod b/go.mod index e449f753c..87e265f72 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/databricks/terraform-provider-databricks go 1.22 require ( - github.com/databricks/databricks-sdk-go v0.50.0 + github.com/databricks/databricks-sdk-go v0.51.0 github.com/golang-jwt/jwt/v4 v4.5.1 github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 github.com/hashicorp/hcl v1.0.0 diff --git a/go.sum b/go.sum index 6f416791a..2fe2fa4ab 100644 --- a/go.sum +++ b/go.sum @@ -26,8 +26,8 @@ github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBS github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/databricks/databricks-sdk-go v0.50.0 h1:Zl4uBhYMT5z6aDojCQJPT2zCYjjfqxBQSQn8uLTphpo= -github.com/databricks/databricks-sdk-go v0.50.0/go.mod h1:ds+zbv5mlQG7nFEU5ojLtgN/u0/9YzZmKQES/CfedzU= +github.com/databricks/databricks-sdk-go v0.51.0 h1:tcvB9TID3oUl0O8npccB5c+33tarBiYMBFbq4U4AB6M= +github.com/databricks/databricks-sdk-go v0.51.0/go.mod h1:ds+zbv5mlQG7nFEU5ojLtgN/u0/9YzZmKQES/CfedzU= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/internal/service/apps_tf/model.go b/internal/service/apps_tf/model.go index b5a602ba1..d52106d4a 100755 --- a/internal/service/apps_tf/model.go +++ b/internal/service/apps_tf/model.go @@ -144,8 +144,6 @@ func (newState *AppAccessControlResponse) SyncEffectiveFieldsDuringRead(existing } type AppDeployment struct { - // The name of the app. - AppName types.String `tfsdk:"-"` // The creation time of the deployment. Formatted timestamp in ISO 6801. CreateTime types.String `tfsdk:"create_time" tf:"optional"` EffectiveCreateTime types.String `tfsdk:"effective_create_time" tf:"computed,optional"` @@ -400,6 +398,30 @@ func (newState *ComputeStatus) SyncEffectiveFieldsDuringRead(existingState Compu } } +// Create an app deployment +type CreateAppDeploymentRequest struct { + AppDeployment []AppDeployment `tfsdk:"app_deployment" tf:"optional,object"` + // The name of the app. + AppName types.String `tfsdk:"-"` +} + +func (newState *CreateAppDeploymentRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan CreateAppDeploymentRequest) { +} + +func (newState *CreateAppDeploymentRequest) SyncEffectiveFieldsDuringRead(existingState CreateAppDeploymentRequest) { +} + +// Create an app +type CreateAppRequest struct { + App []App `tfsdk:"app" tf:"optional,object"` +} + +func (newState *CreateAppRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan CreateAppRequest) { +} + +func (newState *CreateAppRequest) SyncEffectiveFieldsDuringRead(existingState CreateAppRequest) { +} + // Delete an app type DeleteAppRequest struct { // The name of the app. @@ -551,3 +573,16 @@ func (newState *StopAppRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan Sto func (newState *StopAppRequest) SyncEffectiveFieldsDuringRead(existingState StopAppRequest) { } + +// Update an app +type UpdateAppRequest struct { + App []App `tfsdk:"app" tf:"optional,object"` + // The name of the app. + Name types.String `tfsdk:"-"` +} + +func (newState *UpdateAppRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan UpdateAppRequest) { +} + +func (newState *UpdateAppRequest) SyncEffectiveFieldsDuringRead(existingState UpdateAppRequest) { +} diff --git a/internal/service/catalog_tf/model.go b/internal/service/catalog_tf/model.go index caf38f865..a712a00da 100755 --- a/internal/service/catalog_tf/model.go +++ b/internal/service/catalog_tf/model.go @@ -181,6 +181,25 @@ func (newState *AwsCredentials) SyncEffectiveFieldsDuringCreateOrUpdate(plan Aws func (newState *AwsCredentials) SyncEffectiveFieldsDuringRead(existingState AwsCredentials) { } +// The AWS IAM role configuration +type AwsIamRole struct { + // The external ID used in role assumption to prevent the confused deputy + // problem. + ExternalId types.String `tfsdk:"external_id" tf:"optional"` + // The Amazon Resource Name (ARN) of the AWS IAM role used to vend temporary + // credentials. + RoleArn types.String `tfsdk:"role_arn" tf:"optional"` + // The Amazon Resource Name (ARN) of the AWS IAM user managed by Databricks. + // This is the identity that is going to assume the AWS IAM role. + UnityCatalogIamArn types.String `tfsdk:"unity_catalog_iam_arn" tf:"optional"` +} + +func (newState *AwsIamRole) SyncEffectiveFieldsDuringCreateOrUpdate(plan AwsIamRole) { +} + +func (newState *AwsIamRole) SyncEffectiveFieldsDuringRead(existingState AwsIamRole) { +} + type AwsIamRoleRequest struct { // The Amazon Resource Name (ARN) of the AWS IAM role for S3 data access. RoleArn types.String `tfsdk:"role_arn" tf:""` @@ -209,6 +228,47 @@ func (newState *AwsIamRoleResponse) SyncEffectiveFieldsDuringCreateOrUpdate(plan func (newState *AwsIamRoleResponse) SyncEffectiveFieldsDuringRead(existingState AwsIamRoleResponse) { } +// Azure Active Directory token, essentially the Oauth token for Azure Service +// Principal or Managed Identity. Read more at +// https://learn.microsoft.com/en-us/azure/databricks/dev-tools/api/latest/aad/service-prin-aad-token +type AzureActiveDirectoryToken struct { + // Opaque token that contains claims that you can use in Azure Active + // Directory to access cloud services. + AadToken types.String `tfsdk:"aad_token" tf:"optional"` +} + +func (newState *AzureActiveDirectoryToken) SyncEffectiveFieldsDuringCreateOrUpdate(plan AzureActiveDirectoryToken) { +} + +func (newState *AzureActiveDirectoryToken) SyncEffectiveFieldsDuringRead(existingState AzureActiveDirectoryToken) { +} + +// The Azure managed identity configuration. +type AzureManagedIdentity struct { + // The Azure resource ID of the Azure Databricks Access Connector. Use the + // format + // `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`. + AccessConnectorId types.String `tfsdk:"access_connector_id" tf:"optional"` + // The Databricks internal ID that represents this managed identity. This + // field is only used to persist the credential_id once it is fetched from + // the credentials manager - as we only use the protobuf serializer to store + // credentials, this ID gets persisted to the database. . + CredentialId types.String `tfsdk:"credential_id" tf:"optional"` + // The Azure resource ID of the managed identity. Use the format, + // `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}` + // This is only available for user-assgined identities. For system-assigned + // identities, the access_connector_id is used to identify the identity. If + // this field is not provided, then we assume the AzureManagedIdentity is + // using the system-assigned identity. + ManagedIdentityId types.String `tfsdk:"managed_identity_id" tf:"optional"` +} + +func (newState *AzureManagedIdentity) SyncEffectiveFieldsDuringCreateOrUpdate(plan AzureManagedIdentity) { +} + +func (newState *AzureManagedIdentity) SyncEffectiveFieldsDuringRead(existingState AzureManagedIdentity) { +} + type AzureManagedIdentityRequest struct { // The Azure resource ID of the Azure Databricks Access Connector. Use the // format @@ -550,6 +610,29 @@ func (newState *CreateConnection) SyncEffectiveFieldsDuringCreateOrUpdate(plan C func (newState *CreateConnection) SyncEffectiveFieldsDuringRead(existingState CreateConnection) { } +type CreateCredentialRequest struct { + // The AWS IAM role configuration + AwsIamRole []AwsIamRole `tfsdk:"aws_iam_role" tf:"optional,object"` + // The Azure managed identity configuration. + AzureManagedIdentity []AzureManagedIdentity `tfsdk:"azure_managed_identity" tf:"optional,object"` + // Comment associated with the credential. + Comment types.String `tfsdk:"comment" tf:"optional"` + // The credential name. The name must be unique among storage and service + // credentials within the metastore. + Name types.String `tfsdk:"name" tf:"optional"` + // Indicates the purpose of the credential. + Purpose types.String `tfsdk:"purpose" tf:"optional"` + // Optional. Supplying true to this argument skips validation of the created + // set of credentials. + SkipValidation types.Bool `tfsdk:"skip_validation" tf:"optional"` +} + +func (newState *CreateCredentialRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan CreateCredentialRequest) { +} + +func (newState *CreateCredentialRequest) SyncEffectiveFieldsDuringRead(existingState CreateCredentialRequest) { +} + type CreateExternalLocation struct { // The AWS access point to use when accesing s3 for this external location. AccessPoint types.String `tfsdk:"access_point" tf:"optional"` @@ -728,6 +811,18 @@ func (newState *CreateMonitor) SyncEffectiveFieldsDuringCreateOrUpdate(plan Crea func (newState *CreateMonitor) SyncEffectiveFieldsDuringRead(existingState CreateMonitor) { } +// Create an Online Table +type CreateOnlineTableRequest struct { + // Online Table information. + Table []OnlineTable `tfsdk:"table" tf:"optional,object"` +} + +func (newState *CreateOnlineTableRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan CreateOnlineTableRequest) { +} + +func (newState *CreateOnlineTableRequest) SyncEffectiveFieldsDuringRead(existingState CreateOnlineTableRequest) { +} + type CreateRegisteredModelRequest struct { // The name of the catalog where the schema and the registered model reside CatalogName types.String `tfsdk:"catalog_name" tf:""` @@ -840,6 +935,58 @@ func (newState *CreateVolumeRequestContent) SyncEffectiveFieldsDuringCreateOrUpd func (newState *CreateVolumeRequestContent) SyncEffectiveFieldsDuringRead(existingState CreateVolumeRequestContent) { } +type CredentialInfo struct { + // The AWS IAM role configuration + AwsIamRole []AwsIamRole `tfsdk:"aws_iam_role" tf:"optional,object"` + // The Azure managed identity configuration. + AzureManagedIdentity []AzureManagedIdentity `tfsdk:"azure_managed_identity" tf:"optional,object"` + // Comment associated with the credential. + Comment types.String `tfsdk:"comment" tf:"optional"` + // Time at which this credential was created, in epoch milliseconds. + CreatedAt types.Int64 `tfsdk:"created_at" tf:"optional"` + // Username of credential creator. + CreatedBy types.String `tfsdk:"created_by" tf:"optional"` + // The full name of the credential. + FullName types.String `tfsdk:"full_name" tf:"optional"` + // The unique identifier of the credential. + Id types.String `tfsdk:"id" tf:"optional"` + // Whether the current securable is accessible from all workspaces or a + // specific set of workspaces. + IsolationMode types.String `tfsdk:"isolation_mode" tf:"optional"` + // Unique identifier of the parent metastore. + MetastoreId types.String `tfsdk:"metastore_id" tf:"optional"` + // The credential name. The name must be unique among storage and service + // credentials within the metastore. + Name types.String `tfsdk:"name" tf:"optional"` + // Username of current owner of credential. + Owner types.String `tfsdk:"owner" tf:"optional"` + // Indicates the purpose of the credential. + Purpose types.String `tfsdk:"purpose" tf:"optional"` + // Time at which this credential was last modified, in epoch milliseconds. + UpdatedAt types.Int64 `tfsdk:"updated_at" tf:"optional"` + // Username of user who last modified the credential. + UpdatedBy types.String `tfsdk:"updated_by" tf:"optional"` +} + +func (newState *CredentialInfo) SyncEffectiveFieldsDuringCreateOrUpdate(plan CredentialInfo) { +} + +func (newState *CredentialInfo) SyncEffectiveFieldsDuringRead(existingState CredentialInfo) { +} + +type CredentialValidationResult struct { + // Error message would exist when the result does not equal to **PASS**. + Message types.String `tfsdk:"message" tf:"optional"` + // The results of the tested operation. + Result types.String `tfsdk:"result" tf:"optional"` +} + +func (newState *CredentialValidationResult) SyncEffectiveFieldsDuringCreateOrUpdate(plan CredentialValidationResult) { +} + +func (newState *CredentialValidationResult) SyncEffectiveFieldsDuringRead(existingState CredentialValidationResult) { +} + // Currently assigned workspaces type CurrentWorkspaceBindings struct { // A list of workspace IDs. @@ -969,6 +1116,29 @@ func (newState *DeleteConnectionRequest) SyncEffectiveFieldsDuringCreateOrUpdate func (newState *DeleteConnectionRequest) SyncEffectiveFieldsDuringRead(existingState DeleteConnectionRequest) { } +// Delete a credential +type DeleteCredentialRequest struct { + // Force deletion even if there are dependent services. + Force types.Bool `tfsdk:"-"` + // Name of the credential. + NameArg types.String `tfsdk:"-"` +} + +func (newState *DeleteCredentialRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan DeleteCredentialRequest) { +} + +func (newState *DeleteCredentialRequest) SyncEffectiveFieldsDuringRead(existingState DeleteCredentialRequest) { +} + +type DeleteCredentialResponse struct { +} + +func (newState *DeleteCredentialResponse) SyncEffectiveFieldsDuringCreateOrUpdate(plan DeleteCredentialResponse) { +} + +func (newState *DeleteCredentialResponse) SyncEffectiveFieldsDuringRead(existingState DeleteCredentialResponse) { +} + // Delete an external location type DeleteExternalLocationRequest struct { // Force deletion even if there are dependent external tables or mounts. @@ -1339,8 +1509,7 @@ type ExternalLocationInfo struct { // When fallback mode is enabled, the access to the location falls back to // cluster credentials if UC credentials are not sufficient. Fallback types.Bool `tfsdk:"fallback" tf:"optional"` - // Whether the current securable is accessible from all workspaces or a - // specific set of workspaces. + IsolationMode types.String `tfsdk:"isolation_mode" tf:"optional"` // Unique identifier of metastore hosting the external location. MetastoreId types.String `tfsdk:"metastore_id" tf:"optional"` @@ -1548,6 +1717,34 @@ func (newState *GcpOauthToken) SyncEffectiveFieldsDuringCreateOrUpdate(plan GcpO func (newState *GcpOauthToken) SyncEffectiveFieldsDuringRead(existingState GcpOauthToken) { } +// Options to customize the requested temporary credential +type GenerateTemporaryServiceCredentialAzureOptions struct { + // The resources to which the temporary Azure credential should apply. These + // resources are the scopes that are passed to the token provider (see + // https://learn.microsoft.com/python/api/azure-core/azure.core.credentials.tokencredential?view=azure-python) + Resources []types.String `tfsdk:"resources" tf:"optional"` +} + +func (newState *GenerateTemporaryServiceCredentialAzureOptions) SyncEffectiveFieldsDuringCreateOrUpdate(plan GenerateTemporaryServiceCredentialAzureOptions) { +} + +func (newState *GenerateTemporaryServiceCredentialAzureOptions) SyncEffectiveFieldsDuringRead(existingState GenerateTemporaryServiceCredentialAzureOptions) { +} + +type GenerateTemporaryServiceCredentialRequest struct { + // Options to customize the requested temporary credential + AzureOptions []GenerateTemporaryServiceCredentialAzureOptions `tfsdk:"azure_options" tf:"optional,object"` + // The name of the service credential used to generate a temporary + // credential + CredentialName types.String `tfsdk:"credential_name" tf:"optional"` +} + +func (newState *GenerateTemporaryServiceCredentialRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan GenerateTemporaryServiceCredentialRequest) { +} + +func (newState *GenerateTemporaryServiceCredentialRequest) SyncEffectiveFieldsDuringRead(existingState GenerateTemporaryServiceCredentialRequest) { +} + type GenerateTemporaryTableCredentialRequest struct { // The operation performed against the table data, either READ or // READ_WRITE. If READ_WRITE is specified, the credentials returned will @@ -1567,6 +1764,10 @@ type GenerateTemporaryTableCredentialResponse struct { // AWS temporary credentials for API authentication. Read more at // https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html. AwsTempCredentials []AwsCredentials `tfsdk:"aws_temp_credentials" tf:"optional,object"` + // Azure Active Directory token, essentially the Oauth token for Azure + // Service Principal or Managed Identity. Read more at + // https://learn.microsoft.com/en-us/azure/databricks/dev-tools/api/latest/aad/service-prin-aad-token + AzureAad []AzureActiveDirectoryToken `tfsdk:"azure_aad" tf:"optional,object"` // Azure temporary credentials for API authentication. Read more at // https://docs.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas AzureUserDelegationSas []AzureUserDelegationSas `tfsdk:"azure_user_delegation_sas" tf:"optional,object"` @@ -1706,6 +1907,18 @@ func (newState *GetConnectionRequest) SyncEffectiveFieldsDuringCreateOrUpdate(pl func (newState *GetConnectionRequest) SyncEffectiveFieldsDuringRead(existingState GetConnectionRequest) { } +// Get a credential +type GetCredentialRequest struct { + // Name of the credential. + NameArg types.String `tfsdk:"-"` +} + +func (newState *GetCredentialRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan GetCredentialRequest) { +} + +func (newState *GetCredentialRequest) SyncEffectiveFieldsDuringRead(existingState GetCredentialRequest) { +} + // Get effective permissions type GetEffectiveRequest struct { // Full name of securable. @@ -2116,6 +2329,40 @@ func (newState *ListConnectionsResponse) SyncEffectiveFieldsDuringCreateOrUpdate func (newState *ListConnectionsResponse) SyncEffectiveFieldsDuringRead(existingState ListConnectionsResponse) { } +// List credentials +type ListCredentialsRequest struct { + // Maximum number of credentials to return. - If not set, the default max + // page size is used. - When set to a value greater than 0, the page length + // is the minimum of this value and a server-configured value. - When set to + // 0, the page length is set to a server-configured value (recommended). - + // When set to a value less than 0, an invalid parameter error is returned. + MaxResults types.Int64 `tfsdk:"-"` + // Opaque token to retrieve the next page of results. + PageToken types.String `tfsdk:"-"` + // Return only credentials for the specified purpose. + Purpose types.String `tfsdk:"-"` +} + +func (newState *ListCredentialsRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan ListCredentialsRequest) { +} + +func (newState *ListCredentialsRequest) SyncEffectiveFieldsDuringRead(existingState ListCredentialsRequest) { +} + +type ListCredentialsResponse struct { + Credentials []CredentialInfo `tfsdk:"credentials" tf:"optional"` + // Opaque token to retrieve the next page of results. Absent if there are no + // more pages. __page_token__ should be set to this value for the next + // request (for the next page of results). + NextPageToken types.String `tfsdk:"next_page_token" tf:"optional"` +} + +func (newState *ListCredentialsResponse) SyncEffectiveFieldsDuringCreateOrUpdate(plan ListCredentialsResponse) { +} + +func (newState *ListCredentialsResponse) SyncEffectiveFieldsDuringRead(existingState ListCredentialsResponse) { +} + // List external locations type ListExternalLocationsRequest struct { // Whether to include external locations in the response for which the @@ -2515,6 +2762,9 @@ type ListTablesRequest struct { OmitColumns types.Bool `tfsdk:"-"` // Whether to omit the properties of the table from the response or not. OmitProperties types.Bool `tfsdk:"-"` + // Whether to omit the username of the table (e.g. owner, updated_by, + // created_by) from the response or not. + OmitUsername types.Bool `tfsdk:"-"` // Opaque token to send for the next page of results (pagination). PageToken types.String `tfsdk:"-"` // Parent schema of tables. @@ -3445,10 +3695,11 @@ type StorageCredentialInfo struct { CreatedBy types.String `tfsdk:"created_by" tf:"optional"` // The Databricks managed GCP service account configuration. DatabricksGcpServiceAccount []DatabricksGcpServiceAccountResponse `tfsdk:"databricks_gcp_service_account" tf:"optional,object"` + // The full name of the credential. + FullName types.String `tfsdk:"full_name" tf:"optional"` // The unique identifier of the credential. Id types.String `tfsdk:"id" tf:"optional"` - // Whether the current securable is accessible from all workspaces or a - // specific set of workspaces. + IsolationMode types.String `tfsdk:"isolation_mode" tf:"optional"` // Unique identifier of parent metastore. MetastoreId types.String `tfsdk:"metastore_id" tf:"optional"` @@ -3642,6 +3893,25 @@ func (newState *TableSummary) SyncEffectiveFieldsDuringCreateOrUpdate(plan Table func (newState *TableSummary) SyncEffectiveFieldsDuringRead(existingState TableSummary) { } +type TemporaryCredentials struct { + // AWS temporary credentials for API authentication. Read more at + // https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html. + AwsTempCredentials []AwsCredentials `tfsdk:"aws_temp_credentials" tf:"optional,object"` + // Azure Active Directory token, essentially the Oauth token for Azure + // Service Principal or Managed Identity. Read more at + // https://learn.microsoft.com/en-us/azure/databricks/dev-tools/api/latest/aad/service-prin-aad-token + AzureAad []AzureActiveDirectoryToken `tfsdk:"azure_aad" tf:"optional,object"` + // Server time when the credential will expire, in epoch milliseconds. The + // API client is advised to cache the credential given this expiration time. + ExpirationTime types.Int64 `tfsdk:"expiration_time" tf:"optional"` +} + +func (newState *TemporaryCredentials) SyncEffectiveFieldsDuringCreateOrUpdate(plan TemporaryCredentials) { +} + +func (newState *TemporaryCredentials) SyncEffectiveFieldsDuringRead(existingState TemporaryCredentials) { +} + // Detailed status of an online table. Shown if the online table is in the // ONLINE_TRIGGERED_UPDATE or the ONLINE_NO_PENDING_UPDATE state. type TriggeredUpdateStatus struct { @@ -3736,6 +4006,35 @@ func (newState *UpdateConnection) SyncEffectiveFieldsDuringCreateOrUpdate(plan U func (newState *UpdateConnection) SyncEffectiveFieldsDuringRead(existingState UpdateConnection) { } +type UpdateCredentialRequest struct { + // The AWS IAM role configuration + AwsIamRole []AwsIamRole `tfsdk:"aws_iam_role" tf:"optional,object"` + // The Azure managed identity configuration. + AzureManagedIdentity []AzureManagedIdentity `tfsdk:"azure_managed_identity" tf:"optional,object"` + // Comment associated with the credential. + Comment types.String `tfsdk:"comment" tf:"optional"` + // Force update even if there are dependent services. + Force types.Bool `tfsdk:"force" tf:"optional"` + // Whether the current securable is accessible from all workspaces or a + // specific set of workspaces. + IsolationMode types.String `tfsdk:"isolation_mode" tf:"optional"` + // Name of the credential. + NameArg types.String `tfsdk:"-"` + // New name of credential. + NewName types.String `tfsdk:"new_name" tf:"optional"` + // Username of current owner of credential. + Owner types.String `tfsdk:"owner" tf:"optional"` + // Supply true to this argument to skip validation of the updated + // credential. + SkipValidation types.Bool `tfsdk:"skip_validation" tf:"optional"` +} + +func (newState *UpdateCredentialRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan UpdateCredentialRequest) { +} + +func (newState *UpdateCredentialRequest) SyncEffectiveFieldsDuringRead(existingState UpdateCredentialRequest) { +} + type UpdateExternalLocation struct { // The AWS access point to use when accesing s3 for this external location. AccessPoint types.String `tfsdk:"access_point" tf:"optional"` @@ -3752,8 +4051,7 @@ type UpdateExternalLocation struct { // Force update even if changing url invalidates dependent external tables // or mounts. Force types.Bool `tfsdk:"force" tf:"optional"` - // Whether the current securable is accessible from all workspaces or a - // specific set of workspaces. + IsolationMode types.String `tfsdk:"isolation_mode" tf:"optional"` // Name of the external location. Name types.String `tfsdk:"-"` @@ -3970,8 +4268,7 @@ type UpdateStorageCredential struct { // Force update even if there are dependent external locations or external // tables. Force types.Bool `tfsdk:"force" tf:"optional"` - // Whether the current securable is accessible from all workspaces or a - // specific set of workspaces. + IsolationMode types.String `tfsdk:"isolation_mode" tf:"optional"` // Name of the storage credential. Name types.String `tfsdk:"-"` @@ -4055,6 +4352,36 @@ func (newState *UpdateWorkspaceBindingsParameters) SyncEffectiveFieldsDuringCrea func (newState *UpdateWorkspaceBindingsParameters) SyncEffectiveFieldsDuringRead(existingState UpdateWorkspaceBindingsParameters) { } +type ValidateCredentialRequest struct { + // The AWS IAM role configuration + AwsIamRole []AwsIamRole `tfsdk:"aws_iam_role" tf:"optional,object"` + // The Azure managed identity configuration. + AzureManagedIdentity []AzureManagedIdentity `tfsdk:"azure_managed_identity" tf:"optional,object"` + // Required. The name of an existing credential or long-lived cloud + // credential to validate. + CredentialName types.String `tfsdk:"credential_name" tf:"optional"` + // The purpose of the credential. This should only be used when the + // credential is specified. + Purpose types.String `tfsdk:"purpose" tf:"optional"` +} + +func (newState *ValidateCredentialRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan ValidateCredentialRequest) { +} + +func (newState *ValidateCredentialRequest) SyncEffectiveFieldsDuringRead(existingState ValidateCredentialRequest) { +} + +type ValidateCredentialResponse struct { + // The results of the validation check. + Results []CredentialValidationResult `tfsdk:"results" tf:"optional"` +} + +func (newState *ValidateCredentialResponse) SyncEffectiveFieldsDuringCreateOrUpdate(plan ValidateCredentialResponse) { +} + +func (newState *ValidateCredentialResponse) SyncEffectiveFieldsDuringRead(existingState ValidateCredentialResponse) { +} + type ValidateStorageCredential struct { // The AWS IAM role configuration. AwsIamRole []AwsIamRoleRequest `tfsdk:"aws_iam_role" tf:"optional,object"` diff --git a/internal/service/compute_tf/model.go b/internal/service/compute_tf/model.go index 653cfec24..d1e67f00b 100755 --- a/internal/service/compute_tf/model.go +++ b/internal/service/compute_tf/model.go @@ -1747,7 +1747,7 @@ type EditCluster struct { // Attributes related to clusters running on Microsoft Azure. If not // specified at cluster creation, a set of default values will be used. AzureAttributes []AzureAttributes `tfsdk:"azure_attributes" tf:"optional,object"` - // ID of the cluser + // ID of the cluster ClusterId types.String `tfsdk:"cluster_id" tf:""` // The configuration for delivering spark logs to a long-term storage // destination. Two kinds of destinations (dbfs and s3) are supported. Only diff --git a/internal/service/dashboards_tf/model.go b/internal/service/dashboards_tf/model.go index 2066f6a42..c49167cac 100755 --- a/internal/service/dashboards_tf/model.go +++ b/internal/service/dashboards_tf/model.go @@ -15,6 +15,68 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" ) +// Create dashboard +type CreateDashboardRequest struct { + Dashboard []Dashboard `tfsdk:"dashboard" tf:"optional,object"` +} + +func (newState *CreateDashboardRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan CreateDashboardRequest) { +} + +func (newState *CreateDashboardRequest) SyncEffectiveFieldsDuringRead(existingState CreateDashboardRequest) { +} + +// Create dashboard schedule +type CreateScheduleRequest struct { + // UUID identifying the dashboard to which the schedule belongs. + DashboardId types.String `tfsdk:"-"` + EffectiveDashboardId types.String `tfsdk:"-"` + + Schedule []Schedule `tfsdk:"schedule" tf:"optional,object"` +} + +func (newState *CreateScheduleRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan CreateScheduleRequest) { + newState.EffectiveDashboardId = newState.DashboardId + newState.DashboardId = plan.DashboardId +} + +func (newState *CreateScheduleRequest) SyncEffectiveFieldsDuringRead(existingState CreateScheduleRequest) { + newState.EffectiveDashboardId = existingState.EffectiveDashboardId + if existingState.EffectiveDashboardId.ValueString() == newState.DashboardId.ValueString() { + newState.DashboardId = existingState.DashboardId + } +} + +// Create schedule subscription +type CreateSubscriptionRequest struct { + // UUID identifying the dashboard to which the subscription belongs. + DashboardId types.String `tfsdk:"-"` + EffectiveDashboardId types.String `tfsdk:"-"` + // UUID identifying the schedule to which the subscription belongs. + ScheduleId types.String `tfsdk:"-"` + EffectiveScheduleId types.String `tfsdk:"-"` + + Subscription []Subscription `tfsdk:"subscription" tf:"optional,object"` +} + +func (newState *CreateSubscriptionRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan CreateSubscriptionRequest) { + newState.EffectiveDashboardId = newState.DashboardId + newState.DashboardId = plan.DashboardId + newState.EffectiveScheduleId = newState.ScheduleId + newState.ScheduleId = plan.ScheduleId +} + +func (newState *CreateSubscriptionRequest) SyncEffectiveFieldsDuringRead(existingState CreateSubscriptionRequest) { + newState.EffectiveDashboardId = existingState.EffectiveDashboardId + if existingState.EffectiveDashboardId.ValueString() == newState.DashboardId.ValueString() { + newState.DashboardId = existingState.DashboardId + } + newState.EffectiveScheduleId = existingState.EffectiveScheduleId + if existingState.EffectiveScheduleId.ValueString() == newState.ScheduleId.ValueString() { + newState.ScheduleId = existingState.ScheduleId + } +} + type CronSchedule struct { // A cron expression using quartz syntax. EX: `0 0 8 * * ?` represents // everyday at 8am. See [Cron Trigger] for details. @@ -803,6 +865,8 @@ type Schedule struct { // A timestamp indicating when the schedule was last updated. UpdateTime types.String `tfsdk:"update_time" tf:"optional"` EffectiveUpdateTime types.String `tfsdk:"effective_update_time" tf:"computed,optional"` + // The warehouse id to run the dashboard with for the schedule. + WarehouseId types.String `tfsdk:"warehouse_id" tf:"optional"` } func (newState *Schedule) SyncEffectiveFieldsDuringCreateOrUpdate(plan Schedule) { @@ -1025,3 +1089,46 @@ func (newState *UnpublishDashboardResponse) SyncEffectiveFieldsDuringCreateOrUpd func (newState *UnpublishDashboardResponse) SyncEffectiveFieldsDuringRead(existingState UnpublishDashboardResponse) { } + +// Update dashboard +type UpdateDashboardRequest struct { + Dashboard []Dashboard `tfsdk:"dashboard" tf:"optional,object"` + // UUID identifying the dashboard. + DashboardId types.String `tfsdk:"-"` +} + +func (newState *UpdateDashboardRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan UpdateDashboardRequest) { +} + +func (newState *UpdateDashboardRequest) SyncEffectiveFieldsDuringRead(existingState UpdateDashboardRequest) { +} + +// Update dashboard schedule +type UpdateScheduleRequest struct { + // UUID identifying the dashboard to which the schedule belongs. + DashboardId types.String `tfsdk:"-"` + EffectiveDashboardId types.String `tfsdk:"-"` + + Schedule []Schedule `tfsdk:"schedule" tf:"optional,object"` + // UUID identifying the schedule. + ScheduleId types.String `tfsdk:"-"` + EffectiveScheduleId types.String `tfsdk:"-"` +} + +func (newState *UpdateScheduleRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan UpdateScheduleRequest) { + newState.EffectiveDashboardId = newState.DashboardId + newState.DashboardId = plan.DashboardId + newState.EffectiveScheduleId = newState.ScheduleId + newState.ScheduleId = plan.ScheduleId +} + +func (newState *UpdateScheduleRequest) SyncEffectiveFieldsDuringRead(existingState UpdateScheduleRequest) { + newState.EffectiveDashboardId = existingState.EffectiveDashboardId + if existingState.EffectiveDashboardId.ValueString() == newState.DashboardId.ValueString() { + newState.DashboardId = existingState.DashboardId + } + newState.EffectiveScheduleId = existingState.EffectiveScheduleId + if existingState.EffectiveScheduleId.ValueString() == newState.ScheduleId.ValueString() { + newState.ScheduleId = existingState.ScheduleId + } +} diff --git a/internal/service/jobs_tf/model.go b/internal/service/jobs_tf/model.go index fe3918dab..d4629abf9 100755 --- a/internal/service/jobs_tf/model.go +++ b/internal/service/jobs_tf/model.go @@ -2321,6 +2321,9 @@ type RunNow struct { // [Task parameter variables]: https://docs.databricks.com/jobs.html#parameter-variables // [dbutils.widgets.get]: https://docs.databricks.com/dev-tools/databricks-utils.html NotebookParams map[string]types.String `tfsdk:"notebook_params" tf:"optional"` + // A list of task keys to run inside of the job. If this field is not + // provided, all tasks in the job will be run. + Only []types.String `tfsdk:"only" tf:"optional"` // Controls whether the pipeline should perform a full refresh PipelineParams []PipelineParams `tfsdk:"pipeline_params" tf:"optional,object"` diff --git a/internal/service/pipelines_tf/model.go b/internal/service/pipelines_tf/model.go index 8adcfa0bf..56f0b9d19 100755 --- a/internal/service/pipelines_tf/model.go +++ b/internal/service/pipelines_tf/model.go @@ -45,7 +45,7 @@ type CreatePipeline struct { Edition types.String `tfsdk:"edition" tf:"optional"` // Filters on which Pipeline packages to include in the deployed graph. Filters []Filters `tfsdk:"filters" tf:"optional,object"` - // The definition of a gateway pipeline to support CDC. + // The definition of a gateway pipeline to support change data capture. GatewayDefinition []IngestionGatewayPipelineDefinition `tfsdk:"gateway_definition" tf:"optional,object"` // Unique identifier for this pipeline. Id types.String `tfsdk:"id" tf:"optional"` @@ -60,6 +60,8 @@ type CreatePipeline struct { Notifications []Notifications `tfsdk:"notifications" tf:"optional"` // Whether Photon is enabled for this pipeline. Photon types.Bool `tfsdk:"photon" tf:"optional"` + // Restart window of this pipeline. + RestartWindow []RestartWindow `tfsdk:"restart_window" tf:"optional,object"` // The default schema (database) where tables are read from or published to. // The presence of this field implies that the pipeline is in direct // publishing mode. @@ -173,7 +175,7 @@ type EditPipeline struct { ExpectedLastModified types.Int64 `tfsdk:"expected_last_modified" tf:"optional"` // Filters on which Pipeline packages to include in the deployed graph. Filters []Filters `tfsdk:"filters" tf:"optional,object"` - // The definition of a gateway pipeline to support CDC. + // The definition of a gateway pipeline to support change data capture. GatewayDefinition []IngestionGatewayPipelineDefinition `tfsdk:"gateway_definition" tf:"optional,object"` // Unique identifier for this pipeline. Id types.String `tfsdk:"id" tf:"optional"` @@ -190,6 +192,8 @@ type EditPipeline struct { Photon types.Bool `tfsdk:"photon" tf:"optional"` // Unique identifier for this pipeline. PipelineId types.String `tfsdk:"pipeline_id" tf:"optional"` + // Restart window of this pipeline. + RestartWindow []RestartWindow `tfsdk:"restart_window" tf:"optional,object"` // The default schema (database) where tables are read from or published to. // The presence of this field implies that the pipeline is in direct // publishing mode. @@ -365,11 +369,11 @@ func (newState *GetUpdateResponse) SyncEffectiveFieldsDuringRead(existingState G } type IngestionConfig struct { - // Select tables from a specific source report. + // Select a specific source report. Report []ReportSpec `tfsdk:"report" tf:"optional,object"` - // Select tables from a specific source schema. + // Select all tables from a specific source schema. Schema []SchemaSpec `tfsdk:"schema" tf:"optional,object"` - // Select tables from a specific source table. + // Select a specific source table. Table []TableSpec `tfsdk:"table" tf:"optional,object"` } @@ -380,9 +384,13 @@ func (newState *IngestionConfig) SyncEffectiveFieldsDuringRead(existingState Ing } type IngestionGatewayPipelineDefinition struct { - // Immutable. The Unity Catalog connection this gateway pipeline uses to - // communicate with the source. + // [Deprecated, use connection_name instead] Immutable. The Unity Catalog + // connection that this gateway pipeline uses to communicate with the + // source. ConnectionId types.String `tfsdk:"connection_id" tf:"optional"` + // Immutable. The Unity Catalog connection that this gateway pipeline uses + // to communicate with the source. + ConnectionName types.String `tfsdk:"connection_name" tf:"optional"` // Required, Immutable. The name of the catalog for the gateway pipeline's // storage location. GatewayStorageCatalog types.String `tfsdk:"gateway_storage_catalog" tf:"optional"` @@ -403,13 +411,13 @@ func (newState *IngestionGatewayPipelineDefinition) SyncEffectiveFieldsDuringRea } type IngestionPipelineDefinition struct { - // Immutable. The Unity Catalog connection this ingestion pipeline uses to - // communicate with the source. Specify either ingestion_gateway_id or - // connection_name. + // Immutable. The Unity Catalog connection that this ingestion pipeline uses + // to communicate with the source. This is used with connectors for + // applications like Salesforce, Workday, and so on. ConnectionName types.String `tfsdk:"connection_name" tf:"optional"` - // Immutable. Identifier for the ingestion gateway used by this ingestion - // pipeline to communicate with the source. Specify either - // ingestion_gateway_id or connection_name. + // Immutable. Identifier for the gateway that is used by this ingestion + // pipeline to communicate with the source database. This is used with + // connectors to databases like SQL Server. IngestionGatewayId types.String `tfsdk:"ingestion_gateway_id" tf:"optional"` // Required. Settings specifying tables to replicate and the destination for // the replicated tables. @@ -934,7 +942,7 @@ type PipelineSpec struct { Edition types.String `tfsdk:"edition" tf:"optional"` // Filters on which Pipeline packages to include in the deployed graph. Filters []Filters `tfsdk:"filters" tf:"optional,object"` - // The definition of a gateway pipeline to support CDC. + // The definition of a gateway pipeline to support change data capture. GatewayDefinition []IngestionGatewayPipelineDefinition `tfsdk:"gateway_definition" tf:"optional,object"` // Unique identifier for this pipeline. Id types.String `tfsdk:"id" tf:"optional"` @@ -949,6 +957,8 @@ type PipelineSpec struct { Notifications []Notifications `tfsdk:"notifications" tf:"optional"` // Whether Photon is enabled for this pipeline. Photon types.Bool `tfsdk:"photon" tf:"optional"` + // Restart window of this pipeline. + RestartWindow []RestartWindow `tfsdk:"restart_window" tf:"optional,object"` // The default schema (database) where tables are read from or published to. // The presence of this field implies that the pipeline is in direct // publishing mode. @@ -1032,6 +1042,27 @@ func (newState *ReportSpec) SyncEffectiveFieldsDuringCreateOrUpdate(plan ReportS func (newState *ReportSpec) SyncEffectiveFieldsDuringRead(existingState ReportSpec) { } +type RestartWindow struct { + // Days of week in which the restart is allowed to happen (within a + // five-hour window starting at start_hour). If not specified all days of + // the week will be used. + DaysOfWeek types.String `tfsdk:"days_of_week" tf:"optional"` + // An integer between 0 and 23 denoting the start hour for the restart + // window in the 24-hour day. Continuous pipeline restart is triggered only + // within a five-hour window starting at this hour. + StartHour types.Int64 `tfsdk:"start_hour" tf:""` + // Time zone id of restart window. See + // https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html + // for details. If not specified, UTC will be used. + TimeZoneId types.String `tfsdk:"time_zone_id" tf:"optional"` +} + +func (newState *RestartWindow) SyncEffectiveFieldsDuringCreateOrUpdate(plan RestartWindow) { +} + +func (newState *RestartWindow) SyncEffectiveFieldsDuringRead(existingState RestartWindow) { +} + type SchemaSpec struct { // Required. Destination catalog to store tables. DestinationCatalog types.String `tfsdk:"destination_catalog" tf:"optional"` diff --git a/internal/service/provisioning_tf/model.go b/internal/service/provisioning_tf/model.go index 188e8f48d..49b5d02e7 100755 --- a/internal/service/provisioning_tf/model.go +++ b/internal/service/provisioning_tf/model.go @@ -947,6 +947,9 @@ type UpdateWorkspaceRequest struct { // switch from a Databricks-managed VPC to a customer-managed VPC by // updating the workspace to add a network configuration ID. NetworkId types.String `tfsdk:"network_id" tf:"optional"` + // The ID of the workspace's private access settings configuration object. + // This parameter is available only for updating failed workspaces. + PrivateAccessSettingsId types.String `tfsdk:"private_access_settings_id" tf:"optional"` // The ID of the workspace's storage configuration object. This parameter is // available only for updating failed workspaces. StorageConfigurationId types.String `tfsdk:"storage_configuration_id" tf:"optional"` diff --git a/internal/service/sharing_tf/model.go b/internal/service/sharing_tf/model.go index 0192deeaa..6bde08637 100755 --- a/internal/service/sharing_tf/model.go +++ b/internal/service/sharing_tf/model.go @@ -15,214 +15,6 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" ) -type CentralCleanRoomInfo struct { - // All assets from all collaborators that are available in the clean room. - // Only one of table_info or notebook_info will be filled in. - CleanRoomAssets []CleanRoomAssetInfo `tfsdk:"clean_room_assets" tf:"optional"` - // All collaborators who are in the clean room. - Collaborators []CleanRoomCollaboratorInfo `tfsdk:"collaborators" tf:"optional"` - // The collaborator who created the clean room. - Creator []CleanRoomCollaboratorInfo `tfsdk:"creator" tf:"optional,object"` - // The cloud where clean room tasks will be run. - StationCloud types.String `tfsdk:"station_cloud" tf:"optional"` - // The region where clean room tasks will be run. - StationRegion types.String `tfsdk:"station_region" tf:"optional"` -} - -func (newState *CentralCleanRoomInfo) SyncEffectiveFieldsDuringCreateOrUpdate(plan CentralCleanRoomInfo) { -} - -func (newState *CentralCleanRoomInfo) SyncEffectiveFieldsDuringRead(existingState CentralCleanRoomInfo) { -} - -type CleanRoomAssetInfo struct { - // Time at which this asset was added, in epoch milliseconds. - AddedAt types.Int64 `tfsdk:"added_at" tf:"optional"` - // Details about the notebook asset. - NotebookInfo []CleanRoomNotebookInfo `tfsdk:"notebook_info" tf:"optional,object"` - // The collaborator who owns the asset. - Owner []CleanRoomCollaboratorInfo `tfsdk:"owner" tf:"optional,object"` - // Details about the table asset. - TableInfo []CleanRoomTableInfo `tfsdk:"table_info" tf:"optional,object"` - // Time at which this asset was updated, in epoch milliseconds. - UpdatedAt types.Int64 `tfsdk:"updated_at" tf:"optional"` -} - -func (newState *CleanRoomAssetInfo) SyncEffectiveFieldsDuringCreateOrUpdate(plan CleanRoomAssetInfo) { -} - -func (newState *CleanRoomAssetInfo) SyncEffectiveFieldsDuringRead(existingState CleanRoomAssetInfo) { -} - -type CleanRoomCatalog struct { - // Name of the catalog in the clean room station. Empty for notebooks. - CatalogName types.String `tfsdk:"catalog_name" tf:"optional"` - // The details of the shared notebook files. - NotebookFiles []SharedDataObject `tfsdk:"notebook_files" tf:"optional"` - // The details of the shared tables. - Tables []SharedDataObject `tfsdk:"tables" tf:"optional"` -} - -func (newState *CleanRoomCatalog) SyncEffectiveFieldsDuringCreateOrUpdate(plan CleanRoomCatalog) { -} - -func (newState *CleanRoomCatalog) SyncEffectiveFieldsDuringRead(existingState CleanRoomCatalog) { -} - -type CleanRoomCatalogUpdate struct { - // The name of the catalog to update assets. - CatalogName types.String `tfsdk:"catalog_name" tf:"optional"` - // The updates to the assets in the catalog. - Updates []SharedDataObjectUpdate `tfsdk:"updates" tf:"optional,object"` -} - -func (newState *CleanRoomCatalogUpdate) SyncEffectiveFieldsDuringCreateOrUpdate(plan CleanRoomCatalogUpdate) { -} - -func (newState *CleanRoomCatalogUpdate) SyncEffectiveFieldsDuringRead(existingState CleanRoomCatalogUpdate) { -} - -type CleanRoomCollaboratorInfo struct { - // The global Unity Catalog metastore id of the collaborator. Also known as - // the sharing identifier. The identifier is of format - // __cloud__:__region__:__metastore-uuid__. - GlobalMetastoreId types.String `tfsdk:"global_metastore_id" tf:"optional"` - // The organization name of the collaborator. This is configured in the - // metastore for Delta Sharing and is used to identify the organization to - // other collaborators. - OrganizationName types.String `tfsdk:"organization_name" tf:"optional"` -} - -func (newState *CleanRoomCollaboratorInfo) SyncEffectiveFieldsDuringCreateOrUpdate(plan CleanRoomCollaboratorInfo) { -} - -func (newState *CleanRoomCollaboratorInfo) SyncEffectiveFieldsDuringRead(existingState CleanRoomCollaboratorInfo) { -} - -type CleanRoomInfo struct { - // User-provided free-form text description. - Comment types.String `tfsdk:"comment" tf:"optional"` - // Time at which this clean room was created, in epoch milliseconds. - CreatedAt types.Int64 `tfsdk:"created_at" tf:"optional"` - // Username of clean room creator. - CreatedBy types.String `tfsdk:"created_by" tf:"optional"` - // Catalog aliases shared by the current collaborator with asset details. - LocalCatalogs []CleanRoomCatalog `tfsdk:"local_catalogs" tf:"optional"` - // Name of the clean room. - Name types.String `tfsdk:"name" tf:"optional"` - // Username of current owner of clean room. - Owner types.String `tfsdk:"owner" tf:"optional"` - // Central clean room details. - RemoteDetailedInfo []CentralCleanRoomInfo `tfsdk:"remote_detailed_info" tf:"optional,object"` - // Time at which this clean room was updated, in epoch milliseconds. - UpdatedAt types.Int64 `tfsdk:"updated_at" tf:"optional"` - // Username of clean room updater. - UpdatedBy types.String `tfsdk:"updated_by" tf:"optional"` -} - -func (newState *CleanRoomInfo) SyncEffectiveFieldsDuringCreateOrUpdate(plan CleanRoomInfo) { -} - -func (newState *CleanRoomInfo) SyncEffectiveFieldsDuringRead(existingState CleanRoomInfo) { -} - -type CleanRoomNotebookInfo struct { - // The base64 representation of the notebook content in HTML. - NotebookContent types.String `tfsdk:"notebook_content" tf:"optional"` - // The name of the notebook. - NotebookName types.String `tfsdk:"notebook_name" tf:"optional"` -} - -func (newState *CleanRoomNotebookInfo) SyncEffectiveFieldsDuringCreateOrUpdate(plan CleanRoomNotebookInfo) { -} - -func (newState *CleanRoomNotebookInfo) SyncEffectiveFieldsDuringRead(existingState CleanRoomNotebookInfo) { -} - -type CleanRoomTableInfo struct { - // Name of parent catalog. - CatalogName types.String `tfsdk:"catalog_name" tf:"optional"` - // The array of __ColumnInfo__ definitions of the table's columns. - Columns []ColumnInfo `tfsdk:"columns" tf:"optional"` - // Full name of table, in form of - // __catalog_name__.__schema_name__.__table_name__ - FullName types.String `tfsdk:"full_name" tf:"optional"` - // Name of table, relative to parent schema. - Name types.String `tfsdk:"name" tf:"optional"` - // Name of parent schema relative to its parent catalog. - SchemaName types.String `tfsdk:"schema_name" tf:"optional"` -} - -func (newState *CleanRoomTableInfo) SyncEffectiveFieldsDuringCreateOrUpdate(plan CleanRoomTableInfo) { -} - -func (newState *CleanRoomTableInfo) SyncEffectiveFieldsDuringRead(existingState CleanRoomTableInfo) { -} - -type ColumnInfo struct { - // User-provided free-form text description. - Comment types.String `tfsdk:"comment" tf:"optional"` - - Mask []ColumnMask `tfsdk:"mask" tf:"optional,object"` - // Name of Column. - Name types.String `tfsdk:"name" tf:"optional"` - // Whether field may be Null (default: true). - Nullable types.Bool `tfsdk:"nullable" tf:"optional"` - // Partition index for column. - PartitionIndex types.Int64 `tfsdk:"partition_index" tf:"optional"` - // Ordinal position of column (starting at position 0). - Position types.Int64 `tfsdk:"position" tf:"optional"` - // Format of IntervalType. - TypeIntervalType types.String `tfsdk:"type_interval_type" tf:"optional"` - // Full data type specification, JSON-serialized. - TypeJson types.String `tfsdk:"type_json" tf:"optional"` - // Name of type (INT, STRUCT, MAP, etc.). - TypeName types.String `tfsdk:"type_name" tf:"optional"` - // Digits of precision; required for DecimalTypes. - TypePrecision types.Int64 `tfsdk:"type_precision" tf:"optional"` - // Digits to right of decimal; Required for DecimalTypes. - TypeScale types.Int64 `tfsdk:"type_scale" tf:"optional"` - // Full data type specification as SQL/catalogString text. - TypeText types.String `tfsdk:"type_text" tf:"optional"` -} - -func (newState *ColumnInfo) SyncEffectiveFieldsDuringCreateOrUpdate(plan ColumnInfo) { -} - -func (newState *ColumnInfo) SyncEffectiveFieldsDuringRead(existingState ColumnInfo) { -} - -type ColumnMask struct { - // The full name of the column mask SQL UDF. - FunctionName types.String `tfsdk:"function_name" tf:"optional"` - // The list of additional table columns to be passed as input to the column - // mask function. The first arg of the mask function should be of the type - // of the column being masked and the types of the rest of the args should - // match the types of columns in 'using_column_names'. - UsingColumnNames []types.String `tfsdk:"using_column_names" tf:"optional"` -} - -func (newState *ColumnMask) SyncEffectiveFieldsDuringCreateOrUpdate(plan ColumnMask) { -} - -func (newState *ColumnMask) SyncEffectiveFieldsDuringRead(existingState ColumnMask) { -} - -type CreateCleanRoom struct { - // User-provided free-form text description. - Comment types.String `tfsdk:"comment" tf:"optional"` - // Name of the clean room. - Name types.String `tfsdk:"name" tf:""` - // Central clean room details. - RemoteDetailedInfo []CentralCleanRoomInfo `tfsdk:"remote_detailed_info" tf:"object"` -} - -func (newState *CreateCleanRoom) SyncEffectiveFieldsDuringCreateOrUpdate(plan CreateCleanRoom) { -} - -func (newState *CreateCleanRoom) SyncEffectiveFieldsDuringRead(existingState CreateCleanRoom) { -} - type CreateProvider struct { // The delta sharing authentication type. AuthenticationType types.String `tfsdk:"authentication_type" tf:""` @@ -287,18 +79,6 @@ func (newState *CreateShare) SyncEffectiveFieldsDuringCreateOrUpdate(plan Create func (newState *CreateShare) SyncEffectiveFieldsDuringRead(existingState CreateShare) { } -// Delete a clean room -type DeleteCleanRoomRequest struct { - // The name of the clean room. - Name types.String `tfsdk:"-"` -} - -func (newState *DeleteCleanRoomRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan DeleteCleanRoomRequest) { -} - -func (newState *DeleteCleanRoomRequest) SyncEffectiveFieldsDuringRead(existingState DeleteCleanRoomRequest) { -} - // Delete a provider type DeleteProviderRequest struct { // Name of the provider. @@ -365,20 +145,6 @@ func (newState *GetActivationUrlInfoResponse) SyncEffectiveFieldsDuringCreateOrU func (newState *GetActivationUrlInfoResponse) SyncEffectiveFieldsDuringRead(existingState GetActivationUrlInfoResponse) { } -// Get a clean room -type GetCleanRoomRequest struct { - // Whether to include remote details (central) on the clean room. - IncludeRemoteDetails types.Bool `tfsdk:"-"` - // The name of the clean room. - Name types.String `tfsdk:"-"` -} - -func (newState *GetCleanRoomRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan GetCleanRoomRequest) { -} - -func (newState *GetCleanRoomRequest) SyncEffectiveFieldsDuringRead(existingState GetCleanRoomRequest) { -} - // Get a provider type GetProviderRequest struct { // Name of the provider. @@ -443,40 +209,6 @@ func (newState *IpAccessList) SyncEffectiveFieldsDuringCreateOrUpdate(plan IpAcc func (newState *IpAccessList) SyncEffectiveFieldsDuringRead(existingState IpAccessList) { } -// List clean rooms -type ListCleanRoomsRequest struct { - // Maximum number of clean rooms to return. If not set, all the clean rooms - // are returned (not recommended). - when set to a value greater than 0, the - // page length is the minimum of this value and a server configured value; - - // when set to 0, the page length is set to a server configured value - // (recommended); - when set to a value less than 0, an invalid parameter - // error is returned; - MaxResults types.Int64 `tfsdk:"-"` - // Opaque pagination token to go to next page based on previous query. - PageToken types.String `tfsdk:"-"` -} - -func (newState *ListCleanRoomsRequest) SyncEffectiveFieldsDuringCreateOrUpdate(plan ListCleanRoomsRequest) { -} - -func (newState *ListCleanRoomsRequest) SyncEffectiveFieldsDuringRead(existingState ListCleanRoomsRequest) { -} - -type ListCleanRoomsResponse struct { - // An array of clean rooms. Remote details (central) are not included. - CleanRooms []CleanRoomInfo `tfsdk:"clean_rooms" tf:"optional"` - // Opaque token to retrieve the next page of results. Absent if there are no - // more pages. __page_token__ should be set to this value for the next - // request (for the next page of results). - NextPageToken types.String `tfsdk:"next_page_token" tf:"optional"` -} - -func (newState *ListCleanRoomsResponse) SyncEffectiveFieldsDuringCreateOrUpdate(plan ListCleanRoomsResponse) { -} - -func (newState *ListCleanRoomsResponse) SyncEffectiveFieldsDuringRead(existingState ListCleanRoomsResponse) { -} - type ListProviderSharesResponse struct { // Opaque token to retrieve the next page of results. Absent if there are no // more pages. __page_token__ should be set to this value for the next @@ -1032,23 +764,6 @@ func (newState *SharedDataObjectUpdate) SyncEffectiveFieldsDuringCreateOrUpdate( func (newState *SharedDataObjectUpdate) SyncEffectiveFieldsDuringRead(existingState SharedDataObjectUpdate) { } -type UpdateCleanRoom struct { - // Array of shared data object updates. - CatalogUpdates []CleanRoomCatalogUpdate `tfsdk:"catalog_updates" tf:"optional"` - // User-provided free-form text description. - Comment types.String `tfsdk:"comment" tf:"optional"` - // The name of the clean room. - Name types.String `tfsdk:"-"` - // Username of current owner of clean room. - Owner types.String `tfsdk:"owner" tf:"optional"` -} - -func (newState *UpdateCleanRoom) SyncEffectiveFieldsDuringCreateOrUpdate(plan UpdateCleanRoom) { -} - -func (newState *UpdateCleanRoom) SyncEffectiveFieldsDuringRead(existingState UpdateCleanRoom) { -} - type UpdatePermissionsResponse struct { }