package streamanalytics // Copyright (c) Microsoft and contributors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // // See the License for the specific language governing permissions and // limitations under the License. // // Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "encoding/json" "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "net/http" ) // BindingType enumerates the values for binding type. type BindingType string const ( // BindingTypeMicrosoftMachineLearningWebService specifies the binding type microsoft machine learning web service // state for binding type. BindingTypeMicrosoftMachineLearningWebService BindingType = "Microsoft.MachineLearning/WebService" // BindingTypeMicrosoftStreamAnalyticsJavascriptUdf specifies the binding type microsoft stream analytics javascript // udf state for binding type. BindingTypeMicrosoftStreamAnalyticsJavascriptUdf BindingType = "Microsoft.StreamAnalytics/JavascriptUdf" ) // CompatibilityLevel enumerates the values for compatibility level. type CompatibilityLevel string const ( // OneFullStopZero specifies the one full stop zero state for compatibility level. OneFullStopZero CompatibilityLevel = "1.0" ) // Encoding enumerates the values for encoding. type Encoding string const ( // UTF8 specifies the utf8 state for encoding. UTF8 Encoding = "UTF8" ) // EventsOutOfOrderPolicy enumerates the values for events out of order policy. type EventsOutOfOrderPolicy string const ( // Adjust specifies the adjust state for events out of order policy. Adjust EventsOutOfOrderPolicy = "Adjust" // Drop specifies the drop state for events out of order policy. Drop EventsOutOfOrderPolicy = "Drop" ) // JSONOutputSerializationFormat enumerates the values for json output serialization format. type JSONOutputSerializationFormat string const ( // Array specifies the array state for json output serialization format. Array JSONOutputSerializationFormat = "Array" // LineSeparated specifies the line separated state for json output serialization format. LineSeparated JSONOutputSerializationFormat = "LineSeparated" ) // OutputErrorPolicy enumerates the values for output error policy. type OutputErrorPolicy string const ( // OutputErrorPolicyDrop specifies the output error policy drop state for output error policy. OutputErrorPolicyDrop OutputErrorPolicy = "Drop" // OutputErrorPolicyStop specifies the output error policy stop state for output error policy. OutputErrorPolicyStop OutputErrorPolicy = "Stop" ) // OutputStartMode enumerates the values for output start mode. type OutputStartMode string const ( // CustomTime specifies the custom time state for output start mode. CustomTime OutputStartMode = "CustomTime" // JobStartTime specifies the job start time state for output start mode. JobStartTime OutputStartMode = "JobStartTime" // LastOutputEventTime specifies the last output event time state for output start mode. LastOutputEventTime OutputStartMode = "LastOutputEventTime" ) // SkuName enumerates the values for sku name. type SkuName string const ( // Standard specifies the standard state for sku name. Standard SkuName = "Standard" ) // Type enumerates the values for type. type Type string const ( // TypeAvro specifies the type avro state for type. TypeAvro Type = "Avro" // TypeCsv specifies the type csv state for type. TypeCsv Type = "Csv" // TypeJSON specifies the type json state for type. TypeJSON Type = "Json" ) // TypeFunctionBinding enumerates the values for type function binding. type TypeFunctionBinding string const ( // TypeMicrosoftMachineLearningWebService specifies the type microsoft machine learning web service state for type // function binding. TypeMicrosoftMachineLearningWebService TypeFunctionBinding = "Microsoft.MachineLearning/WebService" // TypeMicrosoftStreamAnalyticsJavascriptUdf specifies the type microsoft stream analytics javascript udf state for // type function binding. TypeMicrosoftStreamAnalyticsJavascriptUdf TypeFunctionBinding = "Microsoft.StreamAnalytics/JavascriptUdf" ) // TypeFunctionProperties enumerates the values for type function properties. type TypeFunctionProperties string const ( // TypeScalar specifies the type scalar state for type function properties. TypeScalar TypeFunctionProperties = "Scalar" ) // TypeInputProperties enumerates the values for type input properties. type TypeInputProperties string const ( // TypeReference specifies the type reference state for type input properties. TypeReference TypeInputProperties = "Reference" // TypeStream specifies the type stream state for type input properties. TypeStream TypeInputProperties = "Stream" ) // TypeOutputDataSource enumerates the values for type output data source. type TypeOutputDataSource string const ( // TypeMicrosoftDataLakeAccounts specifies the type microsoft data lake accounts state for type output data source. TypeMicrosoftDataLakeAccounts TypeOutputDataSource = "Microsoft.DataLake/Accounts" // TypeMicrosoftServiceBusEventHub specifies the type microsoft service bus event hub state for type output data // source. TypeMicrosoftServiceBusEventHub TypeOutputDataSource = "Microsoft.ServiceBus/EventHub" // TypeMicrosoftServiceBusQueue specifies the type microsoft service bus queue state for type output data source. TypeMicrosoftServiceBusQueue TypeOutputDataSource = "Microsoft.ServiceBus/Queue" // TypeMicrosoftServiceBusTopic specifies the type microsoft service bus topic state for type output data source. TypeMicrosoftServiceBusTopic TypeOutputDataSource = "Microsoft.ServiceBus/Topic" // TypeMicrosoftSQLServerDatabase specifies the type microsoft sql server database state for type output data source. TypeMicrosoftSQLServerDatabase TypeOutputDataSource = "Microsoft.Sql/Server/Database" // TypeMicrosoftStorageBlob specifies the type microsoft storage blob state for type output data source. TypeMicrosoftStorageBlob TypeOutputDataSource = "Microsoft.Storage/Blob" // TypeMicrosoftStorageDocumentDB specifies the type microsoft storage document db state for type output data source. TypeMicrosoftStorageDocumentDB TypeOutputDataSource = "Microsoft.Storage/DocumentDB" // TypeMicrosoftStorageTable specifies the type microsoft storage table state for type output data source. TypeMicrosoftStorageTable TypeOutputDataSource = "Microsoft.Storage/Table" // TypePowerBI specifies the type power bi state for type output data source. TypePowerBI TypeOutputDataSource = "PowerBI" ) // TypeReferenceInputDataSource enumerates the values for type reference input data source. type TypeReferenceInputDataSource string const ( // TypeReferenceInputDataSourceTypeMicrosoftStorageBlob specifies the type reference input data source type microsoft // storage blob state for type reference input data source. TypeReferenceInputDataSourceTypeMicrosoftStorageBlob TypeReferenceInputDataSource = "Microsoft.Storage/Blob" ) // TypeStreamInputDataSource enumerates the values for type stream input data source. type TypeStreamInputDataSource string const ( // TypeStreamInputDataSourceTypeMicrosoftDevicesIotHubs specifies the type stream input data source type microsoft // devices iot hubs state for type stream input data source. TypeStreamInputDataSourceTypeMicrosoftDevicesIotHubs TypeStreamInputDataSource = "Microsoft.Devices/IotHubs" // TypeStreamInputDataSourceTypeMicrosoftServiceBusEventHub specifies the type stream input data source type microsoft // service bus event hub state for type stream input data source. TypeStreamInputDataSourceTypeMicrosoftServiceBusEventHub TypeStreamInputDataSource = "Microsoft.ServiceBus/EventHub" // TypeStreamInputDataSourceTypeMicrosoftStorageBlob specifies the type stream input data source type microsoft storage // blob state for type stream input data source. TypeStreamInputDataSourceTypeMicrosoftStorageBlob TypeStreamInputDataSource = "Microsoft.Storage/Blob" ) // UdfType enumerates the values for udf type. type UdfType string const ( // Scalar specifies the scalar state for udf type. Scalar UdfType = "Scalar" ) // AvroSerialization is describes how data from an input is serialized or how data is serialized when written to an // output in Avro format. type AvroSerialization struct { Type Type `json:"type,omitempty"` Properties *map[string]interface{} `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for AvroSerialization. func (as AvroSerialization) MarshalJSON() ([]byte, error) { as.Type = TypeAvro type Alias AvroSerialization return json.Marshal(&struct { Alias }{ Alias: (Alias)(as), }) } // AsAvroSerialization is the Serialization implementation for AvroSerialization. func (as AvroSerialization) AsAvroSerialization() (*AvroSerialization, bool) { return &as, true } // AsJSONSerialization is the Serialization implementation for AvroSerialization. func (as AvroSerialization) AsJSONSerialization() (*JSONSerialization, bool) { return nil, false } // AsCsvSerialization is the Serialization implementation for AvroSerialization. func (as AvroSerialization) AsCsvSerialization() (*CsvSerialization, bool) { return nil, false } // AzureDataLakeStoreOutputDataSource is describes an Azure Data Lake Store output data source. type AzureDataLakeStoreOutputDataSource struct { Type TypeOutputDataSource `json:"type,omitempty"` *AzureDataLakeStoreOutputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) MarshalJSON() ([]byte, error) { adlsods.Type = TypeMicrosoftDataLakeAccounts type Alias AzureDataLakeStoreOutputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(adlsods), }) } // AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { return &adlsods, true } // AsPowerBIOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { return nil, false } // AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { return nil, false } // AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { return nil, false } // AsDocumentDbOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { return nil, false } // AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { return nil, false } // AsEventHubOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { return nil, false } // AsAzureTableOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { return nil, false } // AsBlobOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. func (adlsods AzureDataLakeStoreOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { return nil, false } // AzureDataLakeStoreOutputDataSourceProperties is the properties that are associated with an Azure Data Lake Store. type AzureDataLakeStoreOutputDataSourceProperties struct { RefreshToken *string `json:"refreshToken,omitempty"` TokenUserPrincipalName *string `json:"tokenUserPrincipalName,omitempty"` TokenUserDisplayName *string `json:"tokenUserDisplayName,omitempty"` AccountName *string `json:"accountName,omitempty"` TenantID *string `json:"tenantId,omitempty"` FilePathPrefix *string `json:"filePathPrefix,omitempty"` DateFormat *string `json:"dateFormat,omitempty"` TimeFormat *string `json:"timeFormat,omitempty"` } // AzureMachineLearningWebServiceFunctionBinding is the binding to an Azure Machine Learning web service. type AzureMachineLearningWebServiceFunctionBinding struct { Type TypeFunctionBinding `json:"type,omitempty"` *AzureMachineLearningWebServiceFunctionBindingProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for AzureMachineLearningWebServiceFunctionBinding. func (amlwsfb AzureMachineLearningWebServiceFunctionBinding) MarshalJSON() ([]byte, error) { amlwsfb.Type = TypeMicrosoftMachineLearningWebService type Alias AzureMachineLearningWebServiceFunctionBinding return json.Marshal(&struct { Alias }{ Alias: (Alias)(amlwsfb), }) } // AsJavaScriptFunctionBinding is the FunctionBinding implementation for AzureMachineLearningWebServiceFunctionBinding. func (amlwsfb AzureMachineLearningWebServiceFunctionBinding) AsJavaScriptFunctionBinding() (*JavaScriptFunctionBinding, bool) { return nil, false } // AsAzureMachineLearningWebServiceFunctionBinding is the FunctionBinding implementation for AzureMachineLearningWebServiceFunctionBinding. func (amlwsfb AzureMachineLearningWebServiceFunctionBinding) AsAzureMachineLearningWebServiceFunctionBinding() (*AzureMachineLearningWebServiceFunctionBinding, bool) { return &amlwsfb, true } // AzureMachineLearningWebServiceFunctionBindingProperties is the binding properties associated with an Azure Machine // learning web service. type AzureMachineLearningWebServiceFunctionBindingProperties struct { Endpoint *string `json:"endpoint,omitempty"` APIKey *string `json:"apiKey,omitempty"` Inputs *AzureMachineLearningWebServiceInputs `json:"inputs,omitempty"` Outputs *[]AzureMachineLearningWebServiceOutputColumn `json:"outputs,omitempty"` BatchSize *int32 `json:"batchSize,omitempty"` } // AzureMachineLearningWebServiceFunctionBindingRetrievalProperties is the binding retrieval properties associated with // an Azure Machine learning web service. type AzureMachineLearningWebServiceFunctionBindingRetrievalProperties struct { ExecuteEndpoint *string `json:"executeEndpoint,omitempty"` UdfType UdfType `json:"udfType,omitempty"` } // AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters is the parameters needed to retrieve the // default function definition for an Azure Machine Learning web service function. type AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters struct { BindingType BindingType `json:"bindingType,omitempty"` *AzureMachineLearningWebServiceFunctionBindingRetrievalProperties `json:"bindingRetrievalProperties,omitempty"` } // MarshalJSON is the custom marshaler for AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters. func (amlwsfrddp AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters) MarshalJSON() ([]byte, error) { amlwsfrddp.BindingType = BindingTypeMicrosoftMachineLearningWebService type Alias AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters return json.Marshal(&struct { Alias }{ Alias: (Alias)(amlwsfrddp), }) } // AsJavaScriptFunctionRetrieveDefaultDefinitionParameters is the FunctionRetrieveDefaultDefinitionParameters implementation for AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters. func (amlwsfrddp AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters) AsJavaScriptFunctionRetrieveDefaultDefinitionParameters() (*JavaScriptFunctionRetrieveDefaultDefinitionParameters, bool) { return nil, false } // AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters is the FunctionRetrieveDefaultDefinitionParameters implementation for AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters. func (amlwsfrddp AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters) AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters() (*AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters, bool) { return &amlwsfrddp, true } // AzureMachineLearningWebServiceInputColumn is describes an input column for the Azure Machine Learning web service // endpoint. type AzureMachineLearningWebServiceInputColumn struct { Name *string `json:"name,omitempty"` DataType *string `json:"dataType,omitempty"` MapTo *int32 `json:"mapTo,omitempty"` } // AzureMachineLearningWebServiceInputs is the inputs for the Azure Machine Learning web service endpoint. type AzureMachineLearningWebServiceInputs struct { Name *string `json:"name,omitempty"` ColumnNames *[]AzureMachineLearningWebServiceInputColumn `json:"columnNames,omitempty"` } // AzureMachineLearningWebServiceOutputColumn is describes an output column for the Azure Machine Learning web service // endpoint. type AzureMachineLearningWebServiceOutputColumn struct { Name *string `json:"name,omitempty"` DataType *string `json:"dataType,omitempty"` } // AzureSQLDatabaseDataSourceProperties is the properties that are associated with an Azure SQL database data source. type AzureSQLDatabaseDataSourceProperties struct { Server *string `json:"server,omitempty"` Database *string `json:"database,omitempty"` User *string `json:"user,omitempty"` Password *string `json:"password,omitempty"` Table *string `json:"table,omitempty"` } // AzureSQLDatabaseOutputDataSource is describes an Azure SQL database output data source. type AzureSQLDatabaseOutputDataSource struct { Type TypeOutputDataSource `json:"type,omitempty"` *AzureSQLDatabaseOutputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) MarshalJSON() ([]byte, error) { asdods.Type = TypeMicrosoftSQLServerDatabase type Alias AzureSQLDatabaseOutputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(asdods), }) } // AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { return nil, false } // AsPowerBIOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { return nil, false } // AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { return nil, false } // AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { return nil, false } // AsDocumentDbOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { return nil, false } // AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { return &asdods, true } // AsEventHubOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { return nil, false } // AsAzureTableOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { return nil, false } // AsBlobOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. func (asdods AzureSQLDatabaseOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { return nil, false } // AzureSQLDatabaseOutputDataSourceProperties is the properties that are associated with an Azure SQL database output. type AzureSQLDatabaseOutputDataSourceProperties struct { Server *string `json:"server,omitempty"` Database *string `json:"database,omitempty"` User *string `json:"user,omitempty"` Password *string `json:"password,omitempty"` Table *string `json:"table,omitempty"` } // AzureTableOutputDataSource is describes an Azure Table output data source. type AzureTableOutputDataSource struct { Type TypeOutputDataSource `json:"type,omitempty"` *AzureTableOutputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) MarshalJSON() ([]byte, error) { atods.Type = TypeMicrosoftStorageTable type Alias AzureTableOutputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(atods), }) } // AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { return nil, false } // AsPowerBIOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { return nil, false } // AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { return nil, false } // AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { return nil, false } // AsDocumentDbOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { return nil, false } // AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { return nil, false } // AsEventHubOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { return nil, false } // AsAzureTableOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { return &atods, true } // AsBlobOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. func (atods AzureTableOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { return nil, false } // AzureTableOutputDataSourceProperties is the properties that are associated with an Azure Table output. type AzureTableOutputDataSourceProperties struct { AccountName *string `json:"accountName,omitempty"` AccountKey *string `json:"accountKey,omitempty"` Table *string `json:"table,omitempty"` PartitionKey *string `json:"partitionKey,omitempty"` RowKey *string `json:"rowKey,omitempty"` ColumnsToRemove *[]string `json:"columnsToRemove,omitempty"` BatchSize *int32 `json:"batchSize,omitempty"` } // BlobDataSourceProperties is the properties that are associated with a blob data source. type BlobDataSourceProperties struct { StorageAccounts *[]StorageAccount `json:"storageAccounts,omitempty"` Container *string `json:"container,omitempty"` PathPattern *string `json:"pathPattern,omitempty"` DateFormat *string `json:"dateFormat,omitempty"` TimeFormat *string `json:"timeFormat,omitempty"` } // BlobOutputDataSource is describes a blob output data source. type BlobOutputDataSource struct { Type TypeOutputDataSource `json:"type,omitempty"` *BlobOutputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for BlobOutputDataSource. func (bods BlobOutputDataSource) MarshalJSON() ([]byte, error) { bods.Type = TypeMicrosoftStorageBlob type Alias BlobOutputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(bods), }) } // AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. func (bods BlobOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { return nil, false } // AsPowerBIOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. func (bods BlobOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { return nil, false } // AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. func (bods BlobOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { return nil, false } // AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. func (bods BlobOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { return nil, false } // AsDocumentDbOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. func (bods BlobOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { return nil, false } // AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. func (bods BlobOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { return nil, false } // AsEventHubOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. func (bods BlobOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { return nil, false } // AsAzureTableOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. func (bods BlobOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { return nil, false } // AsBlobOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. func (bods BlobOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { return &bods, true } // BlobOutputDataSourceProperties is the properties that are associated with a blob output. type BlobOutputDataSourceProperties struct { StorageAccounts *[]StorageAccount `json:"storageAccounts,omitempty"` Container *string `json:"container,omitempty"` PathPattern *string `json:"pathPattern,omitempty"` DateFormat *string `json:"dateFormat,omitempty"` TimeFormat *string `json:"timeFormat,omitempty"` } // BlobReferenceInputDataSource is describes a blob input data source that contains reference data. type BlobReferenceInputDataSource struct { Type TypeReferenceInputDataSource `json:"type,omitempty"` *BlobReferenceInputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for BlobReferenceInputDataSource. func (brids BlobReferenceInputDataSource) MarshalJSON() ([]byte, error) { brids.Type = TypeReferenceInputDataSourceTypeMicrosoftStorageBlob type Alias BlobReferenceInputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(brids), }) } // AsBlobReferenceInputDataSource is the ReferenceInputDataSource implementation for BlobReferenceInputDataSource. func (brids BlobReferenceInputDataSource) AsBlobReferenceInputDataSource() (*BlobReferenceInputDataSource, bool) { return &brids, true } // BlobReferenceInputDataSourceProperties is the properties that are associated with a blob input containing reference // data. type BlobReferenceInputDataSourceProperties struct { StorageAccounts *[]StorageAccount `json:"storageAccounts,omitempty"` Container *string `json:"container,omitempty"` PathPattern *string `json:"pathPattern,omitempty"` DateFormat *string `json:"dateFormat,omitempty"` TimeFormat *string `json:"timeFormat,omitempty"` } // BlobStreamInputDataSource is describes a blob input data source that contains stream data. type BlobStreamInputDataSource struct { Type TypeStreamInputDataSource `json:"type,omitempty"` *BlobStreamInputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for BlobStreamInputDataSource. func (bsids BlobStreamInputDataSource) MarshalJSON() ([]byte, error) { bsids.Type = TypeStreamInputDataSourceTypeMicrosoftStorageBlob type Alias BlobStreamInputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(bsids), }) } // AsIoTHubStreamInputDataSource is the StreamInputDataSource implementation for BlobStreamInputDataSource. func (bsids BlobStreamInputDataSource) AsIoTHubStreamInputDataSource() (*IoTHubStreamInputDataSource, bool) { return nil, false } // AsEventHubStreamInputDataSource is the StreamInputDataSource implementation for BlobStreamInputDataSource. func (bsids BlobStreamInputDataSource) AsEventHubStreamInputDataSource() (*EventHubStreamInputDataSource, bool) { return nil, false } // AsBlobStreamInputDataSource is the StreamInputDataSource implementation for BlobStreamInputDataSource. func (bsids BlobStreamInputDataSource) AsBlobStreamInputDataSource() (*BlobStreamInputDataSource, bool) { return &bsids, true } // BlobStreamInputDataSourceProperties is the properties that are associated with a blob input containing stream data. type BlobStreamInputDataSourceProperties struct { StorageAccounts *[]StorageAccount `json:"storageAccounts,omitempty"` Container *string `json:"container,omitempty"` PathPattern *string `json:"pathPattern,omitempty"` DateFormat *string `json:"dateFormat,omitempty"` TimeFormat *string `json:"timeFormat,omitempty"` SourcePartitionCount *int32 `json:"sourcePartitionCount,omitempty"` } // CsvSerialization is describes how data from an input is serialized or how data is serialized when written to an // output in CSV format. type CsvSerialization struct { Type Type `json:"type,omitempty"` *CsvSerializationProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for CsvSerialization. func (cs CsvSerialization) MarshalJSON() ([]byte, error) { cs.Type = TypeCsv type Alias CsvSerialization return json.Marshal(&struct { Alias }{ Alias: (Alias)(cs), }) } // AsAvroSerialization is the Serialization implementation for CsvSerialization. func (cs CsvSerialization) AsAvroSerialization() (*AvroSerialization, bool) { return nil, false } // AsJSONSerialization is the Serialization implementation for CsvSerialization. func (cs CsvSerialization) AsJSONSerialization() (*JSONSerialization, bool) { return nil, false } // AsCsvSerialization is the Serialization implementation for CsvSerialization. func (cs CsvSerialization) AsCsvSerialization() (*CsvSerialization, bool) { return &cs, true } // CsvSerializationProperties is the properties that are associated with the CSV serialization type. type CsvSerializationProperties struct { FieldDelimiter *string `json:"fieldDelimiter,omitempty"` Encoding Encoding `json:"encoding,omitempty"` } // DiagnosticCondition is condition applicable to the resource, or to the job overall, that warrant customer attention. type DiagnosticCondition struct { Since *string `json:"since,omitempty"` Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } // Diagnostics is describes conditions applicable to the Input, Output, or the job overall, that warrant customer // attention. type Diagnostics struct { Conditions *[]DiagnosticCondition `json:"conditions,omitempty"` } // DocumentDbOutputDataSource is describes a DocumentDB output data source. type DocumentDbOutputDataSource struct { Type TypeOutputDataSource `json:"type,omitempty"` *DocumentDbOutputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) MarshalJSON() ([]byte, error) { ddods.Type = TypeMicrosoftStorageDocumentDB type Alias DocumentDbOutputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(ddods), }) } // AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { return nil, false } // AsPowerBIOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { return nil, false } // AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { return nil, false } // AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { return nil, false } // AsDocumentDbOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { return &ddods, true } // AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { return nil, false } // AsEventHubOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { return nil, false } // AsAzureTableOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { return nil, false } // AsBlobOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. func (ddods DocumentDbOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { return nil, false } // DocumentDbOutputDataSourceProperties is the properties that are associated with a DocumentDB output. type DocumentDbOutputDataSourceProperties struct { AccountID *string `json:"accountId,omitempty"` AccountKey *string `json:"accountKey,omitempty"` Database *string `json:"database,omitempty"` CollectionNamePattern *string `json:"collectionNamePattern,omitempty"` PartitionKey *string `json:"partitionKey,omitempty"` DocumentID *string `json:"documentId,omitempty"` } // ErrorResponse is describes the error that occurred. type ErrorResponse struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } // EventHubDataSourceProperties is the common properties that are associated with Event Hub data sources. type EventHubDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` SharedAccessPolicyKey *string `json:"sharedAccessPolicyKey,omitempty"` EventHubName *string `json:"eventHubName,omitempty"` } // EventHubOutputDataSource is describes an Event Hub output data source. type EventHubOutputDataSource struct { Type TypeOutputDataSource `json:"type,omitempty"` *EventHubOutputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) MarshalJSON() ([]byte, error) { ehods.Type = TypeMicrosoftServiceBusEventHub type Alias EventHubOutputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(ehods), }) } // AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { return nil, false } // AsPowerBIOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { return nil, false } // AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { return nil, false } // AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { return nil, false } // AsDocumentDbOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { return nil, false } // AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { return nil, false } // AsEventHubOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { return &ehods, true } // AsAzureTableOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { return nil, false } // AsBlobOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. func (ehods EventHubOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { return nil, false } // EventHubOutputDataSourceProperties is the properties that are associated with an Event Hub output. type EventHubOutputDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` SharedAccessPolicyKey *string `json:"sharedAccessPolicyKey,omitempty"` EventHubName *string `json:"eventHubName,omitempty"` PartitionKey *string `json:"partitionKey,omitempty"` } // EventHubStreamInputDataSource is describes an Event Hub input data source that contains stream data. type EventHubStreamInputDataSource struct { Type TypeStreamInputDataSource `json:"type,omitempty"` *EventHubStreamInputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for EventHubStreamInputDataSource. func (ehsids EventHubStreamInputDataSource) MarshalJSON() ([]byte, error) { ehsids.Type = TypeStreamInputDataSourceTypeMicrosoftServiceBusEventHub type Alias EventHubStreamInputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(ehsids), }) } // AsIoTHubStreamInputDataSource is the StreamInputDataSource implementation for EventHubStreamInputDataSource. func (ehsids EventHubStreamInputDataSource) AsIoTHubStreamInputDataSource() (*IoTHubStreamInputDataSource, bool) { return nil, false } // AsEventHubStreamInputDataSource is the StreamInputDataSource implementation for EventHubStreamInputDataSource. func (ehsids EventHubStreamInputDataSource) AsEventHubStreamInputDataSource() (*EventHubStreamInputDataSource, bool) { return &ehsids, true } // AsBlobStreamInputDataSource is the StreamInputDataSource implementation for EventHubStreamInputDataSource. func (ehsids EventHubStreamInputDataSource) AsBlobStreamInputDataSource() (*BlobStreamInputDataSource, bool) { return nil, false } // EventHubStreamInputDataSourceProperties is the properties that are associated with a Event Hub input containing // stream data. type EventHubStreamInputDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` SharedAccessPolicyKey *string `json:"sharedAccessPolicyKey,omitempty"` EventHubName *string `json:"eventHubName,omitempty"` ConsumerGroupName *string `json:"consumerGroupName,omitempty"` } // Function is a function object, containing all information associated with the named function. All functions are // contained under a streaming job. type Function struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Properties FunctionProperties `json:"properties,omitempty"` } // UnmarshalJSON is the custom unmarshaler for Function struct. func (f *Function) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { return err } var v *json.RawMessage v = m["properties"] if v != nil { properties, err := unmarshalFunctionProperties(*m["properties"]) if err != nil { return err } f.Properties = properties } v = m["id"] if v != nil { var ID string err = json.Unmarshal(*m["id"], &ID) if err != nil { return err } f.ID = &ID } v = m["name"] if v != nil { var name string err = json.Unmarshal(*m["name"], &name) if err != nil { return err } f.Name = &name } v = m["type"] if v != nil { var typeVar string err = json.Unmarshal(*m["type"], &typeVar) if err != nil { return err } f.Type = &typeVar } return nil } // FunctionBinding is the physical binding of the function. For example, in the Azure Machine Learning web service’s // case, this describes the endpoint. type FunctionBinding interface { AsJavaScriptFunctionBinding() (*JavaScriptFunctionBinding, bool) AsAzureMachineLearningWebServiceFunctionBinding() (*AzureMachineLearningWebServiceFunctionBinding, bool) } func unmarshalFunctionBinding(body []byte) (FunctionBinding, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } switch m["type"] { case string(TypeMicrosoftStreamAnalyticsJavascriptUdf): var jsfb JavaScriptFunctionBinding err := json.Unmarshal(body, &jsfb) return jsfb, err case string(TypeMicrosoftMachineLearningWebService): var amlwsfb AzureMachineLearningWebServiceFunctionBinding err := json.Unmarshal(body, &amlwsfb) return amlwsfb, err default: return nil, errors.New("Unsupported type") } } func unmarshalFunctionBindingArray(body []byte) ([]FunctionBinding, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } fbArray := make([]FunctionBinding, len(rawMessages)) for index, rawMessage := range rawMessages { fb, err := unmarshalFunctionBinding(*rawMessage) if err != nil { return nil, err } fbArray[index] = fb } return fbArray, nil } // FunctionInput is describes one input parameter of a function. type FunctionInput struct { DataType *string `json:"dataType,omitempty"` IsConfigurationParameter *bool `json:"isConfigurationParameter,omitempty"` } // FunctionListResult is object containing a list of functions under a streaming job. type FunctionListResult struct { autorest.Response `json:"-"` Value *[]Function `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // FunctionListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client FunctionListResult) FunctionListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // FunctionOutput is describes the output of a function. type FunctionOutput struct { DataType *string `json:"dataType,omitempty"` } // FunctionProperties is the properties that are associated with a function. type FunctionProperties interface { AsScalarFunctionProperties() (*ScalarFunctionProperties, bool) } func unmarshalFunctionProperties(body []byte) (FunctionProperties, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } switch m["type"] { case string(TypeScalar): var sfp ScalarFunctionProperties err := json.Unmarshal(body, &sfp) return sfp, err default: return nil, errors.New("Unsupported type") } } func unmarshalFunctionPropertiesArray(body []byte) ([]FunctionProperties, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } fpArray := make([]FunctionProperties, len(rawMessages)) for index, rawMessage := range rawMessages { fp, err := unmarshalFunctionProperties(*rawMessage) if err != nil { return nil, err } fpArray[index] = fp } return fpArray, nil } // FunctionRetrieveDefaultDefinitionParameters is parameters used to specify the type of function to retrieve the // default definition for. type FunctionRetrieveDefaultDefinitionParameters interface { AsJavaScriptFunctionRetrieveDefaultDefinitionParameters() (*JavaScriptFunctionRetrieveDefaultDefinitionParameters, bool) AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters() (*AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters, bool) } func unmarshalFunctionRetrieveDefaultDefinitionParameters(body []byte) (FunctionRetrieveDefaultDefinitionParameters, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } switch m["bindingType"] { case string(BindingTypeMicrosoftStreamAnalyticsJavascriptUdf): var jsfrddp JavaScriptFunctionRetrieveDefaultDefinitionParameters err := json.Unmarshal(body, &jsfrddp) return jsfrddp, err case string(BindingTypeMicrosoftMachineLearningWebService): var amlwsfrddp AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters err := json.Unmarshal(body, &amlwsfrddp) return amlwsfrddp, err default: return nil, errors.New("Unsupported type") } } func unmarshalFunctionRetrieveDefaultDefinitionParametersArray(body []byte) ([]FunctionRetrieveDefaultDefinitionParameters, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } frddpArray := make([]FunctionRetrieveDefaultDefinitionParameters, len(rawMessages)) for index, rawMessage := range rawMessages { frddp, err := unmarshalFunctionRetrieveDefaultDefinitionParameters(*rawMessage) if err != nil { return nil, err } frddpArray[index] = frddp } return frddpArray, nil } // Input is an input object, containing all information associated with the named input. All inputs are contained under // a streaming job. type Input struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Properties InputProperties `json:"properties,omitempty"` } // UnmarshalJSON is the custom unmarshaler for Input struct. func (i *Input) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { return err } var v *json.RawMessage v = m["properties"] if v != nil { properties, err := unmarshalInputProperties(*m["properties"]) if err != nil { return err } i.Properties = properties } v = m["id"] if v != nil { var ID string err = json.Unmarshal(*m["id"], &ID) if err != nil { return err } i.ID = &ID } v = m["name"] if v != nil { var name string err = json.Unmarshal(*m["name"], &name) if err != nil { return err } i.Name = &name } v = m["type"] if v != nil { var typeVar string err = json.Unmarshal(*m["type"], &typeVar) if err != nil { return err } i.Type = &typeVar } return nil } // InputListResult is object containing a list of inputs under a streaming job. type InputListResult struct { autorest.Response `json:"-"` Value *[]Input `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // InputListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client InputListResult) InputListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // InputProperties is the properties that are associated with an input. type InputProperties interface { AsReferenceInputProperties() (*ReferenceInputProperties, bool) AsStreamInputProperties() (*StreamInputProperties, bool) } func unmarshalInputProperties(body []byte) (InputProperties, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } switch m["type"] { case string(TypeReference): var rip ReferenceInputProperties err := json.Unmarshal(body, &rip) return rip, err case string(TypeStream): var sip StreamInputProperties err := json.Unmarshal(body, &sip) return sip, err default: return nil, errors.New("Unsupported type") } } func unmarshalInputPropertiesArray(body []byte) ([]InputProperties, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } IPArray := make([]InputProperties, len(rawMessages)) for index, rawMessage := range rawMessages { IP, err := unmarshalInputProperties(*rawMessage) if err != nil { return nil, err } IPArray[index] = IP } return IPArray, nil } // IoTHubStreamInputDataSource is describes an IoT Hub input data source that contains stream data. type IoTHubStreamInputDataSource struct { Type TypeStreamInputDataSource `json:"type,omitempty"` *IoTHubStreamInputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for IoTHubStreamInputDataSource. func (ithsids IoTHubStreamInputDataSource) MarshalJSON() ([]byte, error) { ithsids.Type = TypeStreamInputDataSourceTypeMicrosoftDevicesIotHubs type Alias IoTHubStreamInputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(ithsids), }) } // AsIoTHubStreamInputDataSource is the StreamInputDataSource implementation for IoTHubStreamInputDataSource. func (ithsids IoTHubStreamInputDataSource) AsIoTHubStreamInputDataSource() (*IoTHubStreamInputDataSource, bool) { return &ithsids, true } // AsEventHubStreamInputDataSource is the StreamInputDataSource implementation for IoTHubStreamInputDataSource. func (ithsids IoTHubStreamInputDataSource) AsEventHubStreamInputDataSource() (*EventHubStreamInputDataSource, bool) { return nil, false } // AsBlobStreamInputDataSource is the StreamInputDataSource implementation for IoTHubStreamInputDataSource. func (ithsids IoTHubStreamInputDataSource) AsBlobStreamInputDataSource() (*BlobStreamInputDataSource, bool) { return nil, false } // IoTHubStreamInputDataSourceProperties is the properties that are associated with a IoT Hub input containing stream // data. type IoTHubStreamInputDataSourceProperties struct { IotHubNamespace *string `json:"iotHubNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` SharedAccessPolicyKey *string `json:"sharedAccessPolicyKey,omitempty"` ConsumerGroupName *string `json:"consumerGroupName,omitempty"` Endpoint *string `json:"endpoint,omitempty"` } // JavaScriptFunctionBinding is the binding to a JavaScript function. type JavaScriptFunctionBinding struct { Type TypeFunctionBinding `json:"type,omitempty"` *JavaScriptFunctionBindingProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for JavaScriptFunctionBinding. func (jsfb JavaScriptFunctionBinding) MarshalJSON() ([]byte, error) { jsfb.Type = TypeMicrosoftStreamAnalyticsJavascriptUdf type Alias JavaScriptFunctionBinding return json.Marshal(&struct { Alias }{ Alias: (Alias)(jsfb), }) } // AsJavaScriptFunctionBinding is the FunctionBinding implementation for JavaScriptFunctionBinding. func (jsfb JavaScriptFunctionBinding) AsJavaScriptFunctionBinding() (*JavaScriptFunctionBinding, bool) { return &jsfb, true } // AsAzureMachineLearningWebServiceFunctionBinding is the FunctionBinding implementation for JavaScriptFunctionBinding. func (jsfb JavaScriptFunctionBinding) AsAzureMachineLearningWebServiceFunctionBinding() (*AzureMachineLearningWebServiceFunctionBinding, bool) { return nil, false } // JavaScriptFunctionBindingProperties is the binding properties associated with a JavaScript function. type JavaScriptFunctionBindingProperties struct { Script *string `json:"script,omitempty"` } // JavaScriptFunctionBindingRetrievalProperties is the binding retrieval properties associated with a JavaScript // function. type JavaScriptFunctionBindingRetrievalProperties struct { Script *string `json:"script,omitempty"` UdfType UdfType `json:"udfType,omitempty"` } // JavaScriptFunctionRetrieveDefaultDefinitionParameters is the parameters needed to retrieve the default function // definition for a JavaScript function. type JavaScriptFunctionRetrieveDefaultDefinitionParameters struct { BindingType BindingType `json:"bindingType,omitempty"` *JavaScriptFunctionBindingRetrievalProperties `json:"bindingRetrievalProperties,omitempty"` } // MarshalJSON is the custom marshaler for JavaScriptFunctionRetrieveDefaultDefinitionParameters. func (jsfrddp JavaScriptFunctionRetrieveDefaultDefinitionParameters) MarshalJSON() ([]byte, error) { jsfrddp.BindingType = BindingTypeMicrosoftStreamAnalyticsJavascriptUdf type Alias JavaScriptFunctionRetrieveDefaultDefinitionParameters return json.Marshal(&struct { Alias }{ Alias: (Alias)(jsfrddp), }) } // AsJavaScriptFunctionRetrieveDefaultDefinitionParameters is the FunctionRetrieveDefaultDefinitionParameters implementation for JavaScriptFunctionRetrieveDefaultDefinitionParameters. func (jsfrddp JavaScriptFunctionRetrieveDefaultDefinitionParameters) AsJavaScriptFunctionRetrieveDefaultDefinitionParameters() (*JavaScriptFunctionRetrieveDefaultDefinitionParameters, bool) { return &jsfrddp, true } // AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters is the FunctionRetrieveDefaultDefinitionParameters implementation for JavaScriptFunctionRetrieveDefaultDefinitionParameters. func (jsfrddp JavaScriptFunctionRetrieveDefaultDefinitionParameters) AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters() (*AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters, bool) { return nil, false } // JSONSerialization is describes how data from an input is serialized or how data is serialized when written to an // output in JSON format. type JSONSerialization struct { Type Type `json:"type,omitempty"` *JSONSerializationProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for JSONSerialization. func (js JSONSerialization) MarshalJSON() ([]byte, error) { js.Type = TypeJSON type Alias JSONSerialization return json.Marshal(&struct { Alias }{ Alias: (Alias)(js), }) } // AsAvroSerialization is the Serialization implementation for JSONSerialization. func (js JSONSerialization) AsAvroSerialization() (*AvroSerialization, bool) { return nil, false } // AsJSONSerialization is the Serialization implementation for JSONSerialization. func (js JSONSerialization) AsJSONSerialization() (*JSONSerialization, bool) { return &js, true } // AsCsvSerialization is the Serialization implementation for JSONSerialization. func (js JSONSerialization) AsCsvSerialization() (*CsvSerialization, bool) { return nil, false } // JSONSerializationProperties is the properties that are associated with the JSON serialization type. type JSONSerializationProperties struct { Encoding Encoding `json:"encoding,omitempty"` Format JSONOutputSerializationFormat `json:"format,omitempty"` } // OAuthBasedDataSourceProperties is the properties that are associated with data sources that use OAuth as their // authentication model. type OAuthBasedDataSourceProperties struct { RefreshToken *string `json:"refreshToken,omitempty"` TokenUserPrincipalName *string `json:"tokenUserPrincipalName,omitempty"` TokenUserDisplayName *string `json:"tokenUserDisplayName,omitempty"` } // Operation is a Stream Analytics REST API operation type Operation struct { Name *string `json:"name,omitempty"` Display *OperationDisplay `json:"display,omitempty"` } // OperationDisplay is contains the localized display information for this particular operation / action. type OperationDisplay struct { Provider *string `json:"provider,omitempty"` Resource *string `json:"resource,omitempty"` Operation *string `json:"operation,omitempty"` Description *string `json:"description,omitempty"` } // OperationListResult is result of the request to list Stream Analytics operations. It contains a list of operations // and a URL link to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // OperationListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client OperationListResult) OperationListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // Output is an output object, containing all information associated with the named output. All outputs are contained // under a streaming job. type Output struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` *OutputProperties `json:"properties,omitempty"` } // OutputDataSource is describes the data source that output will be written to. type OutputDataSource interface { AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) } func unmarshalOutputDataSource(body []byte) (OutputDataSource, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } switch m["type"] { case string(TypeMicrosoftDataLakeAccounts): var adlsods AzureDataLakeStoreOutputDataSource err := json.Unmarshal(body, &adlsods) return adlsods, err case string(TypePowerBI): var pbods PowerBIOutputDataSource err := json.Unmarshal(body, &pbods) return pbods, err case string(TypeMicrosoftServiceBusTopic): var sbtods ServiceBusTopicOutputDataSource err := json.Unmarshal(body, &sbtods) return sbtods, err case string(TypeMicrosoftServiceBusQueue): var sbqods ServiceBusQueueOutputDataSource err := json.Unmarshal(body, &sbqods) return sbqods, err case string(TypeMicrosoftStorageDocumentDB): var ddods DocumentDbOutputDataSource err := json.Unmarshal(body, &ddods) return ddods, err case string(TypeMicrosoftSQLServerDatabase): var asdods AzureSQLDatabaseOutputDataSource err := json.Unmarshal(body, &asdods) return asdods, err case string(TypeMicrosoftServiceBusEventHub): var ehods EventHubOutputDataSource err := json.Unmarshal(body, &ehods) return ehods, err case string(TypeMicrosoftStorageTable): var atods AzureTableOutputDataSource err := json.Unmarshal(body, &atods) return atods, err case string(TypeMicrosoftStorageBlob): var bods BlobOutputDataSource err := json.Unmarshal(body, &bods) return bods, err default: return nil, errors.New("Unsupported type") } } func unmarshalOutputDataSourceArray(body []byte) ([]OutputDataSource, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } odsArray := make([]OutputDataSource, len(rawMessages)) for index, rawMessage := range rawMessages { ods, err := unmarshalOutputDataSource(*rawMessage) if err != nil { return nil, err } odsArray[index] = ods } return odsArray, nil } // OutputListResult is object containing a list of outputs under a streaming job. type OutputListResult struct { autorest.Response `json:"-"` Value *[]Output `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // OutputListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client OutputListResult) OutputListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // OutputProperties is the properties that are associated with an output. type OutputProperties struct { Datasource OutputDataSource `json:"datasource,omitempty"` Serialization Serialization `json:"serialization,omitempty"` Diagnostics *Diagnostics `json:"diagnostics,omitempty"` Etag *string `json:"etag,omitempty"` } // UnmarshalJSON is the custom unmarshaler for OutputProperties struct. func (op *OutputProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { return err } var v *json.RawMessage v = m["datasource"] if v != nil { datasource, err := unmarshalOutputDataSource(*m["datasource"]) if err != nil { return err } op.Datasource = datasource } v = m["serialization"] if v != nil { serialization, err := unmarshalSerialization(*m["serialization"]) if err != nil { return err } op.Serialization = serialization } v = m["diagnostics"] if v != nil { var diagnostics Diagnostics err = json.Unmarshal(*m["diagnostics"], &diagnostics) if err != nil { return err } op.Diagnostics = &diagnostics } v = m["etag"] if v != nil { var etag string err = json.Unmarshal(*m["etag"], &etag) if err != nil { return err } op.Etag = &etag } return nil } // PowerBIOutputDataSource is describes a Power BI output data source. type PowerBIOutputDataSource struct { Type TypeOutputDataSource `json:"type,omitempty"` *PowerBIOutputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) MarshalJSON() ([]byte, error) { pbods.Type = TypePowerBI type Alias PowerBIOutputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(pbods), }) } // AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { return nil, false } // AsPowerBIOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { return &pbods, true } // AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { return nil, false } // AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { return nil, false } // AsDocumentDbOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { return nil, false } // AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { return nil, false } // AsEventHubOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { return nil, false } // AsAzureTableOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { return nil, false } // AsBlobOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. func (pbods PowerBIOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { return nil, false } // PowerBIOutputDataSourceProperties is the properties that are associated with a Power BI output. type PowerBIOutputDataSourceProperties struct { RefreshToken *string `json:"refreshToken,omitempty"` TokenUserPrincipalName *string `json:"tokenUserPrincipalName,omitempty"` TokenUserDisplayName *string `json:"tokenUserDisplayName,omitempty"` Dataset *string `json:"dataset,omitempty"` Table *string `json:"table,omitempty"` GroupID *string `json:"groupId,omitempty"` GroupName *string `json:"groupName,omitempty"` } // ReferenceInputDataSource is describes an input data source that contains reference data. type ReferenceInputDataSource interface { AsBlobReferenceInputDataSource() (*BlobReferenceInputDataSource, bool) } func unmarshalReferenceInputDataSource(body []byte) (ReferenceInputDataSource, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } switch m["type"] { case string(TypeReferenceInputDataSourceTypeMicrosoftStorageBlob): var brids BlobReferenceInputDataSource err := json.Unmarshal(body, &brids) return brids, err default: return nil, errors.New("Unsupported type") } } func unmarshalReferenceInputDataSourceArray(body []byte) ([]ReferenceInputDataSource, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } ridsArray := make([]ReferenceInputDataSource, len(rawMessages)) for index, rawMessage := range rawMessages { rids, err := unmarshalReferenceInputDataSource(*rawMessage) if err != nil { return nil, err } ridsArray[index] = rids } return ridsArray, nil } // ReferenceInputProperties is the properties that are associated with an input containing reference data. type ReferenceInputProperties struct { Serialization Serialization `json:"serialization,omitempty"` Diagnostics *Diagnostics `json:"diagnostics,omitempty"` Etag *string `json:"etag,omitempty"` Type TypeInputProperties `json:"type,omitempty"` Datasource ReferenceInputDataSource `json:"datasource,omitempty"` } // MarshalJSON is the custom marshaler for ReferenceInputProperties. func (rip ReferenceInputProperties) MarshalJSON() ([]byte, error) { rip.Type = TypeReference type Alias ReferenceInputProperties return json.Marshal(&struct { Alias }{ Alias: (Alias)(rip), }) } // AsReferenceInputProperties is the InputProperties implementation for ReferenceInputProperties. func (rip ReferenceInputProperties) AsReferenceInputProperties() (*ReferenceInputProperties, bool) { return &rip, true } // AsStreamInputProperties is the InputProperties implementation for ReferenceInputProperties. func (rip ReferenceInputProperties) AsStreamInputProperties() (*StreamInputProperties, bool) { return nil, false } // UnmarshalJSON is the custom unmarshaler for ReferenceInputProperties struct. func (rip *ReferenceInputProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { return err } var v *json.RawMessage v = m["datasource"] if v != nil { datasource, err := unmarshalReferenceInputDataSource(*m["datasource"]) if err != nil { return err } rip.Datasource = datasource } v = m["serialization"] if v != nil { serialization, err := unmarshalSerialization(*m["serialization"]) if err != nil { return err } rip.Serialization = serialization } v = m["diagnostics"] if v != nil { var diagnostics Diagnostics err = json.Unmarshal(*m["diagnostics"], &diagnostics) if err != nil { return err } rip.Diagnostics = &diagnostics } v = m["etag"] if v != nil { var etag string err = json.Unmarshal(*m["etag"], &etag) if err != nil { return err } rip.Etag = &etag } v = m["type"] if v != nil { var typeVar TypeInputProperties err = json.Unmarshal(*m["type"], &typeVar) if err != nil { return err } rip.Type = typeVar } return nil } // Resource is the base resource model definition. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` } // ResourceTestStatus is describes the status of the test operation along with error information, if applicable. type ResourceTestStatus struct { autorest.Response `json:"-"` Status *string `json:"status,omitempty"` Error *ErrorResponse `json:"error,omitempty"` } // ScalarFunctionConfiguration is describes the configuration of the scalar function. type ScalarFunctionConfiguration struct { Inputs *[]FunctionInput `json:"inputs,omitempty"` Output *FunctionOutput `json:"output,omitempty"` Binding FunctionBinding `json:"binding,omitempty"` } // UnmarshalJSON is the custom unmarshaler for ScalarFunctionConfiguration struct. func (sfc *ScalarFunctionConfiguration) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { return err } var v *json.RawMessage v = m["inputs"] if v != nil { var inputs []FunctionInput err = json.Unmarshal(*m["inputs"], &inputs) if err != nil { return err } sfc.Inputs = &inputs } v = m["output"] if v != nil { var output FunctionOutput err = json.Unmarshal(*m["output"], &output) if err != nil { return err } sfc.Output = &output } v = m["binding"] if v != nil { binding, err := unmarshalFunctionBinding(*m["binding"]) if err != nil { return err } sfc.Binding = binding } return nil } // ScalarFunctionProperties is the properties that are associated with a scalar function. type ScalarFunctionProperties struct { Etag *string `json:"etag,omitempty"` Type TypeFunctionProperties `json:"type,omitempty"` *ScalarFunctionConfiguration `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for ScalarFunctionProperties. func (sfp ScalarFunctionProperties) MarshalJSON() ([]byte, error) { sfp.Type = TypeScalar type Alias ScalarFunctionProperties return json.Marshal(&struct { Alias }{ Alias: (Alias)(sfp), }) } // AsScalarFunctionProperties is the FunctionProperties implementation for ScalarFunctionProperties. func (sfp ScalarFunctionProperties) AsScalarFunctionProperties() (*ScalarFunctionProperties, bool) { return &sfp, true } // Serialization is describes how data from an input is serialized or how data is serialized when written to an output. type Serialization interface { AsAvroSerialization() (*AvroSerialization, bool) AsJSONSerialization() (*JSONSerialization, bool) AsCsvSerialization() (*CsvSerialization, bool) } func unmarshalSerialization(body []byte) (Serialization, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } switch m["type"] { case string(TypeAvro): var as AvroSerialization err := json.Unmarshal(body, &as) return as, err case string(TypeJSON): var js JSONSerialization err := json.Unmarshal(body, &js) return js, err case string(TypeCsv): var cs CsvSerialization err := json.Unmarshal(body, &cs) return cs, err default: return nil, errors.New("Unsupported type") } } func unmarshalSerializationArray(body []byte) ([]Serialization, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } sArray := make([]Serialization, len(rawMessages)) for index, rawMessage := range rawMessages { s, err := unmarshalSerialization(*rawMessage) if err != nil { return nil, err } sArray[index] = s } return sArray, nil } // ServiceBusDataSourceProperties is the common properties that are associated with Service Bus data sources (Queues, // Topics, Event Hubs, etc.). type ServiceBusDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` SharedAccessPolicyKey *string `json:"sharedAccessPolicyKey,omitempty"` } // ServiceBusQueueOutputDataSource is describes a Service Bus Queue output data source. type ServiceBusQueueOutputDataSource struct { Type TypeOutputDataSource `json:"type,omitempty"` *ServiceBusQueueOutputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) MarshalJSON() ([]byte, error) { sbqods.Type = TypeMicrosoftServiceBusQueue type Alias ServiceBusQueueOutputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(sbqods), }) } // AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { return nil, false } // AsPowerBIOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { return nil, false } // AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { return nil, false } // AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { return &sbqods, true } // AsDocumentDbOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { return nil, false } // AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { return nil, false } // AsEventHubOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { return nil, false } // AsAzureTableOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { return nil, false } // AsBlobOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. func (sbqods ServiceBusQueueOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { return nil, false } // ServiceBusQueueOutputDataSourceProperties is the properties that are associated with a Service Bus Queue output. type ServiceBusQueueOutputDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` SharedAccessPolicyKey *string `json:"sharedAccessPolicyKey,omitempty"` QueueName *string `json:"queueName,omitempty"` PropertyColumns *[]string `json:"propertyColumns,omitempty"` } // ServiceBusTopicOutputDataSource is describes a Service Bus Topic output data source. type ServiceBusTopicOutputDataSource struct { Type TypeOutputDataSource `json:"type,omitempty"` *ServiceBusTopicOutputDataSourceProperties `json:"properties,omitempty"` } // MarshalJSON is the custom marshaler for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) MarshalJSON() ([]byte, error) { sbtods.Type = TypeMicrosoftServiceBusTopic type Alias ServiceBusTopicOutputDataSource return json.Marshal(&struct { Alias }{ Alias: (Alias)(sbtods), }) } // AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { return nil, false } // AsPowerBIOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { return nil, false } // AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { return &sbtods, true } // AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { return nil, false } // AsDocumentDbOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { return nil, false } // AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { return nil, false } // AsEventHubOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { return nil, false } // AsAzureTableOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { return nil, false } // AsBlobOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. func (sbtods ServiceBusTopicOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { return nil, false } // ServiceBusTopicOutputDataSourceProperties is the properties that are associated with a Service Bus Topic output. type ServiceBusTopicOutputDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` SharedAccessPolicyKey *string `json:"sharedAccessPolicyKey,omitempty"` TopicName *string `json:"topicName,omitempty"` PropertyColumns *[]string `json:"propertyColumns,omitempty"` } // Sku is the properties that are associated with a SKU. type Sku struct { Name SkuName `json:"name,omitempty"` } // StartStreamingJobParameters is parameters supplied to the Start Streaming Job operation. type StartStreamingJobParameters struct { OutputStartMode OutputStartMode `json:"outputStartMode,omitempty"` OutputStartTime *date.Time `json:"outputStartTime,omitempty"` } // StorageAccount is the properties that are associated with an Azure Storage account type StorageAccount struct { AccountName *string `json:"accountName,omitempty"` AccountKey *string `json:"accountKey,omitempty"` } // StreamingJob is a streamng job object, containing all information associated with the named streaming job. type StreamingJob struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` *StreamingJobProperties `json:"properties,omitempty"` } // StreamingJobListResult is object containing a list of streaming jobs. type StreamingJobListResult struct { autorest.Response `json:"-"` Value *[]StreamingJob `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // StreamingJobListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client StreamingJobListResult) StreamingJobListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // StreamingJobProperties is the properties that are associated with a streaming job. type StreamingJobProperties struct { Sku *Sku `json:"sku,omitempty"` JobID *string `json:"jobId,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` JobState *string `json:"jobState,omitempty"` OutputStartMode OutputStartMode `json:"outputStartMode,omitempty"` OutputStartTime *date.Time `json:"outputStartTime,omitempty"` LastOutputEventTime *date.Time `json:"lastOutputEventTime,omitempty"` EventsOutOfOrderPolicy EventsOutOfOrderPolicy `json:"eventsOutOfOrderPolicy,omitempty"` OutputErrorPolicy OutputErrorPolicy `json:"outputErrorPolicy,omitempty"` EventsOutOfOrderMaxDelayInSeconds *int32 `json:"eventsOutOfOrderMaxDelayInSeconds,omitempty"` EventsLateArrivalMaxDelayInSeconds *int32 `json:"eventsLateArrivalMaxDelayInSeconds,omitempty"` DataLocale *string `json:"dataLocale,omitempty"` CompatibilityLevel CompatibilityLevel `json:"compatibilityLevel,omitempty"` CreatedDate *date.Time `json:"createdDate,omitempty"` Inputs *[]Input `json:"inputs,omitempty"` Transformation *Transformation `json:"transformation,omitempty"` Outputs *[]Output `json:"outputs,omitempty"` Functions *[]Function `json:"functions,omitempty"` Etag *string `json:"etag,omitempty"` } // StreamInputDataSource is describes an input data source that contains stream data. type StreamInputDataSource interface { AsIoTHubStreamInputDataSource() (*IoTHubStreamInputDataSource, bool) AsEventHubStreamInputDataSource() (*EventHubStreamInputDataSource, bool) AsBlobStreamInputDataSource() (*BlobStreamInputDataSource, bool) } func unmarshalStreamInputDataSource(body []byte) (StreamInputDataSource, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } switch m["type"] { case string(TypeStreamInputDataSourceTypeMicrosoftDevicesIotHubs): var ithsids IoTHubStreamInputDataSource err := json.Unmarshal(body, &ithsids) return ithsids, err case string(TypeStreamInputDataSourceTypeMicrosoftServiceBusEventHub): var ehsids EventHubStreamInputDataSource err := json.Unmarshal(body, &ehsids) return ehsids, err case string(TypeStreamInputDataSourceTypeMicrosoftStorageBlob): var bsids BlobStreamInputDataSource err := json.Unmarshal(body, &bsids) return bsids, err default: return nil, errors.New("Unsupported type") } } func unmarshalStreamInputDataSourceArray(body []byte) ([]StreamInputDataSource, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } sidsArray := make([]StreamInputDataSource, len(rawMessages)) for index, rawMessage := range rawMessages { sids, err := unmarshalStreamInputDataSource(*rawMessage) if err != nil { return nil, err } sidsArray[index] = sids } return sidsArray, nil } // StreamInputProperties is the properties that are associated with an input containing stream data. type StreamInputProperties struct { Serialization Serialization `json:"serialization,omitempty"` Diagnostics *Diagnostics `json:"diagnostics,omitempty"` Etag *string `json:"etag,omitempty"` Type TypeInputProperties `json:"type,omitempty"` Datasource StreamInputDataSource `json:"datasource,omitempty"` } // MarshalJSON is the custom marshaler for StreamInputProperties. func (sip StreamInputProperties) MarshalJSON() ([]byte, error) { sip.Type = TypeStream type Alias StreamInputProperties return json.Marshal(&struct { Alias }{ Alias: (Alias)(sip), }) } // AsReferenceInputProperties is the InputProperties implementation for StreamInputProperties. func (sip StreamInputProperties) AsReferenceInputProperties() (*ReferenceInputProperties, bool) { return nil, false } // AsStreamInputProperties is the InputProperties implementation for StreamInputProperties. func (sip StreamInputProperties) AsStreamInputProperties() (*StreamInputProperties, bool) { return &sip, true } // UnmarshalJSON is the custom unmarshaler for StreamInputProperties struct. func (sip *StreamInputProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { return err } var v *json.RawMessage v = m["datasource"] if v != nil { datasource, err := unmarshalStreamInputDataSource(*m["datasource"]) if err != nil { return err } sip.Datasource = datasource } v = m["serialization"] if v != nil { serialization, err := unmarshalSerialization(*m["serialization"]) if err != nil { return err } sip.Serialization = serialization } v = m["diagnostics"] if v != nil { var diagnostics Diagnostics err = json.Unmarshal(*m["diagnostics"], &diagnostics) if err != nil { return err } sip.Diagnostics = &diagnostics } v = m["etag"] if v != nil { var etag string err = json.Unmarshal(*m["etag"], &etag) if err != nil { return err } sip.Etag = &etag } v = m["type"] if v != nil { var typeVar TypeInputProperties err = json.Unmarshal(*m["type"], &typeVar) if err != nil { return err } sip.Type = typeVar } return nil } // SubResource is the base sub-resource model definition. type SubResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` } // SubscriptionQuota is describes the current quota for the subscription. type SubscriptionQuota struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` *SubscriptionQuotaProperties `json:"properties,omitempty"` } // SubscriptionQuotaProperties is describes the properties of the quota. type SubscriptionQuotaProperties struct { MaxCount *int32 `json:"maxCount,omitempty"` CurrentCount *int32 `json:"currentCount,omitempty"` } // SubscriptionQuotasListResult is result of the GetQuotas operation. It contains a list of quotas for the subscription // in a particular region. type SubscriptionQuotasListResult struct { autorest.Response `json:"-"` Value *[]SubscriptionQuota `json:"value,omitempty"` } // Transformation is a transformation object, containing all information associated with the named transformation. All // transformations are contained under a streaming job. type Transformation struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` *TransformationProperties `json:"properties,omitempty"` } // TransformationProperties is the properties that are associated with a transformation. type TransformationProperties struct { StreamingUnits *int32 `json:"streamingUnits,omitempty"` Query *string `json:"query,omitempty"` Etag *string `json:"etag,omitempty"` }