// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.

package shared

import (
	"github.com/airbytehq/terraform-provider-airbyte/internal/sdk/internal/utils"
)

type DestinationDeepsetUpdate struct {
	// Your deepset cloud API key
	APIKey string `json:"api_key"`
	// URL of deepset Cloud API (e.g. https://api.cloud.deepset.ai, https://api.us.deepset.ai, etc). Defaults to https://api.cloud.deepset.ai.
	BaseURL *string `default:"https://api.cloud.deepset.ai" json:"base_url"`
	// Number of times to retry an action before giving up.
	Retries *float64 `default:"5" json:"retries"`
	// Name of workspace to which to sync the data.
	Workspace string `json:"workspace"`
}

func (d DestinationDeepsetUpdate) MarshalJSON() ([]byte, error) {
	return utils.MarshalJSON(d, "", false)
}

func (d *DestinationDeepsetUpdate) UnmarshalJSON(data []byte) error {
	if err := utils.UnmarshalJSON(data, &d, "", false, false); err != nil {
		return err
	}
	return nil
}

func (o *DestinationDeepsetUpdate) GetAPIKey() string {
	if o == nil {
		return ""
	}
	return o.APIKey
}

func (o *DestinationDeepsetUpdate) GetBaseURL() *string {
	if o == nil {
		return nil
	}
	return o.BaseURL
}

func (o *DestinationDeepsetUpdate) GetRetries() *float64 {
	if o == nil {
		return nil
	}
	return o.Retries
}

func (o *DestinationDeepsetUpdate) GetWorkspace() string {
	if o == nil {
		return ""
	}
	return o.Workspace
}
