streamingjobs

package
v0.20230425.1021638 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2023 License: MPL-2.0 Imports: 13 Imported by: 1

README

github.com/hashicorp/go-azure-sdk/resource-manager/streamanalytics/2020-03-01/streamingjobs Documentation

The streamingjobs SDK allows for interaction with the Azure Resource Manager Service streamanalytics (API Version 2020-03-01).

This readme covers example usages, but further information on using this SDK can be found in the project root.

Import Path

import "github.com/hashicorp/go-azure-sdk/resource-manager/streamanalytics/2020-03-01/streamingjobs"

Client Initialization

client := streamingjobs.NewStreamingJobsClientWithBaseURI("https://management.azure.com")
client.Client.Authorizer = authorizer

Example Usage: StreamingJobsClient.CreateOrReplace

ctx := context.TODO()
id := streamingjobs.NewStreamingJobID("12345678-1234-9876-4563-123456789012", "example-resource-group", "streamingJobValue")

payload := streamingjobs.StreamingJob{
	// ...
}


if err := client.CreateOrReplaceThenPoll(ctx, id, payload, streamingjobs.DefaultCreateOrReplaceOperationOptions()); err != nil {
	// handle the error
}

Example Usage: StreamingJobsClient.Delete

ctx := context.TODO()
id := streamingjobs.NewStreamingJobID("12345678-1234-9876-4563-123456789012", "example-resource-group", "streamingJobValue")

if err := client.DeleteThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: StreamingJobsClient.Get

ctx := context.TODO()
id := streamingjobs.NewStreamingJobID("12345678-1234-9876-4563-123456789012", "example-resource-group", "streamingJobValue")

read, err := client.Get(ctx, id, streamingjobs.DefaultGetOperationOptions())
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: StreamingJobsClient.List

ctx := context.TODO()
id := streamingjobs.NewSubscriptionID("12345678-1234-9876-4563-123456789012")

// alternatively `client.List(ctx, id, streamingjobs.DefaultListOperationOptions())` can be used to do batched pagination
items, err := client.ListComplete(ctx, id, streamingjobs.DefaultListOperationOptions())
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: StreamingJobsClient.ListByResourceGroup

ctx := context.TODO()
id := streamingjobs.NewResourceGroupID("12345678-1234-9876-4563-123456789012", "example-resource-group")

// alternatively `client.ListByResourceGroup(ctx, id, streamingjobs.DefaultListByResourceGroupOperationOptions())` can be used to do batched pagination
items, err := client.ListByResourceGroupComplete(ctx, id, streamingjobs.DefaultListByResourceGroupOperationOptions())
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: StreamingJobsClient.Scale

ctx := context.TODO()
id := streamingjobs.NewStreamingJobID("12345678-1234-9876-4563-123456789012", "example-resource-group", "streamingJobValue")

payload := streamingjobs.ScaleStreamingJobParameters{
	// ...
}


if err := client.ScaleThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Example Usage: StreamingJobsClient.Start

ctx := context.TODO()
id := streamingjobs.NewStreamingJobID("12345678-1234-9876-4563-123456789012", "example-resource-group", "streamingJobValue")

payload := streamingjobs.StartStreamingJobParameters{
	// ...
}


if err := client.StartThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Example Usage: StreamingJobsClient.Stop

ctx := context.TODO()
id := streamingjobs.NewStreamingJobID("12345678-1234-9876-4563-123456789012", "example-resource-group", "streamingJobValue")

if err := client.StopThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: StreamingJobsClient.Update

ctx := context.TODO()
id := streamingjobs.NewStreamingJobID("12345678-1234-9876-4563-123456789012", "example-resource-group", "streamingJobValue")

payload := streamingjobs.StreamingJob{
	// ...
}


read, err := client.Update(ctx, id, payload, streamingjobs.DefaultUpdateOperationOptions())
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PossibleValuesForAuthenticationMode

func PossibleValuesForAuthenticationMode() []string

func PossibleValuesForCompatibilityLevel

func PossibleValuesForCompatibilityLevel() []string

func PossibleValuesForCompressionType

func PossibleValuesForCompressionType() []string

func PossibleValuesForContentStoragePolicy

func PossibleValuesForContentStoragePolicy() []string

func PossibleValuesForEncoding added in v0.20220715.1104737

func PossibleValuesForEncoding() []string

func PossibleValuesForEventSerializationType

func PossibleValuesForEventSerializationType() []string

func PossibleValuesForEventsOutOfOrderPolicy

func PossibleValuesForEventsOutOfOrderPolicy() []string

func PossibleValuesForJobType

func PossibleValuesForJobType() []string

func PossibleValuesForJsonOutputSerializationFormat added in v0.20220715.1104737

func PossibleValuesForJsonOutputSerializationFormat() []string

func PossibleValuesForOutputErrorPolicy

func PossibleValuesForOutputErrorPolicy() []string

func PossibleValuesForOutputStartMode

func PossibleValuesForOutputStartMode() []string

func PossibleValuesForRefreshType added in v0.20220715.1104737

func PossibleValuesForRefreshType() []string

func PossibleValuesForSkuName

func PossibleValuesForSkuName() []string

func ValidateStreamingJobID

func ValidateStreamingJobID(input interface{}, key string) (warnings []string, errors []error)

ValidateStreamingJobID checks that 'input' can be parsed as a Streaming Job ID

Types

type AggregateFunctionProperties added in v0.20220715.1104737

type AggregateFunctionProperties struct {

	// Fields inherited from FunctionProperties
	Etag       *string                `json:"etag,omitempty"`
	Properties *FunctionConfiguration `json:"properties,omitempty"`
}

func (AggregateFunctionProperties) MarshalJSON added in v0.20220715.1104737

func (s AggregateFunctionProperties) MarshalJSON() ([]byte, error)

type AuthenticationMode

type AuthenticationMode string
const (
	AuthenticationModeConnectionString AuthenticationMode = "ConnectionString"
	AuthenticationModeMsi              AuthenticationMode = "Msi"
	AuthenticationModeUserToken        AuthenticationMode = "UserToken"
)

type AvroSerialization added in v0.20220715.1104737

