UNPKG

@azure/arm-monitor

Version:
6,549 lines 191 kB
/*
 * Copyright (c) Microsoft Corporation.
 * Licensed under the MIT License.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 * Changes may cause incorrect behavior and will be lost if the code is regenerated.
 */
export const AutoscaleSettingResourceCollection = {
    type: {
        name: "Composite",
        className: "AutoscaleSettingResourceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AutoscaleSettingResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AutoscaleProfile = {
    type: {
        name: "Composite",
        className: "AutoscaleProfile",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            capacity: {
                serializedName: "capacity",
                type: {
                    name: "Composite",
                    className: "ScaleCapacity"
                }
            },
            rules: {
                serializedName: "rules",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ScaleRule"
                        }
                    }
                }
            },
            fixedDate: {
                serializedName: "fixedDate",
                type: {
                    name: "Composite",
                    className: "TimeWindow"
                }
            },
            recurrence: {
                serializedName: "recurrence",
                type: {
                    name: "Composite",
                    className: "Recurrence"
                }
            }
        }
    }
};
export const ScaleCapacity = {
    type: {
        name: "Composite",
        className: "ScaleCapacity",
        modelProperties: {
            minimum: {
                serializedName: "minimum",
                required: true,
                type: {
                    name: "String"
                }
            },
            maximum: {
                serializedName: "maximum",
                required: true,
                type: {
                    name: "String"
                }
            },
            default: {
                serializedName: "default",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ScaleRule = {
    type: {
        name: "Composite",
        className: "ScaleRule",
        modelProperties: {
            metricTrigger: {
                serializedName: "metricTrigger",
                type: {
                    name: "Composite",
                    className: "MetricTrigger"
                }
            },
            scaleAction: {
                serializedName: "scaleAction",
                type: {
                    name: "Composite",
                    className: "ScaleAction"
                }
            }
        }
    }
};
export const MetricTrigger = {
    type: {
        name: "Composite",
        className: "MetricTrigger",
        modelProperties: {
            metricName: {
                serializedName: "metricName",
                required: true,
                type: {
                    name: "String"
                }
            },
            metricNamespace: {
                serializedName: "metricNamespace",
                type: {
                    name: "String"
                }
            },
            metricResourceUri: {
                serializedName: "metricResourceUri",
                required: true,
                type: {
                    name: "String"
                }
            },
            metricResourceLocation: {
                serializedName: "metricResourceLocation",
                type: {
                    name: "String"
                }
            },
            timeGrain: {
                serializedName: "timeGrain",
                required: true,
                type: {
                    name: "TimeSpan"
                }
            },
            statistic: {
                serializedName: "statistic",
                required: true,
                type: {
                    name: "Enum",
                    allowedValues: ["Average", "Min", "Max", "Sum", "Count"]
                }
            },
            timeWindow: {
                serializedName: "timeWindow",
                required: true,
                type: {
                    name: "TimeSpan"
                }
            },
            timeAggregation: {
                serializedName: "timeAggregation",
                required: true,
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Average",
                        "Minimum",
                        "Maximum",
                        "Total",
                        "Count",
                        "Last"
                    ]
                }
            },
            operator: {
                serializedName: "operator",
                required: true,
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Equals",
                        "NotEquals",
                        "GreaterThan",
                        "GreaterThanOrEqual",
                        "LessThan",
                        "LessThanOrEqual"
                    ]
                }
            },
            threshold: {
                serializedName: "threshold",
                required: true,
                type: {
                    name: "Number"
                }
            },
            dimensions: {
                serializedName: "dimensions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ScaleRuleMetricDimension"
                        }
                    }
                }
            },
            dividePerInstance: {
                serializedName: "dividePerInstance",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const ScaleRuleMetricDimension = {
    type: {
        name: "Composite",
        className: "ScaleRuleMetricDimension",
        modelProperties: {
            dimensionName: {
                serializedName: "DimensionName",
                required: true,
                type: {
                    name: "String"
                }
            },
            operator: {
                serializedName: "Operator",
                required: true,
                type: {
                    name: "String"
                }
            },
            values: {
                serializedName: "Values",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const ScaleAction = {
    type: {
        name: "Composite",
        className: "ScaleAction",
        modelProperties: {
            direction: {
                serializedName: "direction",
                required: true,
                type: {
                    name: "Enum",
                    allowedValues: ["None", "Increase", "Decrease"]
                }
            },
            type: {
                serializedName: "type",
                required: true,
                type: {
                    name: "Enum",
                    allowedValues: [
                        "ChangeCount",
                        "PercentChangeCount",
                        "ExactCount",
                        "ServiceAllowedNextValue"
                    ]
                }
            },
            value: {
                defaultValue: "1",
                serializedName: "value",
                type: {
                    name: "String"
                }
            },
            cooldown: {
                serializedName: "cooldown",
                required: true,
                type: {
                    name: "TimeSpan"
                }
            }
        }
    }
};
export const TimeWindow = {
    type: {
        name: "Composite",
        className: "TimeWindow",
        modelProperties: {
            timeZone: {
                serializedName: "timeZone",
                type: {
                    name: "String"
                }
            },
            start: {
                serializedName: "start",
                required: true,
                type: {
                    name: "DateTime"
                }
            },
            end: {
                serializedName: "end",
                required: true,
                type: {
                    name: "DateTime"
                }
            }
        }
    }
};
export const Recurrence = {
    type: {
        name: "Composite",
        className: "Recurrence",
        modelProperties: {
            frequency: {
                serializedName: "frequency",
                required: true,
                type: {
                    name: "Enum",
                    allowedValues: [
                        "None",
                        "Second",
                        "Minute",
                        "Hour",
                        "Day",
                        "Week",
                        "Month",
                        "Year"
                    ]
                }
            },
            schedule: {
                serializedName: "schedule",
                type: {
                    name: "Composite",
                    className: "RecurrentSchedule"
                }
            }
        }
    }
};
export const RecurrentSchedule = {
    type: {
        name: "Composite",
        className: "RecurrentSchedule",
        modelProperties: {
            timeZone: {
                serializedName: "timeZone",
                required: true,
                type: {
                    name: "String"
                }
            },
            days: {
                serializedName: "days",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            hours: {
                serializedName: "hours",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Number"
                        }
                    }
                }
            },
            minutes: {
                serializedName: "minutes",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Number"
                        }
                    }
                }
            }
        }
    }
};
export const AutoscaleNotification = {
    type: {
        name: "Composite",
        className: "AutoscaleNotification",
        modelProperties: {
            operation: {
                defaultValue: "Scale",
                isConstant: true,
                serializedName: "operation",
                type: {
                    name: "String"
                }
            },
            email: {
                serializedName: "email",
                type: {
                    name: "Composite",
                    className: "EmailNotification"
                }
            },
            webhooks: {
                serializedName: "webhooks",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WebhookNotification"
                        }
                    }
                }
            }
        }
    }
};
export const EmailNotification = {
    type: {
        name: "Composite",
        className: "EmailNotification",
        modelProperties: {
            sendToSubscriptionAdministrator: {
                defaultValue: false,
                serializedName: "sendToSubscriptionAdministrator",
                type: {
                    name: "Boolean"
                }
            },
            sendToSubscriptionCoAdministrators: {
                defaultValue: false,
                serializedName: "sendToSubscriptionCoAdministrators",
                type: {
                    name: "Boolean"
                }
            },
            customEmails: {
                serializedName: "customEmails",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const WebhookNotification = {
    type: {
        name: "Composite",
        className: "WebhookNotification",
        modelProperties: {
            serviceUri: {
                serializedName: "serviceUri",
                type: {
                    name: "String"
                }
            },
            properties: {
                serializedName: "properties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const Resource = {
    type: {
        name: "Composite",
        className: "Resource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                required: true,
                type: {
                    name: "String"
                }
            },
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const ErrorResponse = {
    type: {
        name: "Composite",
        className: "ErrorResponse",
        modelProperties: {
            code: {
                serializedName: "code",
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AutoscaleSettingResourcePatch = {
    type: {
        name: "Composite",
        className: "AutoscaleSettingResourcePatch",
        modelProperties: {
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            profiles: {
                constraints: {
                    MaxItems: 20
                },
                serializedName: "properties.profiles",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AutoscaleProfile"
                        }
                    }
                }
            },
            notifications: {
                serializedName: "properties.notifications",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AutoscaleNotification"
                        }
                    }
                }
            },
            enabled: {
                defaultValue: true,
                serializedName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            },
            name: {
                serializedName: "properties.name",
                type: {
                    name: "String"
                }
            },
            targetResourceUri: {
                serializedName: "properties.targetResourceUri",
                type: {
                    name: "String"
                }
            },
            targetResourceLocation: {
                serializedName: "properties.targetResourceLocation",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const OperationListResult = {
    type: {
        name: "Composite",
        className: "OperationListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Operation"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Operation = {
    type: {
        name: "Composite",
        className: "Operation",
        modelProperties: {
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            },
            display: {
                serializedName: "display",
                type: {
                    name: "Composite",
                    className: "OperationDisplay"
                }
            }
        }
    }
};
export const OperationDisplay = {
    type: {
        name: "Composite",
        className: "OperationDisplay",
        modelProperties: {
            provider: {
                serializedName: "provider",
                type: {
                    name: "String"
                }
            },
            resource: {
                serializedName: "resource",
                type: {
                    name: "String"
                }
            },
            operation: {
                serializedName: "operation",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Incident = {
    type: {
        name: "Composite",
        className: "Incident",
        modelProperties: {
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            ruleName: {
                serializedName: "ruleName",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            isActive: {
                serializedName: "isActive",
                readOnly: true,
                type: {
                    name: "Boolean"
                }
            },
            activatedTime: {
                serializedName: "activatedTime",
                readOnly: true,
                type: {
                    name: "DateTime"
                }
            },
            resolvedTime: {
                serializedName: "resolvedTime",
                readOnly: true,
                type: {
                    name: "DateTime"
                }
            }
        }
    }
};
export const IncidentListResult = {
    type: {
        name: "Composite",
        className: "IncidentListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Incident"
                        }
                    }
                }
            }
        }
    }
};
export const RuleCondition = {
    type: {
        name: "Composite",
        className: "RuleCondition",
        uberParent: "RuleCondition",
        polymorphicDiscriminator: {
            serializedName: "odata\\.type",
            clientName: "odataType"
        },
        modelProperties: {
            odataType: {
                serializedName: "odata\\.type",
                required: true,
                type: {
                    name: "String"
                }
            },
            dataSource: {
                serializedName: "dataSource",
                type: {
                    name: "Composite",
                    className: "RuleDataSource"
                }
            }
        }
    }
};
export const RuleDataSource = {
    type: {
        name: "Composite",
        className: "RuleDataSource",
        uberParent: "RuleDataSource",
        polymorphicDiscriminator: {
            serializedName: "odata\\.type",
            clientName: "odataType"
        },
        modelProperties: {
            odataType: {
                serializedName: "odata\\.type",
                required: true,
                type: {
                    name: "String"
                }
            },
            resourceUri: {
                serializedName: "resourceUri",
                type: {
                    name: "String"
                }
            },
            legacyResourceId: {
                serializedName: "legacyResourceId",
                type: {
                    name: "String"
                }
            },
            resourceLocation: {
                serializedName: "resourceLocation",
                type: {
                    name: "String"
                }
            },
            metricNamespace: {
                serializedName: "metricNamespace",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const RuleAction = {
    type: {
        name: "Composite",
        className: "RuleAction",
        uberParent: "RuleAction",
        polymorphicDiscriminator: {
            serializedName: "odata\\.type",
            clientName: "odataType"
        },
        modelProperties: {
            odataType: {
                serializedName: "odata\\.type",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AlertRuleResourcePatch = {
    type: {
        name: "Composite",
        className: "AlertRuleResourcePatch",
        modelProperties: {
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            name: {
                serializedName: "properties.name",
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "properties.description",
                type: {
                    name: "String"
                }
            },
            provisioningState: {
                serializedName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            },
            isEnabled: {
                serializedName: "properties.isEnabled",
                type: {
                    name: "Boolean"
                }
            },
            condition: {
                serializedName: "properties.condition",
                type: {
                    name: "Composite",
                    className: "RuleCondition"
                }
            },
            action: {
                serializedName: "properties.action",
                type: {
                    name: "Composite",
                    className: "RuleAction"
                }
            },
            actions: {
                serializedName: "properties.actions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RuleAction"
                        }
                    }
                }
            },
            lastUpdatedTime: {
                serializedName: "properties.lastUpdatedTime",
                readOnly: true,
                type: {
                    name: "DateTime"
                }
            }
        }
    }
};
export const AlertRuleResourceCollection = {
    type: {
        name: "Composite",
        className: "AlertRuleResourceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AlertRuleResource"
                        }
                    }
                }
            }
        }
    }
};
export const RetentionPolicy = {
    type: {
        name: "Composite",
        className: "RetentionPolicy",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                required: true,
                type: {
                    name: "Boolean"
                }
            },
            days: {
                constraints: {
                    InclusiveMinimum: 0
                },
                serializedName: "days",
                required: true,
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const LogProfileResourcePatch = {
    type: {
        name: "Composite",
        className: "LogProfileResourcePatch",
        modelProperties: {
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            storageAccountId: {
                serializedName: "properties.storageAccountId",
                type: {
                    name: "String"
                }
            },
            serviceBusRuleId: {
                serializedName: "properties.serviceBusRuleId",
                type: {
                    name: "String"
                }
            },
            locations: {
                serializedName: "properties.locations",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            categories: {
                serializedName: "properties.categories",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            retentionPolicy: {
                serializedName: "properties.retentionPolicy",
                type: {
                    name: "Composite",
                    className: "RetentionPolicy"
                }
            }
        }
    }
};
export const LogProfileCollection = {
    type: {
        name: "Composite",
        className: "LogProfileCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "LogProfileResource"
                        }
                    }
                }
            }
        }
    }
};
export const MetricSettings = {
    type: {
        name: "Composite",
        className: "MetricSettings",
        modelProperties: {
            timeGrain: {
                serializedName: "timeGrain",
                type: {
                    name: "TimeSpan"
                }
            },
            category: {
                serializedName: "category",
                type: {
                    name: "String"
                }
            },
            enabled: {
                serializedName: "enabled",
                required: true,
                type: {
                    name: "Boolean"
                }
            },
            retentionPolicy: {
                serializedName: "retentionPolicy",
                type: {
                    name: "Composite",
                    className: "RetentionPolicy"
                }
            }
        }
    }
};
export const LogSettings = {
    type: {
        name: "Composite",
        className: "LogSettings",
        modelProperties: {
            category: {
                serializedName: "category",
                type: {
                    name: "String"
                }
            },
            enabled: {
                serializedName: "enabled",
                required: true,
                type: {
                    name: "Boolean"
                }
            },
            retentionPolicy: {
                serializedName: "retentionPolicy",
                type: {
                    name: "Composite",
                    className: "RetentionPolicy"
                }
            }
        }
    }
};
export const ProxyOnlyResource = {
    type: {
        name: "Composite",
        className: "ProxyOnlyResource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DiagnosticSettingsResourceCollection = {
    type: {
        name: "Composite",
        className: "DiagnosticSettingsResourceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DiagnosticSettingsResource"
                        }
                    }
                }
            }
        }
    }
};
export const DiagnosticSettingsCategoryResourceCollection = {
    type: {
        name: "Composite",
        className: "DiagnosticSettingsCategoryResourceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DiagnosticSettingsCategoryResource"
                        }
                    }
                }
            }
        }
    }
};
export const EmailReceiver = {
    type: {
        name: "Composite",
        className: "EmailReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            emailAddress: {
                serializedName: "emailAddress",
                required: true,
                type: {
                    name: "String"
                }
            },
            useCommonAlertSchema: {
                defaultValue: false,
                serializedName: "useCommonAlertSchema",
                type: {
                    name: "Boolean"
                }
            },
            status: {
                serializedName: "status",
                readOnly: true,
                type: {
                    name: "Enum",
                    allowedValues: ["NotSpecified", "Enabled", "Disabled"]
                }
            }
        }
    }
};
export const SmsReceiver = {
    type: {
        name: "Composite",
        className: "SmsReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            countryCode: {
                serializedName: "countryCode",
                required: true,
                type: {
                    name: "String"
                }
            },
            phoneNumber: {
                serializedName: "phoneNumber",
                required: true,
                type: {
                    name: "String"
                }
            },
            status: {
                serializedName: "status",
                readOnly: true,
                type: {
                    name: "Enum",
                    allowedValues: ["NotSpecified", "Enabled", "Disabled"]
                }
            }
        }
    }
};
export const WebhookReceiver = {
    type: {
        name: "Composite",
        className: "WebhookReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            serviceUri: {
                serializedName: "serviceUri",
                required: true,
                type: {
                    name: "String"
                }
            },
            useCommonAlertSchema: {
                defaultValue: false,
                serializedName: "useCommonAlertSchema",
                type: {
                    name: "Boolean"
                }
            },
            useAadAuth: {
                defaultValue: false,
                serializedName: "useAadAuth",
                type: {
                    name: "Boolean"
                }
            },
            objectId: {
                serializedName: "objectId",
                type: {
                    name: "String"
                }
            },
            identifierUri: {
                serializedName: "identifierUri",
                type: {
                    name: "String"
                }
            },
            tenantId: {
                serializedName: "tenantId",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ItsmReceiver = {
    type: {
        name: "Composite",
        className: "ItsmReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            workspaceId: {
                serializedName: "workspaceId",
                required: true,
                type: {
                    name: "String"
                }
            },
            connectionId: {
                serializedName: "connectionId",
                required: true,
                type: {
                    name: "String"
                }
            },
            ticketConfiguration: {
                serializedName: "ticketConfiguration",
                required: true,
                type: {
                    name: "String"
                }
            },
            region: {
                serializedName: "region",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AzureAppPushReceiver = {
    type: {
        name: "Composite",
        className: "AzureAppPushReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            emailAddress: {
                serializedName: "emailAddress",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AutomationRunbookReceiver = {
    type: {
        name: "Composite",
        className: "AutomationRunbookReceiver",
        modelProperties: {
            automationAccountId: {
                serializedName: "automationAccountId",
                required: true,
                type: {
                    name: "String"
                }
            },
            runbookName: {
                serializedName: "runbookName",
                required: true,
                type: {
                    name: "String"
                }
            },
            webhookResourceId: {
                serializedName: "webhookResourceId",
                required: true,
                type: {
                    name: "String"
                }
            },
            isGlobalRunbook: {
                serializedName: "isGlobalRunbook",
                required: true,
                type: {
                    name: "Boolean"
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            },
            serviceUri: {
                serializedName: "serviceUri",
                type: {
                    name: "String"
                }
            },
            useCommonAlertSchema: {
                defaultValue: false,
                serializedName: "useCommonAlertSchema",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const VoiceReceiver = {
    type: {
        name: "Composite",
        className: "VoiceReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            countryCode: {
                serializedName: "countryCode",
                required: true,
                type: {
                    name: "String"
                }
            },
            phoneNumber: {
                serializedName: "phoneNumber",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const LogicAppReceiver = {
    type: {
        name: "Composite",
        className: "LogicAppReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            resourceId: {
                serializedName: "resourceId",
                required: true,
                type: {
                    name: "String"
                }
            },
            callbackUrl: {
                serializedName: "callbackUrl",
                required: true,
                type: {
                    name: "String"
                }
            },
            useCommonAlertSchema: {
                defaultValue: false,
                serializedName: "useCommonAlertSchema",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const AzureFunctionReceiver = {
    type: {
        name: "Composite",
        className: "AzureFunctionReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            functionAppResourceId: {
                serializedName: "functionAppResourceId",
                required: true,
                type: {
                    name: "String"
                }
            },
            functionName: {
                serializedName: "functionName",
                required: true,
                type: {
                    name: "String"
                }
            },
            httpTriggerUrl: {
                serializedName: "httpTriggerUrl",
                required: true,
                type: {
                    name: "String"
                }
            },
            useCommonAlertSchema: {
                defaultValue: false,
                serializedName: "useCommonAlertSchema",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const ArmRoleReceiver = {
    type: {
        name: "Composite",
        className: "ArmRoleReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            roleId: {
                serializedName: "roleId",
                required: true,
                type: {
                    name: "String"
                }
            },
            useCommonAlertSchema: {
                defaultValue: false,
                serializedName: "useCommonAlertSchema",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const EventHubReceiver = {
    type: {
        name: "Composite",
        className: "EventHubReceiver",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            eventHubNameSpace: {
                serializedName: "eventHubNameSpace",
                required: true,
                type: {
                    name: "String"
                }
            },
            eventHubName: {
                serializedName: "eventHubName",
                required: true,
                type: {
                    name: "String"
                }
            },
            useCommonAlertSchema: {
                defaultValue: false,
                serializedName: "useCommonAlertSchema",
                type: {
                    name: "Boolean"
                }
            },
            tenantId: {
                serializedName: "tenantId",
                type: {
                    name: "String"
                }
            },
            subscriptionId: {
                serializedName: "subscriptionId",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AzureResource = {
    type: {
        name: "Composite",
        className: "AzureResource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            kind: {
                serializedName: "kind",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            identity: {
                serializedName: "identity",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                required: true,
                type: {
                    name: "String"
                }
            },
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const ActionGroupPatchBody = {
    type: {
        name: "Composite",
        className: "ActionGroupPatchBody",
        modelProperties: {
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            enabled: {
                defaultValue: true,
                serializedName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const NotificationRequestBody = {
    type: {
        name: "Composite",
        className: "NotificationRequestBody",
        modelProperties: {
            alertType: {
                constraints: {
                    MaxLength: 30
                },
                serializedName: "alertType",
                required: true,
                type: {
                    name: "String"
                }
            },
            emailReceivers: {
                serializedName: "emailReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "EmailReceiver"
                        }
                    }
                }
            },
            smsReceivers: {
                serializedName: "smsReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SmsReceiver"
                        }
                    }
                }
            },
            webhookReceivers: {
                serializedName: "webhookReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WebhookReceiver"
                        }
                    }
                }
            },
            itsmReceivers: {
                serializedName: "itsmReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ItsmReceiver"
                        }
                    }
                }
            },
            azureAppPushReceivers: {
                serializedName: "azureAppPushReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AzureAppPushReceiver"
                        }
                    }
                }
            },
            automationRunbookReceivers: {
                serializedName: "automationRunbookReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AutomationRunbookReceiver"
                        }
                    }
                }
            },
            voiceReceivers: {
                serializedName: "voiceReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VoiceReceiver"
                        }
                    }
                }
            },
            logicAppReceivers: {
                serializedName: "logicAppReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "LogicAppReceiver"
                        }
                    }
                }
            },
            azureFunctionReceivers: {
                serializedName: "azureFunctionReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AzureFunctionReceiver"
                        }
                    }
                }
            },
            armRoleReceivers: {
                serializedName: "armRoleReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ArmRoleReceiver"
                        }
                    }
                }
            },
            eventHubReceivers: {
                serializedName: "eventHubReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "EventHubReceiver"
                        }
                    }
                }
            }
        }
    }
};
export const TestNotificationResponse = {
    type: {
        name: "Composite",
        className: "TestNotificationResponse",
        modelProperties: {
            notificationId: {
                serializedName: "notificationId",
                required: true,
                type: {
                    name: "String"
                }
            },
            correlationId: {
                serializedName: "correlationId",
                required: true,
                type: {
                    name: "String"
                }
            },
            createdTime: {
                serializedName: "createdTime",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const TestNotificationDetailsResponse = {
    type: {
        name: "Composite",
        className: "TestNotificationDetailsResponse",
        modelProperties: {
            context: {
                serializedName: "Context",
                type: {
                    name: "Composite",
                    className: "Context"
                }
            },
            state: {
                serializedName: "State",
                required: true,
                type: {
                    name: "String"
                }
            },
            completedTime: {
                serializedName: "CompletedTime",
                type: {
                    name: "String"
                }
            },
            createdTime: {
                serializedName: "CreatedTime",
                type: {
                    name: "String"
                }
            },
            actionDetails: {
                serializedName: "ActionDetails",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ActionDetail"
                        }
                    }
                }
            }
        }
    }
};
export const Context = {
    type: {
        name: "Composite",
        className: "Context",
        modelProperties: {
            notificationSource: {
                serializedName: "NotificationSource",
                type: {
                    name: "String"
                }
            },
            contextType: {
                serializedName: "ContextType",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ActionDetail = {
    type: {
        name: "Composite",
        className: "ActionDetail",
        modelProperties: {
            mechanismType: {
                serializedName: "MechanismType",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "Name",
                type: {
                    name: "String"
                }
            },
            status: {
                serializedName: "Status",
                type: {
                    name: "String"
                }
            },
            subState: {
                serializedName: "SubState",
                type: {
                    name: "String"
                }
            },
            sendTime: {
                serializedName: "SendTime",
                type: {
                    name: "String"
                }
            },
            detail: {
                serializedName: "Detail",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ActionGroupList = {
    type: {
        name: "Composite",
        className: "ActionGroupList",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ActionGroupResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const EnableRequest = {
    type: {
        name: "Composite",
        className: "EnableRequest",
        modelProperties: {
            receiverName: {
                serializedName: "receiverName",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const EventDataCollection = {
    type: {
        name: "Composite",
        className: "EventDataCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "EventData"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const EventData = {
    type: {
        name: "Composite",
        className: "EventData",
        modelProperties: {
            authorization: {
                serializedName: "authorization",
                type: {
                    name: "Composite",
                    className: "SenderAuthorization"
                }
            },
            claims: {
                serializedName: "claims",
                readOnly: true,
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            caller: {
                serializedName: "caller",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            eventDataId: {
                serializedName: "eventDataId",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            correlationId: {
                serializedName: "correlationId",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            eventName: {
                serializedName: "eventName",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            category: {
                serializedName: "category",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            httpRequest: {
                serializedName: "httpRequest",
                type: {
                    name: "Composite",
                    className: "HttpRequestInfo"
                }
            },
            level: {
                serializedName: "level",
                readOnly: true,
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Critical",
                        "Error",
                        "Warning",
                        "Informational",
                        "Verbose"
                    ]
                }
            },
            resourceGroupName: {
                serializedName: "resourceGroupName",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            resourceProviderName: {
                serializedName: "resourceProviderName",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            resourceId: {
                serializedName: "resourceId",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            resourceType: {
                serializedName: "resourceType",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            operationId: {
                serializedName: "operationId",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            operationName: {
                serializedName: "operationName",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            properties: {
                serializedName: "properties",
                readOnly: true,
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            status: {
                serializedName: "status",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            subStatus: {
                serializedName: "subStatus",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            eventTimestamp: {
                serializedName: "eventTimestamp",
                readOnly: true,
                type: {
                    name: "DateTime"
                }
            },
            submissionTimestamp: {
                serializedName: "submissionTimestamp",
                readOnly: true,
                type: {
                    name: "DateTime"
                }
            },
            subscriptionId: {
                serializedName: "subscriptionId",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            tenantId: {
                serializedName: "tenantId",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SenderAuthorization = {
    type: {
        name: "Composite",
        className: "SenderAuthorization",
        modelProperties: {
            action: {
                serializedName: "action",
                type: {
                    name: "String"
                }
            },
            role: {
                serializedName: "role",
                type: {
                    name: "String"
                }
            },
            scope: {
                serializedName: "scope",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const LocalizableString = {
    type: {
        name: "Composite",
        className: "LocalizableString",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "String"
                }
            },
            localizedValue: {
                serializedName: "localizedValue",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const HttpRequestInfo = {
    type: {
        name: "Composite",
        className: "HttpRequestInfo",
        modelProperties: {
            clientRequestId: {
                serializedName: "clientRequestId",
                type: {
                    name: "String"
                }
            },
            clientIpAddress: {
                serializedName: "clientIpAddress",
                type: {
                    name: "String"
                }
            },
            method: {
                serializedName: "method",
                type: {
                    name: "String"
                }
            },
            uri: {
                serializedName: "uri",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const EventCategoryCollection = {
    type: {
        name: "Composite",
        className: "EventCategoryCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "LocalizableString"
                        }
                    }
                }
            }
        }
    }
};
export const MetricDefinitionCollection = {
    type: {
        name: "Composite",
        className: "MetricDefinitionCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricDefinition"
                        }
                    }
                }
            }
        }
    }
};
export const MetricDefinition = {
    type: {
        name: "Composite",
        className: "MetricDefinition",
        modelProperties: {
            isDimensionRequired: {
                serializedName: "isDimensionRequired",
                type: {
                    name: "Boolean"
                }
            },
            resourceId: {
                serializedName: "resourceId",
                type: {
                    name: "String"
                }
            },
            namespace: {
                serializedName: "namespace",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            displayDescription: {
                serializedName: "displayDescription",
                type: {
                    name: "String"
                }
            },
            category: {
                serializedName: "category",
                type: {
                    name: "String"
                }
            },
            metricClass: {
                serializedName: "metricClass",
                type: {
                    name: "String"
                }
            },
            unit: {
                serializedName: "unit",
                type: {
                    name: "String"
                }
            },
            primaryAggregationType: {
                serializedName: "primaryAggregationType",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "None",
                        "Average",
                        "Count",
                        "Minimum",
                        "Maximum",
                        "Total"
                    ]
                }
            },
            supportedAggregationTypes: {
                serializedName: "supportedAggregationTypes",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Enum",
                            allowedValues: [
                                "None",
                                "Average",
                                "Count",
                                "Minimum",
                                "Maximum",
                                "Total"
                            ]
                        }
                    }
                }
            },
            metricAvailabilities: {
                serializedName: "metricAvailabilities",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricAvailability"
                        }
                    }
                }
            },
            id: {
                serializedName: "id",
                type: {
                    name: "String"
                }
            },
            dimensions: {
                serializedName: "dimensions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "LocalizableString"
                        }
                    }
                }
            }
        }
    }
};
export const MetricAvailability = {
    type: {
        name: "Composite",
        className: "MetricAvailability",
        modelProperties: {
            timeGrain: {
                serializedName: "timeGrain",
                type: {
                    name: "TimeSpan"
                }
            },
            retention: {
                serializedName: "retention",
                type: {
                    name: "TimeSpan"
                }
            }
        }
    }
};
export const Response = {
    type: {
        name: "Composite",
        className: "Response",
        modelProperties: {
            cost: {
                constraints: {
                    InclusiveMinimum: 0
                },
                serializedName: "cost",
                type: {
                    name: "Number"
                }
            },
            timespan: {
                serializedName: "timespan",
                required: true,
                type: {
                    name: "String"
                }
            },
            interval: {
                serializedName: "interval",
                type: {
                    name: "TimeSpan"
                }
            },
            namespace: {
                serializedName: "namespace",
                type: {
                    name: "String"
                }
            },
            resourceregion: {
                serializedName: "resourceregion",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Metric"
                        }
                    }
                }
            }
        }
    }
};
export const Metric = {
    type: {
        name: "Composite",
        className: "Metric",
        modelProperties: {
            id: {
                serializedName: "id",
                required: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                required: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            displayDescription: {
                serializedName: "displayDescription",
                type: {
                    name: "String"
                }
            },
            errorCode: {
                serializedName: "errorCode",
                type: {
                    name: "String"
                }
            },
            errorMessage: {
                serializedName: "errorMessage",
                type: {
                    name: "String"
                }
            },
            unit: {
                serializedName: "unit",
                required: true,
                type: {
                    name: "String"
                }
            },
            timeseries: {
                serializedName: "timeseries",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "TimeSeriesElement"
                        }
                    }
                }
            }
        }
    }
};
export const TimeSeriesElement = {
    type: {
        name: "Composite",
        className: "TimeSeriesElement",
        modelProperties: {
            metadatavalues: {
                serializedName: "metadatavalues",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetadataValue"
                        }
                    }
                }
            },
            data: {
                serializedName: "data",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricValue"
                        }
                    }
                }
            }
        }
    }
};
export const MetadataValue = {
    type: {
        name: "Composite",
        className: "MetadataValue",
        modelProperties: {
            name: {
                serializedName: "name",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            },
            value: {
                serializedName: "value",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const MetricValue = {
    type: {
        name: "Composite",
        className: "MetricValue",
        modelProperties: {
            timeStamp: {
                serializedName: "timeStamp",
                required: true,
                type: {
                    name: "DateTime"
                }
            },
            average: {
                serializedName: "average",
                type: {
                    name: "Number"
                }
            },
            minimum: {
                serializedName: "minimum",
                type: {
                    name: "Number"
                }
            },
            maximum: {
                serializedName: "maximum",
                type: {
                    name: "Number"
                }
            },
            total: {
                serializedName: "total",
                type: {
                    name: "Number"
                }
            },
            count: {
                serializedName: "count",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const MetricBaselinesResponse = {
    type: {
        name: "Composite",
        className: "MetricBaselinesResponse",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SingleMetricBaseline"
                        }
                    }
                }
            }
        }
    }
};
export const SingleMetricBaseline = {
    type: {
        name: "Composite",
        className: "SingleMetricBaseline",
        modelProperties: {
            id: {
                serializedName: "id",
                required: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                required: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            timespan: {
                serializedName: "properties.timespan",
                required: true,
                type: {
                    name: "String"
                }
            },
            interval: {
                serializedName: "properties.interval",
                required: true,
                type: {
                    name: "TimeSpan"
                }
            },
            namespace: {
                serializedName: "properties.namespace",
                type: {
                    name: "String"
                }
            },
            baselines: {
                serializedName: "properties.baselines",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "TimeSeriesBaseline"
                        }
                    }
                }
            }
        }
    }
};
export const TimeSeriesBaseline = {
    type: {
        name: "Composite",
        className: "TimeSeriesBaseline",
        modelProperties: {
            aggregation: {
                serializedName: "aggregation",
                required: true,
                type: {
                    name: "String"
                }
            },
            dimensions: {
                serializedName: "dimensions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricSingleDimension"
                        }
                    }
                }
            },
            timestamps: {
                serializedName: "timestamps",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "DateTime"
                        }
                    }
                }
            },
            data: {
                serializedName: "data",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SingleBaseline"
                        }
                    }
                }
            },
            metadataValues: {
                serializedName: "metadataValues",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "BaselineMetadata"
                        }
                    }
                }
            }
        }
    }
};
export const MetricSingleDimension = {
    type: {
        name: "Composite",
        className: "MetricSingleDimension",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SingleBaseline = {
    type: {
        name: "Composite",
        className: "SingleBaseline",
        modelProperties: {
            sensitivity: {
                serializedName: "sensitivity",
                required: true,
                type: {
                    name: "String"
                }
            },
            lowThresholds: {
                serializedName: "lowThresholds",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Number"
                        }
                    }
                }
            },
            highThresholds: {
                serializedName: "highThresholds",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Number"
                        }
                    }
                }
            }
        }
    }
};
export const BaselineMetadata = {
    type: {
        name: "Composite",
        className: "BaselineMetadata",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const MetricAlertResourceCollection = {
    type: {
        name: "Composite",
        className: "MetricAlertResourceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricAlertResource"
                        }
                    }
                }
            }
        }
    }
};
export const MetricAlertCriteria = {
    serializedName: "MetricAlertCriteria",
    type: {
        name: "Composite",
        className: "MetricAlertCriteria",
        uberParent: "MetricAlertCriteria",
        additionalProperties: { type: { name: "Object" } },
        polymorphicDiscriminator: {
            serializedName: "odata\\.type",
            clientName: "odataType"
        },
        modelProperties: {
            odataType: {
                serializedName: "odata\\.type",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const MetricAlertAction = {
    type: {
        name: "Composite",
        className: "MetricAlertAction",
        modelProperties: {
            actionGroupId: {
                serializedName: "actionGroupId",
                type: {
                    name: "String"
                }
            },
            webHookProperties: {
                serializedName: "webHookProperties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const MetricAlertResourcePatch = {
    type: {
        name: "Composite",
        className: "MetricAlertResourcePatch",
        modelProperties: {
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            description: {
                serializedName: "properties.description",
                type: {
                    name: "String"
                }
            },
            severity: {
                serializedName: "properties.severity",
                type: {
                    name: "Number"
                }
            },
            enabled: {
                serializedName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            },
            scopes: {
                serializedName: "properties.scopes",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            evaluationFrequency: {
                serializedName: "properties.evaluationFrequency",
                type: {
                    name: "TimeSpan"
                }
            },
            windowSize: {
                serializedName: "properties.windowSize",
                type: {
                    name: "TimeSpan"
                }
            },
            targetResourceType: {
                serializedName: "properties.targetResourceType",
                type: {
                    name: "String"
                }
            },
            targetResourceRegion: {
                serializedName: "properties.targetResourceRegion",
                type: {
                    name: "String"
                }
            },
            criteria: {
                serializedName: "properties.criteria",
                type: {
                    name: "Composite",
                    className: "MetricAlertCriteria"
                }
            },
            autoMitigate: {
                serializedName: "properties.autoMitigate",
                type: {
                    name: "Boolean"
                }
            },
            actions: {
                serializedName: "properties.actions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricAlertAction"
                        }
                    }
                }
            },
            lastUpdatedTime: {
                serializedName: "properties.lastUpdatedTime",
                readOnly: true,
                type: {
                    name: "DateTime"
                }
            },
            isMigrated: {
                serializedName: "properties.isMigrated",
                readOnly: true,
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const MetricAlertStatusCollection = {
    type: {
        name: "Composite",
        className: "MetricAlertStatusCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricAlertStatus"
                        }
                    }
                }
            }
        }
    }
};
export const MetricAlertStatus = {
    type: {
        name: "Composite",
        className: "MetricAlertStatus",
        modelProperties: {
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            },
            id: {
                serializedName: "id",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                type: {
                    name: "String"
                }
            },
            properties: {
                serializedName: "properties",
                type: {
                    name: "Composite",
                    className: "MetricAlertStatusProperties"
                }
            }
        }
    }
};
export const MetricAlertStatusProperties = {
    type: {
        name: "Composite",
        className: "MetricAlertStatusProperties",
        modelProperties: {
            dimensions: {
                serializedName: "dimensions",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            status: {
                serializedName: "status",
                type: {
                    name: "String"
                }
            },
            timestamp: {
                serializedName: "timestamp",
                type: {
                    name: "DateTime"
                }
            }
        }
    }
};
export const Source = {
    type: {
        name: "Composite",
        className: "Source",
        modelProperties: {
            query: {
                serializedName: "query",
                type: {
                    name: "String"
                }
            },
            authorizedResources: {
                serializedName: "authorizedResources",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            dataSourceId: {
                serializedName: "dataSourceId",
                required: true,
                type: {
                    name: "String"
                }
            },
            queryType: {
                serializedName: "queryType",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Schedule = {
    type: {
        name: "Composite",
        className: "Schedule",
        modelProperties: {
            frequencyInMinutes: {
                serializedName: "frequencyInMinutes",
                required: true,
                type: {
                    name: "Number"
                }
            },
            timeWindowInMinutes: {
                serializedName: "timeWindowInMinutes",
                required: true,
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const Action = {
    type: {
        name: "Composite",
        className: "Action",
        uberParent: "Action",
        polymorphicDiscriminator: {
            serializedName: "odata\\.type",
            clientName: "odataType"
        },
        modelProperties: {
            odataType: {
                serializedName: "odata\\.type",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResourceAutoGenerated = {
    type: {
        name: "Composite",
        className: "ResourceAutoGenerated",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                required: true,
                type: {
                    name: "String"
                }
            },
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            kind: {
                serializedName: "kind",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            etag: {
                serializedName: "etag",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ErrorContract = {
    type: {
        name: "Composite",
        className: "ErrorContract",
        modelProperties: {
            error: {
                serializedName: "error",
                type: {
                    name: "Composite",
                    className: "ErrorResponse"
                }
            }
        }
    }
};
export const LogSearchRuleResourcePatch = {
    type: {
        name: "Composite",
        className: "LogSearchRuleResourcePatch",
        modelProperties: {
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            enabled: {
                serializedName: "properties.enabled",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const LogSearchRuleResourceCollection = {
    type: {
        name: "Composite",
        className: "LogSearchRuleResourceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "LogSearchRuleResource"
                        }
                    }
                }
            }
        }
    }
};
export const MetricNamespaceCollection = {
    type: {
        name: "Composite",
        className: "MetricNamespaceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricNamespace"
                        }
                    }
                }
            }
        }
    }
};
export const MetricNamespace = {
    type: {
        name: "Composite",
        className: "MetricNamespace",
        modelProperties: {
            id: {
                serializedName: "id",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            },
            classification: {
                serializedName: "classification",
                type: {
                    name: "String"
                }
            },
            properties: {
                serializedName: "properties",
                type: {
                    name: "Composite",
                    className: "MetricNamespaceName"
                }
            }
        }
    }
};
export const MetricNamespaceName = {
    type: {
        name: "Composite",
        className: "MetricNamespaceName",
        modelProperties: {
            metricNamespaceName: {
                serializedName: "metricNamespaceName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataContainer = {
    type: {
        name: "Composite",
        className: "DataContainer",
        modelProperties: {
            workspace: {
                serializedName: "workspace",
                type: {
                    name: "Composite",
                    className: "WorkspaceInfo"
                }
            }
        }
    }
};
export const WorkspaceInfo = {
    type: {
        name: "Composite",
        className: "WorkspaceInfo",
        modelProperties: {
            id: {
                serializedName: "id",
                required: true,
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                required: true,
                type: {
                    name: "String"
                }
            },
            customerId: {
                serializedName: "properties.customerId",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ProxyResource = {
    type: {
        name: "Composite",
        className: "ProxyResource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResponseWithError = {
    type: {
        name: "Composite",
        className: "ResponseWithError",
        modelProperties: {
            error: {
                serializedName: "error",
                type: {
                    name: "Composite",
                    className: "ErrorModel"
                }
            }
        }
    }
};
export const ErrorModel = {
    type: {
        name: "Composite",
        className: "ErrorModel",
        modelProperties: {
            code: {
                serializedName: "code",
                required: true,
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AzureMonitorPrivateLinkScopeListResult = {
    type: {
        name: "Composite",
        className: "AzureMonitorPrivateLinkScopeListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AzureMonitorPrivateLinkScope"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PrivateEndpointProperty = {
    type: {
        name: "Composite",
        className: "PrivateEndpointProperty",
        modelProperties: {
            id: {
                serializedName: "id",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PrivateLinkServiceConnectionStateProperty = {
    type: {
        name: "Composite",
        className: "PrivateLinkServiceConnectionStateProperty",
        modelProperties: {
            status: {
                serializedName: "status",
                required: true,
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                required: true,
                type: {
                    name: "String"
                }
            },
            actionsRequired: {
                serializedName: "actionsRequired",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PrivateLinkScopesResource = {
    type: {
        name: "Composite",
        className: "PrivateLinkScopesResource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                required: true,
                type: {
                    name: "String"
                }
            },
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const TagsResource = {
    type: {
        name: "Composite",
        className: "TagsResource",
        modelProperties: {
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const OperationStatus = {
    type: {
        name: "Composite",
        className: "OperationStatus",
        modelProperties: {
            id: {
                serializedName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            },
            startTime: {
                serializedName: "startTime",
                nullable: true,
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "endTime",
                nullable: true,
                type: {
                    name: "DateTime"
                }
            },
            status: {
                serializedName: "status",
                type: {
                    name: "String"
                }
            },
            error: {
                serializedName: "error",
                type: {
                    name: "Composite",
                    className: "ErrorResponseCommon"
                }
            }
        }
    }
};
export const ErrorAdditionalInfo = {
    type: {
        name: "Composite",
        className: "ErrorAdditionalInfo",
        modelProperties: {
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            info: {
                serializedName: "info",
                readOnly: true,
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }
        }
    }
};
export const PrivateLinkResourceListResult = {
    type: {
        name: "Composite",
        className: "PrivateLinkResourceListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                readOnly: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PrivateLinkResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PrivateEndpointConnectionListResult = {
    type: {
        name: "Composite",
        className: "PrivateEndpointConnectionListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                readOnly: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PrivateEndpointConnection"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ScopedResourceListResult = {
    type: {
        name: "Composite",
        className: "ScopedResourceListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                readOnly: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ScopedResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ActivityLogAlertAllOfCondition = {
    type: {
        name: "Composite",
        className: "ActivityLogAlertAllOfCondition",
        modelProperties: {
            allOf: {
                serializedName: "allOf",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ActivityLogAlertLeafCondition"
                        }
                    }
                }
            }
        }
    }
};
export const ActivityLogAlertLeafCondition = {
    type: {
        name: "Composite",
        className: "ActivityLogAlertLeafCondition",
        modelProperties: {
            field: {
                serializedName: "field",
                required: true,
                type: {
                    name: "String"
                }
            },
            equals: {
                serializedName: "equals",
                required: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ActivityLogAlertActionList = {
    type: {
        name: "Composite",
        className: "ActivityLogAlertActionList",
        modelProperties: {
            actionGroups: {
                serializedName: "actionGroups",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ActivityLogAlertActionGroup"
                        }
                    }
                }
            }
        }
    }
};
export const ActivityLogAlertActionGroup = {
    type: {
        name: "Composite",
        className: "ActivityLogAlertActionGroup",
        modelProperties: {
            actionGroupId: {
                serializedName: "actionGroupId",
                required: true,
                type: {
                    name: "String"
                }
            },
            webhookProperties: {
                serializedName: "webhookProperties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const ActivityLogAlertPatchBody = {
    type: {
        name: "Composite",
        className: "ActivityLogAlertPatchBody",
        modelProperties: {
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            enabled: {
                defaultValue: true,
                serializedName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const ActivityLogAlertList = {
    type: {
        name: "Composite",
        className: "ActivityLogAlertList",
        modelProperties: {
            value: {
                serializedName: "value",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ActivityLogAlertResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataCollectionEndpointResourceListResult = {
    type: {
        name: "Composite",
        className: "DataCollectionEndpointResourceListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DataCollectionEndpointResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataCollectionEndpointResource = {
    type: {
        name: "Composite",
        className: "DataCollectionEndpointResource",
        modelProperties: {
            location: {
                serializedName: "location",
                required: true,
                type: {
                    name: "String"
                }
            },
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            kind: {
                serializedName: "kind",
                type: {
                    name: "String"
                }
            },
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            etag: {
                serializedName: "etag",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            systemData: {
                serializedName: "systemData",
                type: {
                    name: "Composite",
                    className: "DataCollectionEndpointResourceSystemData"
                }
            },
            description: {
                serializedName: "properties.description",
                type: {
                    name: "String"
                }
            },
            immutableId: {
                serializedName: "properties.immutableId",
                type: {
                    name: "String"
                }
            },
            configurationAccess: {
                serializedName: "properties.configurationAccess",
                type: {
                    name: "Composite",
                    className: "DataCollectionEndpointConfigurationAccess"
                }
            },
            logsIngestion: {
                serializedName: "properties.logsIngestion",
                type: {
                    name: "Composite",
                    className: "DataCollectionEndpointLogsIngestion"
                }
            },
            networkAcls: {
                serializedName: "properties.networkAcls",
                type: {
                    name: "Composite",
                    className: "DataCollectionEndpointNetworkAcls"
                }
            },
            provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataCollectionEndpoint = {
    type: {
        name: "Composite",
        className: "DataCollectionEndpoint",
        modelProperties: {
            description: {
                serializedName: "description",
                type: {
                    name: "String"
                }
            },
            immutableId: {
                serializedName: "immutableId",
                type: {
                    name: "String"
                }
            },
            configurationAccess: {
                serializedName: "configurationAccess",
                type: {
                    name: "Composite",
                    className: "DataCollectionEndpointConfigurationAccess"
                }
            },
            logsIngestion: {
                serializedName: "logsIngestion",
                type: {
                    name: "Composite",
                    className: "DataCollectionEndpointLogsIngestion"
                }
            },
            networkAcls: {
                serializedName: "networkAcls",
                type: {
                    name: "Composite",
                    className: "DataCollectionEndpointNetworkAcls"
                }
            },
            provisioningState: {
                serializedName: "provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ConfigurationAccessEndpointSpec = {
    type: {
        name: "Composite",
        className: "ConfigurationAccessEndpointSpec",
        modelProperties: {
            endpoint: {
                serializedName: "endpoint",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const LogsIngestionEndpointSpec = {
    type: {
        name: "Composite",
        className: "LogsIngestionEndpointSpec",
        modelProperties: {
            endpoint: {
                serializedName: "endpoint",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const NetworkRuleSet = {
    type: {
        name: "Composite",
        className: "NetworkRuleSet",
        modelProperties: {
            publicNetworkAccess: {
                serializedName: "publicNetworkAccess",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SystemData = {
    type: {
        name: "Composite",
        className: "SystemData",
        modelProperties: {
            createdBy: {
                serializedName: "createdBy",
                type: {
                    name: "String"
                }
            },
            createdByType: {
                serializedName: "createdByType",
                type: {
                    name: "String"
                }
            },
            createdAt: {
                serializedName: "createdAt",
                type: {
                    name: "DateTime"
                }
            },
            lastModifiedBy: {
                serializedName: "lastModifiedBy",
                type: {
                    name: "String"
                }
            },
            lastModifiedByType: {
                serializedName: "lastModifiedByType",
                type: {
                    name: "String"
                }
            },
            lastModifiedAt: {
                serializedName: "lastModifiedAt",
                type: {
                    name: "DateTime"
                }
            }
        }
    }
};
export const ErrorResponseCommonV2 = {
    type: {
        name: "Composite",
        className: "ErrorResponseCommonV2",
        modelProperties: {
            error: {
                serializedName: "error",
                type: {
                    name: "Composite",
                    className: "ErrorDetail"
                }
            }
        }
    }
};
export const ErrorDetail = {
    type: {
        name: "Composite",
        className: "ErrorDetail",
        modelProperties: {
            code: {
                serializedName: "code",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            target: {
                serializedName: "target",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            details: {
                serializedName: "details",
                readOnly: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ErrorDetail"
                        }
                    }
                }
            },
            additionalInfo: {
                serializedName: "additionalInfo",
                readOnly: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ErrorAdditionalInfo"
                        }
                    }
                }
            }
        }
    }
};
export const ResourceForUpdate = {
    type: {
        name: "Composite",
        className: "ResourceForUpdate",
        modelProperties: {
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const DataCollectionRuleAssociationProxyOnlyResourceListResult = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleAssociationProxyOnlyResourceListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DataCollectionRuleAssociationProxyOnlyResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataCollectionRuleAssociationProxyOnlyResource = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleAssociationProxyOnlyResource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            etag: {
                serializedName: "etag",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            systemData: {
                serializedName: "systemData",
                type: {
                    name: "Composite",
                    className: "DataCollectionRuleAssociationProxyOnlyResourceSystemData"
                }
            },
            description: {
                serializedName: "properties.description",
                type: {
                    name: "String"
                }
            },
            dataCollectionRuleId: {
                serializedName: "properties.dataCollectionRuleId",
                type: {
                    name: "String"
                }
            },
            dataCollectionEndpointId: {
                serializedName: "properties.dataCollectionEndpointId",
                type: {
                    name: "String"
                }
            },
            provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataCollectionRuleAssociation = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleAssociation",
        modelProperties: {
            description: {
                serializedName: "description",
                type: {
                    name: "String"
                }
            },
            dataCollectionRuleId: {
                serializedName: "dataCollectionRuleId",
                type: {
                    name: "String"
                }
            },
            dataCollectionEndpointId: {
                serializedName: "dataCollectionEndpointId",
                type: {
                    name: "String"
                }
            },
            provisioningState: {
                serializedName: "provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataCollectionRuleResourceListResult = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleResourceListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DataCollectionRuleResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataCollectionRuleResource = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleResource",
        modelProperties: {
            location: {
                serializedName: "location",
                required: true,
                type: {
                    name: "String"
                }
            },
            tags: {
                serializedName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            kind: {
                serializedName: "kind",
                type: {
                    name: "String"
                }
            },
            id: {
                serializedName: "id",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            etag: {
                serializedName: "etag",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            systemData: {
                serializedName: "systemData",
                type: {
                    name: "Composite",
                    className: "DataCollectionRuleResourceSystemData"
                }
            },
            description: {
                serializedName: "properties.description",
                type: {
                    name: "String"
                }
            },
            immutableId: {
                serializedName: "properties.immutableId",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            dataSources: {
                serializedName: "properties.dataSources",
                type: {
                    name: "Composite",
                    className: "DataCollectionRuleDataSources"
                }
            },
            destinations: {
                serializedName: "properties.destinations",
                type: {
                    name: "Composite",
                    className: "DataCollectionRuleDestinations"
                }
            },
            dataFlows: {
                serializedName: "properties.dataFlows",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DataFlow"
                        }
                    }
                }
            },
            provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataCollectionRule = {
    type: {
        name: "Composite",
        className: "DataCollectionRule",
        modelProperties: {
            description: {
                serializedName: "description",
                type: {
                    name: "String"
                }
            },
            immutableId: {
                serializedName: "immutableId",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            dataSources: {
                serializedName: "dataSources",
                type: {
                    name: "Composite",
                    className: "DataCollectionRuleDataSources"
                }
            },
            destinations: {
                serializedName: "destinations",
                type: {
                    name: "Composite",
                    className: "DataCollectionRuleDestinations"
                }
            },
            dataFlows: {
                serializedName: "dataFlows",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DataFlow"
                        }
                    }
                }
            },
            provisioningState: {
                serializedName: "provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataSourcesSpec = {
    type: {
        name: "Composite",
        className: "DataSourcesSpec",
        modelProperties: {
            performanceCounters: {
                serializedName: "performanceCounters",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PerfCounterDataSource"
                        }
                    }
                }
            },
            windowsEventLogs: {
                serializedName: "windowsEventLogs",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WindowsEventLogDataSource"
                        }
                    }
                }
            },
            syslog: {
                serializedName: "syslog",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SyslogDataSource"
                        }
                    }
                }
            },
            extensions: {
                serializedName: "extensions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ExtensionDataSource"
                        }
                    }
                }
            }
        }
    }
};
export const PerfCounterDataSource = {
    type: {
        name: "Composite",
        className: "PerfCounterDataSource",
        modelProperties: {
            streams: {
                serializedName: "streams",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            samplingFrequencyInSeconds: {
                serializedName: "samplingFrequencyInSeconds",
                type: {
                    name: "Number"
                }
            },
            counterSpecifiers: {
                serializedName: "counterSpecifiers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WindowsEventLogDataSource = {
    type: {
        name: "Composite",
        className: "WindowsEventLogDataSource",
        modelProperties: {
            streams: {
                serializedName: "streams",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            xPathQueries: {
                serializedName: "xPathQueries",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SyslogDataSource = {
    type: {
        name: "Composite",
        className: "SyslogDataSource",
        modelProperties: {
            streams: {
                serializedName: "streams",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            facilityNames: {
                serializedName: "facilityNames",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            logLevels: {
                serializedName: "logLevels",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ExtensionDataSource = {
    type: {
        name: "Composite",
        className: "ExtensionDataSource",
        modelProperties: {
            streams: {
                serializedName: "streams",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            extensionName: {
                serializedName: "extensionName",
                required: true,
                type: {
                    name: "String"
                }
            },
            extensionSettings: {
                serializedName: "extensionSettings",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            },
            inputDataSources: {
                serializedName: "inputDataSources",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DestinationsSpec = {
    type: {
        name: "Composite",
        className: "DestinationsSpec",
        modelProperties: {
            logAnalytics: {
                serializedName: "logAnalytics",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "LogAnalyticsDestination"
                        }
                    }
                }
            },
            azureMonitorMetrics: {
                serializedName: "azureMonitorMetrics",
                type: {
                    name: "Composite",
                    className: "DestinationsSpecAzureMonitorMetrics"
                }
            }
        }
    }
};
export const LogAnalyticsDestination = {
    type: {
        name: "Composite",
        className: "LogAnalyticsDestination",
        modelProperties: {
            workspaceResourceId: {
                serializedName: "workspaceResourceId",
                type: {
                    name: "String"
                }
            },
            workspaceId: {
                serializedName: "workspaceId",
                readOnly: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AzureMonitorMetricsDestination = {
    type: {
        name: "Composite",
        className: "AzureMonitorMetricsDestination",
        modelProperties: {
            name: {
                serializedName: "name",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DataFlow = {
    type: {
        name: "Composite",
        className: "DataFlow",
        modelProperties: {
            streams: {
                serializedName: "streams",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            destinations: {
                serializedName: "destinations",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const RuleManagementEventClaimsDataSource = {
    type: {
        name: "Composite",
        className: "RuleManagementEventClaimsDataSource",
        modelProperties: {
            emailAddress: {
                serializedName: "emailAddress",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ManagementEventAggregationCondition = {
    type: {
        name: "Composite",
        className: "ManagementEventAggregationCondition",
        modelProperties: {
            operator: {
                serializedName: "operator",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "GreaterThan",
                        "GreaterThanOrEqual",
                        "LessThan",
                        "LessThanOrEqual"
                    ]
                }
            },
            threshold: {
                serializedName: "threshold",
                type: {
                    name: "Number"
                }
            },
            windowSize: {
                serializedName: "windowSize",
                type: {
                    name: "TimeSpan"
                }
            }
        }
    }
};
export const MultiMetricCriteria = {
    serializedName: "MultiMetricCriteria",
    type: {
        name: "Composite",
        className: "MultiMetricCriteria",
        uberParent: "MultiMetricCriteria",
        additionalProperties: { type: { name: "Object" } },
        polymorphicDiscriminator: {
            serializedName: "criterionType",
            clientName: "criterionType"
        },
        modelProperties: {
            criterionType: {
                serializedName: "criterionType",
                required: true,
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            metricName: {
                serializedName: "metricName",
                required: true,
                type: {
                    name: "String"
                }
            },
            metricNamespace: {
                serializedName: "metricNamespace",
                type: {
                    name: "String"
                }
            },
            timeAggregation: {
                serializedName: "timeAggregation",
                required: true,
                type: {
                    name: "String"
                }
            },
            dimensions: {
                serializedName: "dimensions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricDimension"
                        }
                    }
                }
            },
            skipMetricValidation: {
                serializedName: "skipMetricValidation",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const MetricDimension = {
    type: {
        name: "Composite",
        className: "MetricDimension",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            operator: {
                serializedName: "operator",
                required: true,
                type: {
                    name: "String"
                }
            },
            values: {
                serializedName: "values",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const DynamicThresholdFailingPeriods = {
    type: {
        name: "Composite",
        className: "DynamicThresholdFailingPeriods",
        modelProperties: {
            numberOfEvaluationPeriods: {
                serializedName: "numberOfEvaluationPeriods",
                required: true,
                type: {
                    name: "Number"
                }
            },
            minFailingPeriodsToAlert: {
                serializedName: "minFailingPeriodsToAlert",
                required: true,
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const TriggerCondition = {
    type: {
        name: "Composite",
        className: "TriggerCondition",
        modelProperties: {
            thresholdOperator: {
                defaultValue: "GreaterThanOrEqual",
                serializedName: "thresholdOperator",
                required: true,
                type: {
                    name: "String"
                }
            },
            threshold: {
                serializedName: "threshold",
                required: true,
                type: {
                    name: "Number"
                }
            },
            metricTrigger: {
                serializedName: "metricTrigger",
                type: {
                    name: "Composite",
                    className: "LogMetricTrigger"
                }
            }
        }
    }
};
export const LogMetricTrigger = {
    type: {
        name: "Composite",
        className: "LogMetricTrigger",
        modelProperties: {
            thresholdOperator: {
                defaultValue: "GreaterThanOrEqual",
                serializedName: "thresholdOperator",
                type: {
                    name: "String"
                }
            },
            threshold: {
                serializedName: "threshold",
                type: {
                    name: "Number"
                }
            },
            metricTriggerType: {
                defaultValue: "Consecutive",
                serializedName: "metricTriggerType",
                type: {
                    name: "String"
                }
            },
            metricColumn: {
                serializedName: "metricColumn",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AzNsActionGroup = {
    type: {
        name: "Composite",
        className: "AzNsActionGroup",
        modelProperties: {
            actionGroup: {
                serializedName: "actionGroup",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            emailSubject: {
                serializedName: "emailSubject",
                type: {
                    name: "String"
                }
            },
            customWebhookPayload: {
                serializedName: "customWebhookPayload",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Dimension = {
    type: {
        name: "Composite",
        className: "Dimension",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                type: {
                    name: "String"
                }
            },
            operator: {
                serializedName: "operator",
                required: true,
                type: {
                    name: "String"
                }
            },
            values: {
                serializedName: "values",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const Criteria = {
    type: {
        name: "Composite",
        className: "Criteria",
        modelProperties: {
            metricName: {
                serializedName: "metricName",
                required: true,
                type: {
                    name: "String"
                }
            },
            dimensions: {
                serializedName: "dimensions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Dimension"
                        }
                    }
                }
            }
        }
    }
};
export const AutoscaleSettingResource = {
    type: {
        name: "Composite",
        className: "AutoscaleSettingResource",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { profiles: {
                constraints: {
                    MaxItems: 20
                },
                serializedName: "properties.profiles",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AutoscaleProfile"
                        }
                    }
                }
            }, notifications: {
                serializedName: "properties.notifications",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AutoscaleNotification"
                        }
                    }
                }
            }, enabled: {
                defaultValue: true,
                serializedName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }, namePropertiesName: {
                serializedName: "properties.name",
                type: {
                    name: "String"
                }
            }, targetResourceUri: {
                serializedName: "properties.targetResourceUri",
                type: {
                    name: "String"
                }
            }, targetResourceLocation: {
                serializedName: "properties.targetResourceLocation",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AlertRuleResource = {
    type: {
        name: "Composite",
        className: "AlertRuleResource",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { namePropertiesName: {
                serializedName: "properties.name",
                required: true,
                type: {
                    name: "String"
                }
            }, description: {
                serializedName: "properties.description",
                type: {
                    name: "String"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            }, isEnabled: {
                serializedName: "properties.isEnabled",
                required: true,
                type: {
                    name: "Boolean"
                }
            }, condition: {
                serializedName: "properties.condition",
                type: {
                    name: "Composite",
                    className: "RuleCondition"
                }
            }, action: {
                serializedName: "properties.action",
                type: {
                    name: "Composite",
                    className: "RuleAction"
                }
            }, actions: {
                serializedName: "properties.actions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RuleAction"
                        }
                    }
                }
            }, lastUpdatedTime: {
                serializedName: "properties.lastUpdatedTime",
                readOnly: true,
                type: {
                    name: "DateTime"
                }
            } })
    }
};
export const LogProfileResource = {
    type: {
        name: "Composite",
        className: "LogProfileResource",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { storageAccountId: {
                serializedName: "properties.storageAccountId",
                type: {
                    name: "String"
                }
            }, serviceBusRuleId: {
                serializedName: "properties.serviceBusRuleId",
                type: {
                    name: "String"
                }
            }, locations: {
                serializedName: "properties.locations",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, categories: {
                serializedName: "properties.categories",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, retentionPolicy: {
                serializedName: "properties.retentionPolicy",
                type: {
                    name: "Composite",
                    className: "RetentionPolicy"
                }
            } })
    }
};
export const MetricAlertResource = {
    type: {
        name: "Composite",
        className: "MetricAlertResource",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { description: {
                serializedName: "properties.description",
                type: {
                    name: "String"
                }
            }, severity: {
                serializedName: "properties.severity",
                required: true,
                type: {
                    name: "Number"
                }
            }, enabled: {
                serializedName: "properties.enabled",
                required: true,
                type: {
                    name: "Boolean"
                }
            }, scopes: {
                serializedName: "properties.scopes",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, evaluationFrequency: {
                serializedName: "properties.evaluationFrequency",
                required: true,
                type: {
                    name: "TimeSpan"
                }
            }, windowSize: {
                serializedName: "properties.windowSize",
                required: true,
                type: {
                    name: "TimeSpan"
                }
            }, targetResourceType: {
                serializedName: "properties.targetResourceType",
                type: {
                    name: "String"
                }
            }, targetResourceRegion: {
                serializedName: "properties.targetResourceRegion",
                type: {
                    name: "String"
                }
            }, criteria: {
                serializedName: "properties.criteria",
                type: {
                    name: "Composite",
                    className: "MetricAlertCriteria"
                }
            }, autoMitigate: {
                serializedName: "properties.autoMitigate",
                type: {
                    name: "Boolean"
                }
            }, actions: {
                serializedName: "properties.actions",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricAlertAction"
                        }
                    }
                }
            }, lastUpdatedTime: {
                serializedName: "properties.lastUpdatedTime",
                readOnly: true,
                type: {
                    name: "DateTime"
                }
            }, isMigrated: {
                serializedName: "properties.isMigrated",
                readOnly: true,
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const ActivityLogAlertResource = {
    type: {
        name: "Composite",
        className: "ActivityLogAlertResource",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { scopes: {
                serializedName: "properties.scopes",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, enabled: {
                defaultValue: true,
                serializedName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }, condition: {
                serializedName: "properties.condition",
                type: {
                    name: "Composite",
                    className: "ActivityLogAlertAllOfCondition"
                }
            }, actions: {
                serializedName: "properties.actions",
                type: {
                    name: "Composite",
                    className: "ActivityLogAlertActionList"
                }
            }, description: {
                serializedName: "properties.description",
                type: {
                    name: "String"
                }
            } })
    }
};
export const ErrorResponseCommon = {
    type: {
        name: "Composite",
        className: "ErrorResponseCommon",
        modelProperties: Object.assign(Object.assign({}, ErrorResponse.type.modelProperties), { details: {
                serializedName: "details",
                readOnly: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ErrorResponseCommon"
                        }
                    }
                }
            }, additionalInfo: {
                serializedName: "additionalInfo",
                readOnly: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ErrorAdditionalInfo"
                        }
                    }
                }
            } })
    }
};
export const ThresholdRuleCondition = {
    serializedName: "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition",
    type: {
        name: "Composite",
        className: "ThresholdRuleCondition",
        uberParent: "RuleCondition",
        polymorphicDiscriminator: RuleCondition.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, RuleCondition.type.modelProperties), { operator: {
                serializedName: "operator",
                required: true,
                type: {
                    name: "Enum",
                    allowedValues: [
                        "GreaterThan",
                        "GreaterThanOrEqual",
                        "LessThan",
                        "LessThanOrEqual"
                    ]
                }
            }, threshold: {
                serializedName: "threshold",
                required: true,
                type: {
                    name: "Number"
                }
            }, windowSize: {
                serializedName: "windowSize",
                type: {
                    name: "TimeSpan"
                }
            }, timeAggregation: {
                serializedName: "timeAggregation",
                type: {
                    name: "Enum",
                    allowedValues: ["Average", "Minimum", "Maximum", "Total", "Last"]
                }
            } })
    }
};
export const LocationThresholdRuleCondition = {
    serializedName: "Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition",
    type: {
        name: "Composite",
        className: "LocationThresholdRuleCondition",
        uberParent: "RuleCondition",
        polymorphicDiscriminator: RuleCondition.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, RuleCondition.type.modelProperties), { windowSize: {
                serializedName: "windowSize",
                type: {
                    name: "TimeSpan"
                }
            }, failedLocationCount: {
                constraints: {
                    InclusiveMinimum: 0
                },
                serializedName: "failedLocationCount",
                required: true,
                type: {
                    name: "Number"
                }
            } })
    }
};
export const ManagementEventRuleCondition = {
    serializedName: "Microsoft.Azure.Management.Insights.Models.ManagementEventRuleCondition",
    type: {
        name: "Composite",
        className: "ManagementEventRuleCondition",
        uberParent: "RuleCondition",
        polymorphicDiscriminator: RuleCondition.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, RuleCondition.type.modelProperties), { aggregation: {
                serializedName: "aggregation",
                type: {
                    name: "Composite",
                    className: "ManagementEventAggregationCondition"
                }
            } })
    }
};
export const RuleMetricDataSource = {
    serializedName: "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource",
    type: {
        name: "Composite",
        className: "RuleMetricDataSource",
        uberParent: "RuleDataSource",
        polymorphicDiscriminator: RuleDataSource.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, RuleDataSource.type.modelProperties), { metricName: {
                serializedName: "metricName",
                type: {
                    name: "String"
                }
            } })
    }
};
export const RuleManagementEventDataSource = {
    serializedName: "Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource",
    type: {
        name: "Composite",
        className: "RuleManagementEventDataSource",
        uberParent: "RuleDataSource",
        polymorphicDiscriminator: RuleDataSource.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, RuleDataSource.type.modelProperties), { eventName: {
                serializedName: "eventName",
                type: {
                    name: "String"
                }
            }, eventSource: {
                serializedName: "eventSource",
                type: {
                    name: "String"
                }
            }, level: {
                serializedName: "level",
                type: {
                    name: "String"
                }
            }, operationName: {
                serializedName: "operationName",
                type: {
                    name: "String"
                }
            }, resourceGroupName: {
                serializedName: "resourceGroupName",
                type: {
                    name: "String"
                }
            }, resourceProviderName: {
                serializedName: "resourceProviderName",
                type: {
                    name: "String"
                }
            }, status: {
                serializedName: "status",
                type: {
                    name: "String"
                }
            }, subStatus: {
                serializedName: "subStatus",
                type: {
                    name: "String"
                }
            }, claims: {
                serializedName: "claims",
                type: {
                    name: "Composite",
                    className: "RuleManagementEventClaimsDataSource"
                }
            } })
    }
};
export const RuleEmailAction = {
    serializedName: "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
    type: {
        name: "Composite",
        className: "RuleEmailAction",
        uberParent: "RuleAction",
        polymorphicDiscriminator: RuleAction.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, RuleAction.type.modelProperties), { sendToServiceOwners: {
                serializedName: "sendToServiceOwners",
                type: {
                    name: "Boolean"
                }
            }, customEmails: {
                serializedName: "customEmails",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            } })
    }
};
export const RuleWebhookAction = {
    serializedName: "Microsoft.Azure.Management.Insights.Models.RuleWebhookAction",
    type: {
        name: "Composite",
        className: "RuleWebhookAction",
        uberParent: "RuleAction",
        polymorphicDiscriminator: RuleAction.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, RuleAction.type.modelProperties), { serviceUri: {
                serializedName: "serviceUri",
                type: {
                    name: "String"
                }
            }, properties: {
                serializedName: "properties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            } })
    }
};
export const DiagnosticSettingsResource = {
    type: {
        name: "Composite",
        className: "DiagnosticSettingsResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { storageAccountId: {
                serializedName: "properties.storageAccountId",
                type: {
                    name: "String"
                }
            }, serviceBusRuleId: {
                serializedName: "properties.serviceBusRuleId",
                type: {
                    name: "String"
                }
            }, eventHubAuthorizationRuleId: {
                serializedName: "properties.eventHubAuthorizationRuleId",
                type: {
                    name: "String"
                }
            }, eventHubName: {
                serializedName: "properties.eventHubName",
                type: {
                    name: "String"
                }
            }, metrics: {
                serializedName: "properties.metrics",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricSettings"
                        }
                    }
                }
            }, logs: {
                serializedName: "properties.logs",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "LogSettings"
                        }
                    }
                }
            }, workspaceId: {
                serializedName: "properties.workspaceId",
                type: {
                    name: "String"
                }
            }, logAnalyticsDestinationType: {
                serializedName: "properties.logAnalyticsDestinationType",
                type: {
                    name: "String"
                }
            } })
    }
};
export const DiagnosticSettingsCategoryResource = {
    type: {
        name: "Composite",
        className: "DiagnosticSettingsCategoryResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { categoryType: {
                serializedName: "properties.categoryType",
                type: {
                    name: "Enum",
                    allowedValues: ["Metrics", "Logs"]
                }
            } })
    }
};
export const ActionGroupResource = {
    type: {
        name: "Composite",
        className: "ActionGroupResource",
        modelProperties: Object.assign(Object.assign({}, AzureResource.type.modelProperties), { groupShortName: {
                constraints: {
                    MaxLength: 12
                },
                serializedName: "properties.groupShortName",
                type: {
                    name: "String"
                }
            }, enabled: {
                defaultValue: true,
                serializedName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }, emailReceivers: {
                serializedName: "properties.emailReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "EmailReceiver"
                        }
                    }
                }
            }, smsReceivers: {
                serializedName: "properties.smsReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SmsReceiver"
                        }
                    }
                }
            }, webhookReceivers: {
                serializedName: "properties.webhookReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WebhookReceiver"
                        }
                    }
                }
            }, itsmReceivers: {
                serializedName: "properties.itsmReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ItsmReceiver"
                        }
                    }
                }
            }, azureAppPushReceivers: {
                serializedName: "properties.azureAppPushReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AzureAppPushReceiver"
                        }
                    }
                }
            }, automationRunbookReceivers: {
                serializedName: "properties.automationRunbookReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AutomationRunbookReceiver"
                        }
                    }
                }
            }, voiceReceivers: {
                serializedName: "properties.voiceReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VoiceReceiver"
                        }
                    }
                }
            }, logicAppReceivers: {
                serializedName: "properties.logicAppReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "LogicAppReceiver"
                        }
                    }
                }
            }, azureFunctionReceivers: {
                serializedName: "properties.azureFunctionReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AzureFunctionReceiver"
                        }
                    }
                }
            }, armRoleReceivers: {
                serializedName: "properties.armRoleReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ArmRoleReceiver"
                        }
                    }
                }
            }, eventHubReceivers: {
                serializedName: "properties.eventHubReceivers",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "EventHubReceiver"
                        }
                    }
                }
            } })
    }
};
export const MetricAlertSingleResourceMultipleMetricCriteria = {
    serializedName: "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria",
    type: {
        name: "Composite",
        className: "MetricAlertSingleResourceMultipleMetricCriteria",
        uberParent: "MetricAlertCriteria",
        additionalProperties: { type: { name: "Object" } },
        polymorphicDiscriminator: MetricAlertCriteria.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, MetricAlertCriteria.type.modelProperties), { allOf: {
                serializedName: "allOf",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricCriteria"
                        }
                    }
                }
            } })
    }
};
export const WebtestLocationAvailabilityCriteria = {
    serializedName: "Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria",
    type: {
        name: "Composite",
        className: "WebtestLocationAvailabilityCriteria",
        uberParent: "MetricAlertCriteria",
        additionalProperties: { type: { name: "Object" } },
        polymorphicDiscriminator: MetricAlertCriteria.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, MetricAlertCriteria.type.modelProperties), { webTestId: {
                serializedName: "webTestId",
                required: true,
                type: {
                    name: "String"
                }
            }, componentId: {
                serializedName: "componentId",
                required: true,
                type: {
                    name: "String"
                }
            }, failedLocationCount: {
                serializedName: "failedLocationCount",
                required: true,
                type: {
                    name: "Number"
                }
            } })
    }
};
export const MetricAlertMultipleResourceMultipleMetricCriteria = {
    serializedName: "Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria",
    type: {
        name: "Composite",
        className: "MetricAlertMultipleResourceMultipleMetricCriteria",
        uberParent: "MetricAlertCriteria",
        additionalProperties: { type: { name: "Object" } },
        polymorphicDiscriminator: MetricAlertCriteria.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, MetricAlertCriteria.type.modelProperties), { allOf: {
                serializedName: "allOf",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MultiMetricCriteria"
                        }
                    }
                }
            } })
    }
};
export const AlertingAction = {
    serializedName: "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.AlertingAction",
    type: {
        name: "Composite",
        className: "AlertingAction",
        uberParent: "Action",
        polymorphicDiscriminator: Action.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, Action.type.modelProperties), { severity: {
                serializedName: "severity",
                required: true,
                type: {
                    name: "String"
                }
            }, aznsAction: {
                serializedName: "aznsAction",
                type: {
                    name: "Composite",
                    className: "AzNsActionGroup"
                }
            }, throttlingInMin: {
                serializedName: "throttlingInMin",
                type: {
                    name: "Number"
                }
            }, trigger: {
                serializedName: "trigger",
                type: {
                    name: "Composite",
                    className: "TriggerCondition"
                }
            } })
    }
};
export const LogToMetricAction = {
    serializedName: "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.LogToMetricAction",
    type: {
        name: "Composite",
        className: "LogToMetricAction",
        uberParent: "Action",
        polymorphicDiscriminator: Action.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, Action.type.modelProperties), { criteria: {
                serializedName: "criteria",
                required: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Criteria"
                        }
                    }
                }
            } })
    }
};
export const LogSearchRuleResource = {
    type: {
        name: "Composite",
        className: "LogSearchRuleResource",
        modelProperties: Object.assign(Object.assign({}, ResourceAutoGenerated.type.modelProperties), { createdWithApiVersion: {
                serializedName: "properties.createdWithApiVersion",
                readOnly: true,
                type: {
                    name: "String"
                }
            }, isLegacyLogAnalyticsRule: {
                serializedName: "properties.isLegacyLogAnalyticsRule",
                readOnly: true,
                type: {
                    name: "Boolean"
                }
            }, description: {
                serializedName: "properties.description",
                type: {
                    name: "String"
                }
            }, displayName: {
                serializedName: "properties.displayName",
                type: {
                    name: "String"
                }
            }, autoMitigate: {
                defaultValue: false,
                serializedName: "properties.autoMitigate",
                type: {
                    name: "Boolean"
                }
            }, enabled: {
                serializedName: "properties.enabled",
                type: {
                    name: "String"
                }
            }, lastUpdatedTime: {
                serializedName: "properties.lastUpdatedTime",
                readOnly: true,
                type: {
                    name: "DateTime"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            }, source: {
                serializedName: "properties.source",
                type: {
                    name: "Composite",
                    className: "Source"
                }
            }, schedule: {
                serializedName: "properties.schedule",
                type: {
                    name: "Composite",
                    className: "Schedule"
                }
            }, action: {
                serializedName: "properties.action",
                type: {
                    name: "Composite",
                    className: "Action"
                }
            } })
    }
};
export const VMInsightsOnboardingStatus = {
    type: {
        name: "Composite",
        className: "VMInsightsOnboardingStatus",
        modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { resourceId: {
                serializedName: "properties.resourceId",
                type: {
                    name: "String"
                }
            }, onboardingStatus: {
                serializedName: "properties.onboardingStatus",
                type: {
                    name: "String"
                }
            }, dataStatus: {
                serializedName: "properties.dataStatus",
                type: {
                    name: "String"
                }
            }, data: {
                serializedName: "properties.data",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DataContainer"
                        }
                    }
                }
            } })
    }
};
export const PrivateEndpointConnection = {
    type: {
        name: "Composite",
        className: "PrivateEndpointConnection",
        modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { privateEndpoint: {
                serializedName: "properties.privateEndpoint",
                type: {
                    name: "Composite",
                    className: "PrivateEndpointProperty"
                }
            }, privateLinkServiceConnectionState: {
                serializedName: "properties.privateLinkServiceConnectionState",
                type: {
                    name: "Composite",
                    className: "PrivateLinkServiceConnectionStateProperty"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            } })
    }
};
export const PrivateLinkResource = {
    type: {
        name: "Composite",
        className: "PrivateLinkResource",
        modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { groupId: {
                serializedName: "properties.groupId",
                readOnly: true,
                type: {
                    name: "String"
                }
            }, requiredMembers: {
                serializedName: "properties.requiredMembers",
                readOnly: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            } })
    }
};
export const ScopedResource = {
    type: {
        name: "Composite",
        className: "ScopedResource",
        modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { linkedResourceId: {
                serializedName: "properties.linkedResourceId",
                type: {
                    name: "String"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            } })
    }
};
export const AzureMonitorPrivateLinkScope = {
    type: {
        name: "Composite",
        className: "AzureMonitorPrivateLinkScope",
        modelProperties: Object.assign(Object.assign({}, PrivateLinkScopesResource.type.modelProperties), { provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                type: {
                    name: "String"
                }
            }, privateEndpointConnections: {
                serializedName: "properties.privateEndpointConnections",
                readOnly: true,
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PrivateEndpointConnection"
                        }
                    }
                }
            } })
    }
};
export const DataCollectionEndpointResourceProperties = {
    type: {
        name: "Composite",
        className: "DataCollectionEndpointResourceProperties",
        modelProperties: Object.assign({}, DataCollectionEndpoint.type.modelProperties)
    }
};
export const DataCollectionEndpointConfigurationAccess = {
    type: {
        name: "Composite",
        className: "DataCollectionEndpointConfigurationAccess",
        modelProperties: Object.assign({}, ConfigurationAccessEndpointSpec.type.modelProperties)
    }
};
export const DataCollectionEndpointLogsIngestion = {
    type: {
        name: "Composite",
        className: "DataCollectionEndpointLogsIngestion",
        modelProperties: Object.assign({}, LogsIngestionEndpointSpec.type.modelProperties)
    }
};
export const DataCollectionEndpointNetworkAcls = {
    type: {
        name: "Composite",
        className: "DataCollectionEndpointNetworkAcls",
        modelProperties: Object.assign({}, NetworkRuleSet.type.modelProperties)
    }
};
export const DataCollectionEndpointResourceSystemData = {
    type: {
        name: "Composite",
        className: "DataCollectionEndpointResourceSystemData",
        modelProperties: Object.assign({}, SystemData.type.modelProperties)
    }
};
export const DataCollectionRuleAssociationProxyOnlyResourceSystemData = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleAssociationProxyOnlyResourceSystemData",
        modelProperties: Object.assign({}, SystemData.type.modelProperties)
    }
};
export const DataCollectionRuleResourceSystemData = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleResourceSystemData",
        modelProperties: Object.assign({}, SystemData.type.modelProperties)
    }
};
export const DataCollectionRuleAssociationProxyOnlyResourceProperties = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleAssociationProxyOnlyResourceProperties",
        modelProperties: Object.assign({}, DataCollectionRuleAssociation.type.modelProperties)
    }
};
export const DataCollectionRuleResourceProperties = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleResourceProperties",
        modelProperties: Object.assign({}, DataCollectionRule.type.modelProperties)
    }
};
export const DataCollectionRuleDataSources = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleDataSources",
        modelProperties: Object.assign({}, DataSourcesSpec.type.modelProperties)
    }
};
export const DataCollectionRuleDestinations = {
    type: {
        name: "Composite",
        className: "DataCollectionRuleDestinations",
        modelProperties: Object.assign({}, DestinationsSpec.type.modelProperties)
    }
};
export const DestinationsSpecAzureMonitorMetrics = {
    type: {
        name: "Composite",
        className: "DestinationsSpecAzureMonitorMetrics",
        modelProperties: Object.assign({}, AzureMonitorMetricsDestination.type.modelProperties)
    }
};
export const MetricCriteria = {
    serializedName: "StaticThresholdCriterion",
    type: {
        name: "Composite",
        className: "MetricCriteria",
        uberParent: "MultiMetricCriteria",
        additionalProperties: { type: { name: "Object" } },
        polymorphicDiscriminator: MultiMetricCriteria.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, MultiMetricCriteria.type.modelProperties), { operator: {
                serializedName: "operator",
                required: true,
                type: {
                    name: "String"
                }
            }, threshold: {
                serializedName: "threshold",
                required: true,
                type: {
                    name: "Number"
                }
            } })
    }
};
export const DynamicMetricCriteria = {
    serializedName: "DynamicThresholdCriterion",
    type: {
        name: "Composite",
        className: "DynamicMetricCriteria",
        uberParent: "MultiMetricCriteria",
        additionalProperties: { type: { name: "Object" } },
        polymorphicDiscriminator: MultiMetricCriteria.type.polymorphicDiscriminator,
        modelProperties: Object.assign(Object.assign({}, MultiMetricCriteria.type.modelProperties), { operator: {
                serializedName: "operator",
                required: true,
                type: {
                    name: "String"
                }
            }, alertSensitivity: {
                serializedName: "alertSensitivity",
                required: true,
                type: {
                    name: "String"
                }
            }, failingPeriods: {
                serializedName: "failingPeriods",
                type: {
                    name: "Composite",
                    className: "DynamicThresholdFailingPeriods"
                }
            }, ignoreDataBefore: {
                serializedName: "ignoreDataBefore",
                type: {
                    name: "DateTime"
                }
            } })
    }
};
export let discriminators = {
    RuleCondition: RuleCondition,
    RuleDataSource: RuleDataSource,
    RuleAction: RuleAction,
    MetricAlertCriteria: MetricAlertCriteria,
    Action: Action,
    MultiMetricCriteria: MultiMetricCriteria,
    "RuleCondition.Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition": ThresholdRuleCondition,
    "RuleCondition.Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition": LocationThresholdRuleCondition,
    "RuleCondition.Microsoft.Azure.Management.Insights.Models.ManagementEventRuleCondition": ManagementEventRuleCondition,
    "RuleDataSource.Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource": RuleMetricDataSource,
    "RuleDataSource.Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource": RuleManagementEventDataSource,
    "RuleAction.Microsoft.Azure.Management.Insights.Models.RuleEmailAction": RuleEmailAction,
    "RuleAction.Microsoft.Azure.Management.Insights.Models.RuleWebhookAction": RuleWebhookAction,
    "MetricAlertCriteria.Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria": MetricAlertSingleResourceMultipleMetricCriteria,
    "MetricAlertCriteria.Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria": WebtestLocationAvailabilityCriteria,
    "MetricAlertCriteria.Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria": MetricAlertMultipleResourceMultipleMetricCriteria,
    "Action.Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.AlertingAction": AlertingAction,
    "Action.Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.LogToMetricAction": LogToMetricAction,
    "MultiMetricCriteria.StaticThresholdCriterion": MetricCriteria,
    "MultiMetricCriteria.DynamicThresholdCriterion": DynamicMetricCriteria
};
//# sourceMappingURL=mappers.js.map