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

package shared

type SourceCreateRequest struct {
	// Name of the source e.g. dev-mysql-instance.
	Name string `json:"name"`
	// The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided.
	DefinitionID *string `json:"definitionId,omitempty"`
	WorkspaceID  string  `json:"workspaceId"`
	// The values required to configure the source.
	Configuration any `json:"configuration"`
	// Optional secretID obtained through the  OAuth redirect flow.
	SecretID *string `json:"secretId,omitempty"`
	// actor or actor definition specific resource requirements. if default is set, these are the requirements that should be set for ALL jobs run for this actor definition. it is overriden by the job type specific configurations. if not set, the platform will use defaults. these values will be overriden by configuration at the connection level.
	ResourceAllocation *ScopedResourceRequirements `json:"resourceAllocation,omitempty"`
}

func (o *SourceCreateRequest) GetName() string {
	if o == nil {
		return ""
	}
	return o.Name
}

func (o *SourceCreateRequest) GetDefinitionID() *string {
	if o == nil {
		return nil
	}
	return o.DefinitionID
}

func (o *SourceCreateRequest) GetWorkspaceID() string {
	if o == nil {
		return ""
	}
	return o.WorkspaceID
}

func (o *SourceCreateRequest) GetConfiguration() any {
	if o == nil {
		return nil
	}
	return o.Configuration
}

func (o *SourceCreateRequest) GetSecretID() *string {
	if o == nil {
		return nil
	}
	return o.SecretID
}

func (o *SourceCreateRequest) GetResourceAllocation() *ScopedResourceRequirements {
	if o == nil {
		return nil
	}
	return o.ResourceAllocation
}