type AvroSerialization struct {
	Properties *interface{} `json:"properties,omitempty"`
}

func (AvroSerialization) MarshalJSON added in v0.20220715.1104737

func (s AvroSerialization) MarshalJSON() ([]byte, error)

type AzureDataLakeStoreOutputDataSource added in v0.20220715.1104737

type AzureDataLakeStoreOutputDataSource struct {
	Properties *AzureDataLakeStoreOutputDataSourceProperties `json:"properties,omitempty"`
}

func (AzureDataLakeStoreOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s AzureDataLakeStoreOutputDataSource) MarshalJSON() ([]byte, error)

type AzureDataLakeStoreOutputDataSourceProperties added in v0.20220715.1104737

type AzureDataLakeStoreOutputDataSourceProperties struct {
	AccountName            *string             `json:"accountName,omitempty"`
	AuthenticationMode     *AuthenticationMode `json:"authenticationMode,omitempty"`
	DateFormat             *string             `json:"dateFormat,omitempty"`
	FilePathPrefix         *string             `json:"filePathPrefix,omitempty"`
	RefreshToken           *string             `json:"refreshToken,omitempty"`
	TenantId               *string             `json:"tenantId,omitempty"`
	TimeFormat             *string             `json:"timeFormat,omitempty"`
	TokenUserDisplayName   *string             `json:"tokenUserDisplayName,omitempty"`
	TokenUserPrincipalName *string             `json:"tokenUserPrincipalName,omitempty"`
}

type AzureFunctionOutputDataSource added in v0.20220715.1104737

type AzureFunctionOutputDataSource struct {
	Properties *AzureFunctionOutputDataSourceProperties `json:"properties,omitempty"`
}

func (AzureFunctionOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s AzureFunctionOutputDataSource) MarshalJSON() ([]byte, error)

type AzureFunctionOutputDataSourceProperties added in v0.20220715.1104737

type AzureFunctionOutputDataSourceProperties struct {
	ApiKey          *string  `json:"apiKey,omitempty"`
	FunctionAppName *string  `json:"functionAppName,omitempty"`
	FunctionName    *string  `json:"functionName,omitempty"`
	MaxBatchCount   *float64 `json:"maxBatchCount,omitempty"`
	MaxBatchSize    *float64 `json:"maxBatchSize,omitempty"`
}

type AzureMachineLearningWebServiceFunctionBinding added in v0.20220715.1104737

type AzureMachineLearningWebServiceFunctionBinding struct {
	Properties *AzureMachineLearningWebServiceFunctionBindingProperties `json:"properties,omitempty"`
}

func (AzureMachineLearningWebServiceFunctionBinding) MarshalJSON added in v0.20220715.1104737

type AzureMachineLearningWebServiceFunctionBindingProperties added in v0.20220715.1104737

type AzureMachineLearningWebServiceFunctionBindingProperties struct {
	ApiKey    *string                                       `json:"apiKey,omitempty"`
	BatchSize *int64                                        `json:"batchSize,omitempty"`
	Endpoint  *string                                       `json:"endpoint,omitempty"`
	Inputs    *AzureMachineLearningWebServiceInputs         `json:"inputs,omitempty"`
	Outputs   *[]AzureMachineLearningWebServiceOutputColumn `json:"outputs,omitempty"`
}

type AzureMachineLearningWebServiceInputColumn added in v0.20220715.1104737

type AzureMachineLearningWebServiceInputColumn struct {
	DataType *string `json:"dataType,omitempty"`
	MapTo    *int64  `json:"mapTo,omitempty"`
	Name     *string `json:"name,omitempty"`
}

type AzureMachineLearningWebServiceInputs added in v0.20220715.1104737

type AzureMachineLearningWebServiceInputs struct {
	ColumnNames *[]AzureMachineLearningWebServiceInputColumn `json:"columnNames,omitempty"`
	Name        *string                                      `json:"name,omitempty"`
}

type AzureMachineLearningWebServiceOutputColumn added in v0.20220715.1104737

type AzureMachineLearningWebServiceOutputColumn struct {
	DataType *string `json:"dataType,omitempty"`
	Name     *string `json:"name,omitempty"`
}

type AzureSqlDatabaseDataSourceProperties added in v0.20220715.1104737

type AzureSqlDatabaseDataSourceProperties struct {
	AuthenticationMode *AuthenticationMode `json:"authenticationMode,omitempty"`
	Database           *string             `json:"database,omitempty"`
	MaxBatchCount      *float64            `json:"maxBatchCount,omitempty"`
	MaxWriterCount     *float64            `json:"maxWriterCount,omitempty"`
	Password           *string             `json:"password,omitempty"`
	Server             *string             `json:"server,omitempty"`
	Table              *string             `json:"table,omitempty"`
	User               *string             `json:"user,omitempty"`
}

type AzureSqlDatabaseOutputDataSource added in v0.20220715.1104737

type AzureSqlDatabaseOutputDataSource struct {
	Properties *AzureSqlDatabaseDataSourceProperties `json:"properties,omitempty"`
}

func (AzureSqlDatabaseOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s AzureSqlDatabaseOutputDataSource) MarshalJSON() ([]byte, error)

type AzureSqlReferenceInputDataSource added in v0.20220715.1104737

type AzureSqlReferenceInputDataSource struct {
	Properties *AzureSqlReferenceInputDataSourceProperties `json:"properties,omitempty"`
}

func (AzureSqlReferenceInputDataSource) MarshalJSON added in v0.20220715.1104737

func (s AzureSqlReferenceInputDataSource) MarshalJSON() ([]byte, error)

type AzureSqlReferenceInputDataSourceProperties added in v0.20220715.1104737

type AzureSqlReferenceInputDataSourceProperties struct {
	Database           *string      `json:"database,omitempty"`
	DeltaSnapshotQuery *string      `json:"deltaSnapshotQuery,omitempty"`
	FullSnapshotQuery  *string      `json:"fullSnapshotQuery,omitempty"`
	Password           *string      `json:"password,omitempty"`
	RefreshRate        *string      `json:"refreshRate,omitempty"`
	RefreshType        *RefreshType `json:"refreshType,omitempty"`
	Server             *string      `json:"server,omitempty"`
	Table              *string      `json:"table,omitempty"`
	User               *string      `json:"user,omitempty"`
}

type AzureSynapseDataSourceProperties added in v0.20220715.1104737

type AzureSynapseDataSourceProperties struct {
	Database *string `json:"database,omitempty"`
	Password *string `json:"password,omitempty"`
	Server   *string `json:"server,omitempty"`
	Table    *string `json:"table,omitempty"`
	User     *string `json:"user,omitempty"`
}

type AzureSynapseOutputDataSource added in v0.20220715.1104737

type AzureSynapseOutputDataSource struct {
	Properties *AzureSynapseDataSourceProperties `json:"properties,omitempty"`
}

func (AzureSynapseOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s AzureSynapseOutputDataSource) MarshalJSON() ([]byte, error)

type AzureTableOutputDataSource added in v0.20220715.1104737

type AzureTableOutputDataSource struct {
	Properties *AzureTableOutputDataSourceProperties `json:"properties,omitempty"`
}

func (AzureTableOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s AzureTableOutputDataSource) MarshalJSON() ([]byte, error)

type AzureTableOutputDataSourceProperties added in v0.20220715.1104737

type AzureTableOutputDataSourceProperties struct {
	AccountKey      *string   `json:"accountKey,omitempty"`
	AccountName     *string   `json:"accountName,omitempty"`
	BatchSize       *int64    `json:"batchSize,omitempty"`
	ColumnsToRemove *[]string `json:"columnsToRemove,omitempty"`
	PartitionKey    *string   `json:"partitionKey,omitempty"`
	RowKey          *string   `json:"rowKey,omitempty"`
	Table           *string   `json:"table,omitempty"`
}

type BlobDataSourceProperties added in v0.20220715.1104737

type BlobDataSourceProperties struct {
	AuthenticationMode *AuthenticationMode `json:"authenticationMode,omitempty"`
	Container          *string             `json:"container,omitempty"`
	DateFormat         *string             `json:"dateFormat,omitempty"`
	PathPattern        *string             `json:"pathPattern,omitempty"`
	StorageAccounts    *[]StorageAccount   `json:"storageAccounts,omitempty"`
	TimeFormat         *string             `json:"timeFormat,omitempty"`
}

type BlobOutputDataSource added in v0.20220715.1104737

type BlobOutputDataSource struct {
	Properties *BlobOutputDataSourceProperties `json:"properties,omitempty"`
}

func (BlobOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s BlobOutputDataSource) MarshalJSON() ([]byte, error)

type BlobOutputDataSourceProperties added in v0.20220715.1104737

type BlobOutputDataSourceProperties struct {
	AuthenticationMode *AuthenticationMode `json:"authenticationMode,omitempty"`
	BlobPathPrefix     *string             `json:"blobPathPrefix,omitempty"`
	Container          *string             `json:"container,omitempty"`
	DateFormat         *string             `json:"dateFormat,omitempty"`
	PathPattern        *string             `json:"pathPattern,omitempty"`
	StorageAccounts    *[]StorageAccount   `json:"storageAccounts,omitempty"`
	TimeFormat         *string             `json:"timeFormat,omitempty"`
}

type BlobReferenceInputDataSource added in v0.20220715.1104737

type BlobReferenceInputDataSource struct {
	Properties *BlobDataSourceProperties `json:"properties,omitempty"`
}

func (BlobReferenceInputDataSource) MarshalJSON added in v0.20220715.1104737

func (s BlobReferenceInputDataSource) MarshalJSON() ([]byte, error)

type BlobStreamInputDataSource added in v0.20220715.1104737

type BlobStreamInputDataSource struct {
	Properties *BlobStreamInputDataSourceProperties `json:"properties,omitempty"`
}

func (BlobStreamInputDataSource) MarshalJSON added in v0.20220715.1104737

func (s BlobStreamInputDataSource) MarshalJSON() ([]byte, error)

type BlobStreamInputDataSourceProperties added in v0.20220715.1104737

type BlobStreamInputDataSourceProperties struct {
	AuthenticationMode   *AuthenticationMode `json:"authenticationMode,omitempty"`
	Container            *string             `json:"container,omitempty"`
	DateFormat           *string             `json:"dateFormat,omitempty"`
	PathPattern          *string             `json:"pathPattern,omitempty"`
	SourcePartitionCount *int64              `json:"sourcePartitionCount,omitempty"`
	StorageAccounts      *[]StorageAccount   `json:"storageAccounts,omitempty"`
	TimeFormat           *string             `json:"timeFormat,omitempty"`
}

type ClusterInfo

type ClusterInfo struct {
	Id *string `json:"id,omitempty"`
}

type CompatibilityLevel

type CompatibilityLevel string
const (
	CompatibilityLevelOnePointTwo  CompatibilityLevel = "1.2"
	CompatibilityLevelOnePointZero CompatibilityLevel = "1.0"
)

type Compression

type Compression struct {
	Type CompressionType `json:"type"`
}

type CompressionType

type CompressionType string
const (
	CompressionTypeDeflate CompressionType = "Deflate"
	CompressionTypeGZip    CompressionType = "GZip"
	CompressionTypeNone    CompressionType = "None"
)

type ContentStoragePolicy

type ContentStoragePolicy string
const (
	ContentStoragePolicyJobStorageAccount ContentStoragePolicy = "JobStorageAccount"
	ContentStoragePolicySystemAccount     ContentStoragePolicy = "SystemAccount"
)

type CreateOrReplaceOperationOptions

type CreateOrReplaceOperationOptions struct {
	IfMatch     *string
	IfNoneMatch *string
}

func DefaultCreateOrReplaceOperationOptions

func DefaultCreateOrReplaceOperationOptions() CreateOrReplaceOperationOptions

type CreateOrReplaceOperationResponse

type CreateOrReplaceOperationResponse struct {
	Poller       polling.LongRunningPoller
	HttpResponse *http.Response
}

type CsvSerialization added in v0.20220715.1104737

type CsvSerialization struct {
	Properties *CsvSerializationProperties `json:"properties,omitempty"`
}

func (CsvSerialization) MarshalJSON added in v0.20220715.1104737

func (s CsvSerialization) MarshalJSON() ([]byte, error)

type CsvSerializationProperties added in v0.20220715.1104737

type CsvSerializationProperties struct {
	Encoding       *Encoding `json:"encoding,omitempty"`
	FieldDelimiter *string   `json:"fieldDelimiter,omitempty"`
}

type DeleteOperationResponse

type DeleteOperationResponse struct {
	Poller       polling.LongRunningPoller
	HttpResponse *http.Response
}

type DiagnosticCondition

type DiagnosticCondition struct {
	Code    *string `json:"code,omitempty"`
	Message *string `json:"message,omitempty"`
	Since   *string `json:"since,omitempty"`
}

type Diagnostics

type Diagnostics struct {
	Conditions *[]DiagnosticCondition `json:"conditions,omitempty"`
}

type DocumentDbOutputDataSource added in v0.20220715.1104737

type DocumentDbOutputDataSource struct {
	Properties *DocumentDbOutputDataSourceProperties `json:"properties,omitempty"`
}

func (DocumentDbOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s DocumentDbOutputDataSource) MarshalJSON() ([]byte, error)

type DocumentDbOutputDataSourceProperties added in v0.20220715.1104737

type DocumentDbOutputDataSourceProperties struct {
	AccountId             *string `json:"accountId,omitempty"`
	AccountKey            *string `json:"accountKey,omitempty"`
	CollectionNamePattern *string `json:"collectionNamePattern,omitempty"`
	Database              *string `json:"database,omitempty"`
	DocumentId            *string `json:"documentId,omitempty"`
	PartitionKey          *string `json:"partitionKey,omitempty"`
}

type Encoding added in v0.20220715.1104737

type Encoding string
const (
	EncodingUTFEight Encoding = "UTF8"
)

type EventHubOutputDataSource added in v0.20220715.1104737

type EventHubOutputDataSource struct {
	Properties *EventHubOutputDataSourceProperties `json:"properties,omitempty"`
}

func (EventHubOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s EventHubOutputDataSource) MarshalJSON() ([]byte, error)

type EventHubOutputDataSourceProperties added in v0.20220715.1104737

type EventHubOutputDataSourceProperties struct {
	AuthenticationMode     *AuthenticationMode `json:"authenticationMode,omitempty"`
	EventHubName           *string             `json:"eventHubName,omitempty"`
	PartitionKey           *string             `json:"partitionKey,omitempty"`
	PropertyColumns        *[]string           `json:"propertyColumns,omitempty"`
	ServiceBusNamespace    *string             `json:"serviceBusNamespace,omitempty"`
	SharedAccessPolicyKey  *string             `json:"sharedAccessPolicyKey,omitempty"`
	SharedAccessPolicyName *string             `json:"sharedAccessPolicyName,omitempty"`
}

type EventHubStreamInputDataSource added in v0.20220715.1104737

type EventHubStreamInputDataSource struct {
	Properties *EventHubStreamInputDataSourceProperties `json:"properties,omitempty"`
}

func (EventHubStreamInputDataSource) MarshalJSON added in v0.20220715.1104737

func (s EventHubStreamInputDataSource) MarshalJSON() ([]byte, error)

type EventHubStreamInputDataSourceProperties added in v0.20220715.1104737

type EventHubStreamInputDataSourceProperties struct {
	AuthenticationMode     *AuthenticationMode `json:"authenticationMode,omitempty"`
	ConsumerGroupName      *string             `json:"consumerGroupName,omitempty"`
	EventHubName           *string             `json:"eventHubName,omitempty"`
	ServiceBusNamespace    *string             `json:"serviceBusNamespace,omitempty"`
	SharedAccessPolicyKey  *string             `json:"sharedAccessPolicyKey,omitempty"`
	SharedAccessPolicyName *string             `json:"sharedAccessPolicyName,omitempty"`
}

type EventHubV2OutputDataSource added in v0.20220715.1104737

type EventHubV2OutputDataSource struct {
	Properties *EventHubOutputDataSourceProperties `json:"properties,omitempty"`
}

func (EventHubV2OutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s EventHubV2OutputDataSource) MarshalJSON() ([]byte, error)

type EventHubV2StreamInputDataSource added in v0.20220715.1104737

type EventHubV2StreamInputDataSource struct {
	Properties *EventHubStreamInputDataSourceProperties `json:"properties,omitempty"`
}

func (EventHubV2StreamInputDataSource) MarshalJSON added in v0.20220715.1104737

func (s EventHubV2StreamInputDataSource) MarshalJSON() ([]byte, error)

type EventSerializationType

type EventSerializationType string
const (
	EventSerializationTypeAvro    EventSerializationType = "Avro"
	EventSerializationTypeCsv     EventSerializationType = "Csv"
	EventSerializationTypeJson    EventSerializationType = "Json"
	EventSerializationTypeParquet EventSerializationType = "Parquet"
)

type EventsOutOfOrderPolicy

type EventsOutOfOrderPolicy string
const (
	EventsOutOfOrderPolicyAdjust EventsOutOfOrderPolicy = "Adjust"
	EventsOutOfOrderPolicyDrop   EventsOutOfOrderPolicy = "Drop"
)

type FileReferenceInputDataSource added in v0.20220715.1104737

type FileReferenceInputDataSource struct {
	Properties *FileReferenceInputDataSourceProperties `json:"properties,omitempty"`
}

func (FileReferenceInputDataSource) MarshalJSON added in v0.20220715.1104737

func (s FileReferenceInputDataSource) MarshalJSON() ([]byte, error)

type FileReferenceInputDataSourceProperties added in v0.20220715.1104737

type FileReferenceInputDataSourceProperties struct {
	Path *string `json:"path,omitempty"`
}

type Function

type Function struct {
	Id         *string             `json:"id,omitempty"`
	Name       *string             `json:"name,omitempty"`
	Properties *FunctionProperties `json:"properties,omitempty"`
	Type       *string             `json:"type,omitempty"`
}

func (*Function) UnmarshalJSON added in v0.20220715.1104737

func (s *Function) UnmarshalJSON(bytes []byte) error

type FunctionBinding

type FunctionBinding interface {
}

type FunctionConfiguration

type FunctionConfiguration struct {
	Binding *FunctionBinding `json:"binding,omitempty"`
	Inputs  *[]FunctionInput `json:"inputs,omitempty"`
	Output  *FunctionOutput  `json:"output,omitempty"`
}

func (*FunctionConfiguration) UnmarshalJSON added in v0.20220715.1104737

func (s *FunctionConfiguration) UnmarshalJSON(bytes []byte) error

type FunctionInput

type FunctionInput struct {
	DataType                 *string `json:"dataType,omitempty"`
	IsConfigurationParameter *bool   `json:"isConfigurationParameter,omitempty"`
}

type FunctionOutput

type FunctionOutput struct {
	DataType *string `json:"dataType,omitempty"`
}

type FunctionProperties

type FunctionProperties interface {
}

type GatewayMessageBusOutputDataSource added in v0.20220715.1104737

type GatewayMessageBusOutputDataSource struct {
	Properties *GatewayMessageBusSourceProperties `json:"properties,omitempty"`
}

func (GatewayMessageBusOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s GatewayMessageBusOutputDataSource) MarshalJSON() ([]byte, error)

type GatewayMessageBusSourceProperties added in v0.20220715.1104737

type GatewayMessageBusSourceProperties struct {
	Topic *string `json:"topic,omitempty"`
}

type GatewayMessageBusStreamInputDataSource added in v0.20220715.1104737

type GatewayMessageBusStreamInputDataSource struct {
	Properties *GatewayMessageBusSourceProperties `json:"properties,omitempty"`
}

func (GatewayMessageBusStreamInputDataSource) MarshalJSON added in v0.20220715.1104737

func (s GatewayMessageBusStreamInputDataSource) MarshalJSON() ([]byte, error)

type GetOperationOptions

type GetOperationOptions struct {
	Expand *string
}

func DefaultGetOperationOptions

func DefaultGetOperationOptions() GetOperationOptions

type GetOperationResponse

type GetOperationResponse struct {
	HttpResponse *http.Response
	Model        *StreamingJob
}

type Identity

type Identity struct {
	PrincipalId *string `json:"principalId,omitempty"`
	TenantId    *string `json:"tenantId,omitempty"`
	Type        *string `json:"type,omitempty"`
}

type Input

type Input struct {
	Id         *string          `json:"id,omitempty"`
	Name       *string          `json:"name,omitempty"`
	Properties *InputProperties `json:"properties,omitempty"`
	Type       *string          `json:"type,omitempty"`
}

func (*Input) UnmarshalJSON added in v0.20220715.1104737

func (s *Input) UnmarshalJSON(bytes []byte) error

type InputProperties

type InputProperties interface {
}

type IoTHubStreamInputDataSource added in v0.20220715.1104737

type IoTHubStreamInputDataSource struct {
	Properties *IoTHubStreamInputDataSourceProperties `json:"properties,omitempty"`
}

func (IoTHubStreamInputDataSource) MarshalJSON added in v0.20220715.1104737

func (s IoTHubStreamInputDataSource) MarshalJSON() ([]byte, error)

type IoTHubStreamInputDataSourceProperties added in v0.20220715.1104737

type IoTHubStreamInputDataSourceProperties struct {
	ConsumerGroupName      *string `json:"consumerGroupName,omitempty"`
	Endpoint               *string `json:"endpoint,omitempty"`
	IotHubNamespace        *string `json:"iotHubNamespace,omitempty"`
	SharedAccessPolicyKey  *string `json:"sharedAccessPolicyKey,omitempty"`
	SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"`
}

type JavaScriptFunctionBinding added in v0.20220715.1104737

type JavaScriptFunctionBinding struct {
	Properties *JavaScriptFunctionBindingProperties `json:"properties,omitempty"`
}

func (JavaScriptFunctionBinding) MarshalJSON added in v0.20220715.1104737

func (s JavaScriptFunctionBinding) MarshalJSON() ([]byte, error)

type JavaScriptFunctionBindingProperties added in v0.20220715.1104737

type JavaScriptFunctionBindingProperties struct {
	Script *string `json:"script,omitempty"`
}

type JobStorageAccount

type JobStorageAccount struct {
	AccountKey         *string             `json:"accountKey,omitempty"`
	AccountName        *string             `json:"accountName,omitempty"`
	AuthenticationMode *AuthenticationMode `json:"authenticationMode,omitempty"`
}

type JobType

type JobType string
const (
	JobTypeCloud JobType = "Cloud"
	JobTypeEdge  JobType = "Edge"
)

type JsonOutputSerializationFormat added in v0.20220715.1104737

type JsonOutputSerializationFormat string
const (
	JsonOutputSerializationFormatArray         JsonOutputSerializationFormat = "Array"
	JsonOutputSerializationFormatLineSeparated JsonOutputSerializationFormat = "LineSeparated"
)

type JsonSerialization added in v0.20220715.1104737

type JsonSerialization struct {
	Properties *JsonSerializationProperties `json:"properties,omitempty"`
}

func (JsonSerialization) MarshalJSON added in v0.20220715.1104737

func (s JsonSerialization) MarshalJSON() ([]byte, error)

type JsonSerializationProperties added in v0.20220715.1104737

type JsonSerializationProperties struct {
	Encoding *Encoding                      `json:"encoding,omitempty"`
	Format   *JsonOutputSerializationFormat `json:"format,omitempty"`
}

type ListByResourceGroupCompleteResult

type ListByResourceGroupCompleteResult struct {
	Items []StreamingJob
}

type ListByResourceGroupOperationOptions

type ListByResourceGroupOperationOptions struct {
	Expand *string
}

func DefaultListByResourceGroupOperationOptions

func DefaultListByResourceGroupOperationOptions() ListByResourceGroupOperationOptions

type ListByResourceGroupOperationResponse

type ListByResourceGroupOperationResponse struct {
	HttpResponse *http.Response
	Model        *[]StreamingJob
	// contains filtered or unexported fields
}

func (ListByResourceGroupOperationResponse) HasMore

func (ListByResourceGroupOperationResponse) LoadMore

type ListCompleteResult

type ListCompleteResult struct {
	Items []StreamingJob
}

type ListOperationOptions

type ListOperationOptions struct {
	Expand *string
}

func DefaultListOperationOptions

func DefaultListOperationOptions() ListOperationOptions

type ListOperationResponse

type ListOperationResponse struct {
	HttpResponse *http.Response
	Model        *[]StreamingJob
	// contains filtered or unexported fields
}

func (ListOperationResponse) HasMore

func (r ListOperationResponse) HasMore() bool

func (ListOperationResponse) LoadMore

func (r ListOperationResponse) LoadMore(ctx context.Context) (resp ListOperationResponse, err error)

type Output

type Output struct {
	Id         *string           `json:"id,omitempty"`
	Name       *string           `json:"name,omitempty"`
	Properties *OutputProperties `json:"properties,omitempty"`
	Type       *string           `json:"type,omitempty"`
}

type OutputDataSource

type OutputDataSource interface {
}

type OutputErrorPolicy

type OutputErrorPolicy string
const (
	OutputErrorPolicyDrop OutputErrorPolicy = "Drop"
	OutputErrorPolicyStop OutputErrorPolicy = "Stop"
)

type OutputProperties

type OutputProperties struct {
	Datasource    *OutputDataSource `json:"datasource,omitempty"`
	Diagnostics   *Diagnostics      `json:"diagnostics,omitempty"`
	Etag          *string           `json:"etag,omitempty"`
	Serialization *Serialization    `json:"serialization,omitempty"`
	SizeWindow    *int64            `json:"sizeWindow,omitempty"`
	TimeWindow    *string           `json:"timeWindow,omitempty"`
}

func (*OutputProperties) UnmarshalJSON added in v0.20220715.1104737

func (s *OutputProperties) UnmarshalJSON(bytes []byte) error

type OutputStartMode

type OutputStartMode string
const (
	OutputStartModeCustomTime          OutputStartMode = "CustomTime"
	OutputStartModeJobStartTime        OutputStartMode = "JobStartTime"
	OutputStartModeLastOutputEventTime OutputStartMode = "LastOutputEventTime"
)

type ParquetSerialization added in v0.20220715.1104737

type ParquetSerialization struct {
	Properties *interface{} `json:"properties,omitempty"`
}

func (ParquetSerialization) MarshalJSON added in v0.20220715.1104737

func (s ParquetSerialization) MarshalJSON() ([]byte, error)

type PowerBIOutputDataSource added in v0.20220715.1104737

type PowerBIOutputDataSource struct {
	Properties *PowerBIOutputDataSourceProperties `json:"properties,omitempty"`
}

func (PowerBIOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s PowerBIOutputDataSource) MarshalJSON() ([]byte, error)

type PowerBIOutputDataSourceProperties added in v0.20220715.1104737

type PowerBIOutputDataSourceProperties struct {
	AuthenticationMode     *AuthenticationMode `json:"authenticationMode,omitempty"`
	Dataset                *string             `json:"dataset,omitempty"`
	GroupId                *string             `json:"groupId,omitempty"`
	GroupName              *string             `json:"groupName,omitempty"`
	RefreshToken           *string             `json:"refreshToken,omitempty"`
	Table                  *string             `json:"table,omitempty"`
	TokenUserDisplayName   *string             `json:"tokenUserDisplayName,omitempty"`
	TokenUserPrincipalName *string             `json:"tokenUserPrincipalName,omitempty"`
}

type ReferenceInputDataSource added in v0.20220715.1104737

type ReferenceInputDataSource interface {
}

type ReferenceInputProperties added in v0.20220715.1104737

type ReferenceInputProperties struct {
	Datasource *ReferenceInputDataSource `json:"datasource,omitempty"`

	// Fields inherited from InputProperties
	Compression   *Compression   `json:"compression,omitempty"`
	Diagnostics   *Diagnostics   `json:"diagnostics,omitempty"`
	Etag          *string        `json:"etag,omitempty"`
	PartitionKey  *string        `json:"partitionKey,omitempty"`
	Serialization *Serialization `json:"serialization,omitempty"`
}

func (ReferenceInputProperties) MarshalJSON added in v0.20220715.1104737

func (s ReferenceInputProperties) MarshalJSON() ([]byte, error)

func (*ReferenceInputProperties) UnmarshalJSON added in v0.20220715.1104737

func (s *ReferenceInputProperties) UnmarshalJSON(bytes []byte) error

type RefreshType added in v0.20220715.1104737

type RefreshType string
const (
	RefreshTypeRefreshPeriodicallyWithDelta RefreshType = "RefreshPeriodicallyWithDelta"
	RefreshTypeRefreshPeriodicallyWithFull  RefreshType = "RefreshPeriodicallyWithFull"
	RefreshTypeStatic                       RefreshType = "Static"
)

type ScalarFunctionProperties added in v0.20220715.1104737

type ScalarFunctionProperties struct {

	// Fields inherited from FunctionProperties
	Etag       *string                `json:"etag,omitempty"`
	Properties *FunctionConfiguration `json:"properties,omitempty"`
}

func (ScalarFunctionProperties) MarshalJSON added in v0.20220715.1104737

func (s ScalarFunctionProperties) MarshalJSON() ([]byte, error)

type ScaleOperationResponse

type ScaleOperationResponse struct {
	Poller       polling.LongRunningPoller
	HttpResponse *http.Response
}

type ScaleStreamingJobParameters

type ScaleStreamingJobParameters struct {
	StreamingUnits *int64 `json:"streamingUnits,omitempty"`
}

type Serialization

type Serialization interface {
}

type ServiceBusQueueOutputDataSource added in v0.20220715.1104737

type ServiceBusQueueOutputDataSource struct {
	Properties *ServiceBusQueueOutputDataSourceProperties `json:"properties,omitempty"`
}

func (ServiceBusQueueOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s ServiceBusQueueOutputDataSource) MarshalJSON() ([]byte, error)

type ServiceBusQueueOutputDataSourceProperties added in v0.20220715.1104737

type ServiceBusQueueOutputDataSourceProperties struct {
	AuthenticationMode     *AuthenticationMode `json:"authenticationMode,omitempty"`
	PropertyColumns        *[]string           `json:"propertyColumns,omitempty"`
	QueueName              *string             `json:"queueName,omitempty"`
	ServiceBusNamespace    *string             `json:"serviceBusNamespace,omitempty"`
	SharedAccessPolicyKey  *string             `json:"sharedAccessPolicyKey,omitempty"`
	SharedAccessPolicyName *string             `json:"sharedAccessPolicyName,omitempty"`
	SystemPropertyColumns  *interface{}        `json:"systemPropertyColumns,omitempty"`
}

type ServiceBusTopicOutputDataSource added in v0.20220715.1104737

type ServiceBusTopicOutputDataSource struct {
	Properties *ServiceBusTopicOutputDataSourceProperties `json:"properties,omitempty"`
}

func (ServiceBusTopicOutputDataSource) MarshalJSON added in v0.20220715.1104737

func (s ServiceBusTopicOutputDataSource) MarshalJSON() ([]byte, error)

type ServiceBusTopicOutputDataSourceProperties added in v0.20220715.1104737

type ServiceBusTopicOutputDataSourceProperties struct {
	AuthenticationMode     *AuthenticationMode `json:"authenticationMode,omitempty"`
	PropertyColumns        *[]string           `json:"propertyColumns,omitempty"`
	ServiceBusNamespace    *string             `json:"serviceBusNamespace,omitempty"`
	SharedAccessPolicyKey  *string             `json:"sharedAccessPolicyKey,omitempty"`
	SharedAccessPolicyName *string             `json:"sharedAccessPolicyName,omitempty"`
	SystemPropertyColumns  *map[string]string  `json:"systemPropertyColumns,omitempty"`
	TopicName              *string             `json:"topicName,omitempty"`
}

type Sku

type Sku struct {
	Name *SkuName `json:"name,omitempty"`
}

type SkuName

type SkuName string
const (
	SkuNameStandard SkuName = "Standard"
)

type StartOperationResponse

type StartOperationResponse struct {
	Poller       polling.LongRunningPoller
	HttpResponse *http.Response
}

type StartStreamingJobParameters

type StartStreamingJobParameters struct {
	OutputStartMode *OutputStartMode `json:"outputStartMode,omitempty"`
	OutputStartTime *string          `json:"outputStartTime,omitempty"`
}

func (*StartStreamingJobParameters) GetOutputStartTimeAsTime

func (o *StartStreamingJobParameters) GetOutputStartTimeAsTime() (*time.Time, error)

func (*StartStreamingJobParameters) SetOutputStartTimeAsTime

func (o *StartStreamingJobParameters) SetOutputStartTimeAsTime(input time.Time)

type StopOperationResponse

type StopOperationResponse struct {
	Poller       polling.LongRunningPoller
	HttpResponse *http.Response
}

type StorageAccount added in v0.20220715.1104737

type StorageAccount struct {
	AccountKey  *string `json:"accountKey,omitempty"`
	AccountName *string `json:"accountName,omitempty"`
}

type StreamInputDataSource added in v0.20220715.1104737

type StreamInputDataSource interface {
}

type StreamInputProperties added in v0.20220715.1104737

type StreamInputProperties struct {
	Datasource *StreamInputDataSource `json:"datasource,omitempty"`

	// Fields inherited from InputProperties
	Compression   *Compression   `json:"compression,omitempty"`
	Diagnostics   *Diagnostics   `json:"diagnostics,omitempty"`
	Etag          *string        `json:"etag,omitempty"`
	PartitionKey  *string        `json:"partitionKey,omitempty"`
	Serialization *Serialization `json:"serialization,omitempty"`
}

func (StreamInputProperties) MarshalJSON added in v0.20220715.1104737

func (s StreamInputProperties) MarshalJSON() ([]byte, error)

func (*StreamInputProperties) UnmarshalJSON added in v0.20220715.1104737

func (s *StreamInputProperties) UnmarshalJSON(bytes []byte) error

type StreamingJob

type StreamingJob struct {
	Id         *string                 `json:"id,omitempty"`
	Identity   *Identity               `json:"identity,omitempty"`
	Location   *string                 `json:"location,omitempty"`
	Name       *string                 `json:"name,omitempty"`
	Properties *StreamingJobProperties `json:"properties,omitempty"`
	Tags       *map[string]string      `json:"tags,omitempty"`
	Type       *string                 `json:"type,omitempty"`
}

type StreamingJobId

type StreamingJobId struct {
	SubscriptionId    string
	ResourceGroupName string
	StreamingJobName  string
}

StreamingJobId is a struct representing the Resource ID for a Streaming Job

func NewStreamingJobID

func NewStreamingJobID(subscriptionId string, resourceGroupName string, streamingJobName string) StreamingJobId

NewStreamingJobID returns a new StreamingJobId struct

func ParseStreamingJobID

func ParseStreamingJobID(input string) (*StreamingJobId, error)

ParseStreamingJobID parses 'input' into a StreamingJobId

func ParseStreamingJobIDInsensitively

func ParseStreamingJobIDInsensitively(input string) (*StreamingJobId, error)

ParseStreamingJobIDInsensitively parses 'input' case-insensitively into a StreamingJobId note: this method should only be used for API response data and not user input

func (StreamingJobId) ID

func (id StreamingJobId) ID() string

ID returns the formatted Streaming Job ID

func (StreamingJobId) Segments

func (id StreamingJobId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Streaming Job ID

func (StreamingJobId) String

func (id StreamingJobId) String() string

String returns a human-readable description of this Streaming Job ID

type StreamingJobOperationPredicate

type StreamingJobOperationPredicate struct {
	Id       *string
	Location *string
	Name     *string
	Type     *string
}

func (StreamingJobOperationPredicate) Matches

type StreamingJobProperties

type StreamingJobProperties struct {
	Cluster                            *ClusterInfo            `json:"cluster,omitempty"`
	CompatibilityLevel                 *CompatibilityLevel     `json:"compatibilityLevel,omitempty"`
	ContentStoragePolicy               *ContentStoragePolicy   `json:"contentStoragePolicy,omitempty"`
	CreatedDate                        *string                 `json:"createdDate,omitempty"`
	DataLocale                         *string                 `json:"dataLocale,omitempty"`
	Etag                               *string                 `json:"etag,omitempty"`
	EventsLateArrivalMaxDelayInSeconds *int64                  `json:"eventsLateArrivalMaxDelayInSeconds,omitempty"`
	EventsOutOfOrderMaxDelayInSeconds  *int64                  `json:"eventsOutOfOrderMaxDelayInSeconds,omitempty"`
	EventsOutOfOrderPolicy             *EventsOutOfOrderPolicy `json:"eventsOutOfOrderPolicy,omitempty"`
	Functions                          *[]Function             `json:"functions,omitempty"`
	Inputs                             *[]Input                `json:"inputs,omitempty"`
	JobId                              *string                 `json:"jobId,omitempty"`
	JobState                           *string                 `json:"jobState,omitempty"`
	JobStorageAccount                  *JobStorageAccount      `json:"jobStorageAccount,omitempty"`
	JobType                            *JobType                `json:"jobType,omitempty"`
	LastOutputEventTime                *string                 `json:"lastOutputEventTime,omitempty"`
	OutputErrorPolicy                  *OutputErrorPolicy      `json:"outputErrorPolicy,omitempty"`
	OutputStartMode                    *OutputStartMode        `json:"outputStartMode,omitempty"`
	OutputStartTime                    *string                 `json:"outputStartTime,omitempty"`
	Outputs                            *[]Output               `json:"outputs,omitempty"`
	ProvisioningState                  *string                 `json:"provisioningState,omitempty"`
	Sku                                *Sku                    `json:"sku,omitempty"`
	Transformation                     *Transformation         `json:"transformation,omitempty"`
}

func (*StreamingJobProperties) GetCreatedDateAsTime

func (o *StreamingJobProperties) GetCreatedDateAsTime() (*time.Time, error)

func (*StreamingJobProperties) GetLastOutputEventTimeAsTime

func (o *StreamingJobProperties) GetLastOutputEventTimeAsTime() (*time.Time, error)

func (*StreamingJobProperties) GetOutputStartTimeAsTime

func (o *StreamingJobProperties) GetOutputStartTimeAsTime() (*time.Time, error)

func (*StreamingJobProperties) SetCreatedDateAsTime

func (o *StreamingJobProperties) SetCreatedDateAsTime(input time.Time)

func (*StreamingJobProperties) SetLastOutputEventTimeAsTime

func (o *StreamingJobProperties) SetLastOutputEventTimeAsTime(input time.Time)

func (*StreamingJobProperties) SetOutputStartTimeAsTime

func (o *StreamingJobProperties) SetOutputStartTimeAsTime(input time.Time)

type StreamingJobsClient

type StreamingJobsClient struct {
	Client autorest.Client
	// contains filtered or unexported fields
}

func NewStreamingJobsClientWithBaseURI

func NewStreamingJobsClientWithBaseURI(endpoint string) StreamingJobsClient

func (StreamingJobsClient) CreateOrReplace

CreateOrReplace ...

func (StreamingJobsClient) CreateOrReplaceThenPoll

func (c StreamingJobsClient) CreateOrReplaceThenPoll(ctx context.Context, id StreamingJobId, input StreamingJob, options CreateOrReplaceOperationOptions) error

CreateOrReplaceThenPoll performs CreateOrReplace then polls until it's completed

func (StreamingJobsClient) Delete

Delete ...

func (StreamingJobsClient) DeleteThenPoll

func (c StreamingJobsClient) DeleteThenPoll(ctx context.Context, id StreamingJobId) error

DeleteThenPoll performs Delete then polls until it's completed

func (StreamingJobsClient) Get

Get ...

func (StreamingJobsClient) List

List ...

func (StreamingJobsClient) ListByResourceGroup

ListByResourceGroup ...

func (StreamingJobsClient) ListByResourceGroupComplete

ListByResourceGroupComplete retrieves all of the results into a single object

func (StreamingJobsClient) ListByResourceGroupCompleteMatchingPredicate

ListByResourceGroupCompleteMatchingPredicate retrieves all of the results and then applied the predicate

func (StreamingJobsClient) ListComplete

ListComplete retrieves all of the results into a single object

func (StreamingJobsClient) ListCompleteMatchingPredicate

func (c StreamingJobsClient) ListCompleteMatchingPredicate(ctx context.Context, id commonids.SubscriptionId, options ListOperationOptions, predicate StreamingJobOperationPredicate) (resp ListCompleteResult, err error)

ListCompleteMatchingPredicate retrieves all of the results and then applied the predicate

func (StreamingJobsClient) Scale

Scale ...

func (StreamingJobsClient) ScaleThenPoll

ScaleThenPoll performs Scale then polls until it's completed

func (StreamingJobsClient) Start

Start ...

func (StreamingJobsClient) StartThenPoll

StartThenPoll performs Start then polls until it's completed

func (StreamingJobsClient) Stop

Stop ...

func (StreamingJobsClient) StopThenPoll

func (c StreamingJobsClient) StopThenPoll(ctx context.Context, id StreamingJobId) error

StopThenPoll performs Stop then polls until it's completed

func (StreamingJobsClient) Update

Update ...

type Transformation

type Transformation struct {
	Id         *string                   `json:"id,omitempty"`
	Name       *string                   `json:"name,omitempty"`
	Properties *TransformationProperties `json:"properties,omitempty"`
	Type       *string                   `json:"type,omitempty"`
}

type TransformationProperties

type TransformationProperties struct {
	Etag                *string  `json:"etag,omitempty"`
	Query               *string  `json:"query,omitempty"`
	StreamingUnits      *int64   `json:"streamingUnits,omitempty"`
	ValidStreamingUnits *[]int64 `json:"validStreamingUnits,omitempty"`
}

type UpdateOperationOptions

type UpdateOperationOptions struct {
	IfMatch *string
}

func DefaultUpdateOperationOptions

func DefaultUpdateOperationOptions() UpdateOperationOptions

type UpdateOperationResponse

type UpdateOperationResponse struct {
	HttpResponse *http.Response
	Model        *StreamingJob
}

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL