/*
 * 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 AppServiceCertificateOrderCollection = {
    serializedName: "AppServiceCertificateOrderCollection",
    type: {
        name: "Composite",
        className: "AppServiceCertificateOrderCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "AppServiceCertificateOrder",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AppServiceCertificateOrder"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AppServiceCertificate = {
    serializedName: "AppServiceCertificate",
    type: {
        name: "Composite",
        className: "AppServiceCertificate",
        modelProperties: {
            keyVaultId: {
                serializedName: "keyVaultId",
                xmlName: "keyVaultId",
                type: {
                    name: "String"
                }
            },
            keyVaultSecretName: {
                serializedName: "keyVaultSecretName",
                xmlName: "keyVaultSecretName",
                type: {
                    name: "String"
                }
            },
            provisioningState: {
                serializedName: "provisioningState",
                readOnly: true,
                xmlName: "provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Initialized",
                        "WaitingOnCertificateOrder",
                        "Succeeded",
                        "CertificateOrderFailed",
                        "OperationNotPermittedOnKeyVault",
                        "AzureServiceUnauthorizedToAccessKeyVault",
                        "KeyVaultDoesNotExist",
                        "KeyVaultSecretDoesNotExist",
                        "UnknownError",
                        "ExternalPrivateKey",
                        "Unknown"
                    ]
                }
            }
        }
    }
};
export const CertificateDetails = {
    serializedName: "CertificateDetails",
    type: {
        name: "Composite",
        className: "CertificateDetails",
        modelProperties: {
            version: {
                serializedName: "version",
                readOnly: true,
                xmlName: "version",
                type: {
                    name: "Number"
                }
            },
            serialNumber: {
                serializedName: "serialNumber",
                readOnly: true,
                xmlName: "serialNumber",
                type: {
                    name: "String"
                }
            },
            thumbprint: {
                serializedName: "thumbprint",
                readOnly: true,
                xmlName: "thumbprint",
                type: {
                    name: "String"
                }
            },
            subject: {
                serializedName: "subject",
                readOnly: true,
                xmlName: "subject",
                type: {
                    name: "String"
                }
            },
            notBefore: {
                serializedName: "notBefore",
                readOnly: true,
                xmlName: "notBefore",
                type: {
                    name: "DateTime"
                }
            },
            notAfter: {
                serializedName: "notAfter",
                readOnly: true,
                xmlName: "notAfter",
                type: {
                    name: "DateTime"
                }
            },
            signatureAlgorithm: {
                serializedName: "signatureAlgorithm",
                readOnly: true,
                xmlName: "signatureAlgorithm",
                type: {
                    name: "String"
                }
            },
            issuer: {
                serializedName: "issuer",
                readOnly: true,
                xmlName: "issuer",
                type: {
                    name: "String"
                }
            },
            rawData: {
                serializedName: "rawData",
                readOnly: true,
                xmlName: "rawData",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CertificateOrderContact = {
    serializedName: "CertificateOrderContact",
    type: {
        name: "Composite",
        className: "CertificateOrderContact",
        modelProperties: {
            email: {
                serializedName: "email",
                xmlName: "email",
                type: {
                    name: "String"
                }
            },
            nameFirst: {
                serializedName: "nameFirst",
                xmlName: "nameFirst",
                type: {
                    name: "String"
                }
            },
            nameLast: {
                serializedName: "nameLast",
                xmlName: "nameLast",
                type: {
                    name: "String"
                }
            },
            phone: {
                serializedName: "phone",
                xmlName: "phone",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Resource = {
    serializedName: "Resource",
    type: {
        name: "Composite",
        className: "Resource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            kind: {
                serializedName: "kind",
                xmlName: "kind",
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                required: true,
                xmlName: "location",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            tags: {
                serializedName: "tags",
                xmlName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const DefaultErrorResponse = {
    serializedName: "DefaultErrorResponse",
    type: {
        name: "Composite",
        className: "DefaultErrorResponse",
        modelProperties: {
            error: {
                serializedName: "error",
                xmlName: "error",
                type: {
                    name: "Composite",
                    className: "DefaultErrorResponseError"
                }
            }
        }
    }
};
export const DefaultErrorResponseError = {
    serializedName: "DefaultErrorResponseError",
    type: {
        name: "Composite",
        className: "DefaultErrorResponseError",
        modelProperties: {
            code: {
                serializedName: "code",
                readOnly: true,
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                readOnly: true,
                xmlName: "message",
                type: {
                    name: "String"
                }
            },
            target: {
                serializedName: "target",
                readOnly: true,
                xmlName: "target",
                type: {
                    name: "String"
                }
            },
            details: {
                serializedName: "details",
                xmlName: "details",
                xmlElementName: "DefaultErrorResponseErrorDetailsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DefaultErrorResponseErrorDetailsItem"
                        }
                    }
                }
            },
            innererror: {
                serializedName: "innererror",
                readOnly: true,
                xmlName: "innererror",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DefaultErrorResponseErrorDetailsItem = {
    serializedName: "DefaultErrorResponseErrorDetailsItem",
    type: {
        name: "Composite",
        className: "DefaultErrorResponseErrorDetailsItem",
        modelProperties: {
            code: {
                serializedName: "code",
                readOnly: true,
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                readOnly: true,
                xmlName: "message",
                type: {
                    name: "String"
                }
            },
            target: {
                serializedName: "target",
                readOnly: true,
                xmlName: "target",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ProxyOnlyResource = {
    serializedName: "ProxyOnlyResource",
    type: {
        name: "Composite",
        className: "ProxyOnlyResource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            kind: {
                serializedName: "kind",
                xmlName: "kind",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AppServiceCertificateCollection = {
    serializedName: "AppServiceCertificateCollection",
    type: {
        name: "Composite",
        className: "AppServiceCertificateCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "AppServiceCertificateResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AppServiceCertificateResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const NameIdentifier = {
    serializedName: "NameIdentifier",
    type: {
        name: "Composite",
        className: "NameIdentifier",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SiteSealRequest = {
    serializedName: "SiteSealRequest",
    type: {
        name: "Composite",
        className: "SiteSealRequest",
        modelProperties: {
            lightTheme: {
                serializedName: "lightTheme",
                xmlName: "lightTheme",
                type: {
                    name: "Boolean"
                }
            },
            locale: {
                serializedName: "locale",
                xmlName: "locale",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SiteSeal = {
    serializedName: "SiteSeal",
    type: {
        name: "Composite",
        className: "SiteSeal",
        modelProperties: {
            html: {
                serializedName: "html",
                required: true,
                xmlName: "html",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CertificateOrderAction = {
    serializedName: "CertificateOrderAction",
    type: {
        name: "Composite",
        className: "CertificateOrderAction",
        modelProperties: {
            actionType: {
                serializedName: "actionType",
                readOnly: true,
                xmlName: "actionType",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "CertificateIssued",
                        "CertificateOrderCanceled",
                        "CertificateOrderCreated",
                        "CertificateRevoked",
                        "DomainValidationComplete",
                        "FraudDetected",
                        "OrgNameChange",
                        "OrgValidationComplete",
                        "SanDrop",
                        "FraudCleared",
                        "CertificateExpired",
                        "CertificateExpirationWarning",
                        "FraudDocumentationRequired",
                        "Unknown"
                    ]
                }
            },
            createdAt: {
                serializedName: "createdAt",
                readOnly: true,
                xmlName: "createdAt",
                type: {
                    name: "DateTime"
                }
            }
        }
    }
};
export const CertificateEmail = {
    serializedName: "CertificateEmail",
    type: {
        name: "Composite",
        className: "CertificateEmail",
        modelProperties: {
            emailId: {
                serializedName: "emailId",
                xmlName: "emailId",
                type: {
                    name: "String"
                }
            },
            timeStamp: {
                serializedName: "timeStamp",
                xmlName: "timeStamp",
                type: {
                    name: "DateTime"
                }
            }
        }
    }
};
export const DetectorResponseCollection = {
    serializedName: "DetectorResponseCollection",
    type: {
        name: "Composite",
        className: "DetectorResponseCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "DetectorResponse",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DetectorResponse"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DetectorInfo = {
    serializedName: "DetectorInfo",
    type: {
        name: "Composite",
        className: "DetectorInfo",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                readOnly: true,
                xmlName: "description",
                type: {
                    name: "String"
                }
            },
            author: {
                serializedName: "author",
                readOnly: true,
                xmlName: "author",
                type: {
                    name: "String"
                }
            },
            category: {
                serializedName: "category",
                readOnly: true,
                xmlName: "category",
                type: {
                    name: "String"
                }
            },
            supportTopicList: {
                serializedName: "supportTopicList",
                readOnly: true,
                xmlName: "supportTopicList",
                xmlElementName: "SupportTopic",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SupportTopic"
                        }
                    }
                }
            },
            analysisType: {
                serializedName: "analysisType",
                readOnly: true,
                xmlName: "analysisType",
                xmlElementName: "DetectorInfoAnalysisTypeItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "Enum",
                    allowedValues: ["Detector", "Analysis", "CategoryOverview"]
                }
            },
            score: {
                serializedName: "score",
                readOnly: true,
                xmlName: "score",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const SupportTopic = {
    serializedName: "SupportTopic",
    type: {
        name: "Composite",
        className: "SupportTopic",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            pesId: {
                serializedName: "pesId",
                readOnly: true,
                xmlName: "pesId",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DiagnosticData = {
    serializedName: "DiagnosticData",
    type: {
        name: "Composite",
        className: "DiagnosticData",
        modelProperties: {
            table: {
                serializedName: "table",
                xmlName: "table",
                type: {
                    name: "Composite",
                    className: "DataTableResponseObject"
                }
            },
            renderingProperties: {
                serializedName: "renderingProperties",
                xmlName: "renderingProperties",
                type: {
                    name: "Composite",
                    className: "Rendering"
                }
            }
        }
    }
};
export const DataTableResponseObject = {
    serializedName: "DataTableResponseObject",
    type: {
        name: "Composite",
        className: "DataTableResponseObject",
        modelProperties: {
            tableName: {
                serializedName: "tableName",
                xmlName: "tableName",
                type: {
                    name: "String"
                }
            },
            columns: {
                serializedName: "columns",
                xmlName: "columns",
                xmlElementName: "DataTableResponseColumn",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DataTableResponseColumn"
                        }
                    }
                }
            },
            rows: {
                serializedName: "rows",
                xmlName: "rows",
                xmlElementName: "DataTableResponseObjectRowsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Sequence",
                            element: {
                                type: {
                                    name: "String"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
};
export const DataTableResponseColumn = {
    serializedName: "DataTableResponseColumn",
    type: {
        name: "Composite",
        className: "DataTableResponseColumn",
        modelProperties: {
            columnName: {
                serializedName: "columnName",
                xmlName: "columnName",
                type: {
                    name: "String"
                }
            },
            dataType: {
                serializedName: "dataType",
                xmlName: "dataType",
                type: {
                    name: "String"
                }
            },
            columnType: {
                serializedName: "columnType",
                xmlName: "columnType",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Rendering = {
    serializedName: "Rendering",
    type: {
        name: "Composite",
        className: "Rendering",
        modelProperties: {
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "NoGraph",
                        "Table",
                        "TimeSeries",
                        "TimeSeriesPerInstance",
                        "PieChart",
                        "DataSummary",
                        "Email",
                        "Insights",
                        "DynamicInsight",
                        "Markdown",
                        "Detector",
                        "DropDown",
                        "Card",
                        "Solution",
                        "Guage",
                        "Form",
                        "ChangeSets",
                        "ChangeAnalysisOnboarding",
                        "ChangesView",
                        "AppInsight",
                        "DependencyGraph",
                        "DownTime",
                        "SummaryCard",
                        "SearchComponent",
                        "AppInsightEnablement"
                    ]
                }
            },
            title: {
                serializedName: "title",
                xmlName: "title",
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                xmlName: "description",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Status = {
    serializedName: "Status",
    type: {
        name: "Composite",
        className: "Status",
        modelProperties: {
            message: {
                serializedName: "message",
                xmlName: "message",
                type: {
                    name: "String"
                }
            },
            statusId: {
                serializedName: "statusId",
                xmlName: "statusId",
                type: {
                    name: "Enum",
                    allowedValues: ["Critical", "Warning", "Info", "Success", "None"]
                }
            }
        }
    }
};
export const DataProviderMetadata = {
    serializedName: "DataProviderMetadata",
    type: {
        name: "Composite",
        className: "DataProviderMetadata",
        modelProperties: {
            providerName: {
                serializedName: "providerName",
                xmlName: "providerName",
                type: {
                    name: "String"
                }
            },
            propertyBag: {
                serializedName: "propertyBag",
                readOnly: true,
                xmlName: "propertyBag",
                xmlElementName: "KeyValuePairStringObject",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "KeyValuePairStringObject"
                        }
                    }
                }
            }
        }
    }
};
export const KeyValuePairStringObject = {
    serializedName: "KeyValuePairStringObject",
    type: {
        name: "Composite",
        className: "KeyValuePairStringObject",
        modelProperties: {
            key: {
                serializedName: "key",
                readOnly: true,
                xmlName: "key",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                readOnly: true,
                xmlName: "value",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }
        }
    }
};
export const QueryUtterancesResults = {
    serializedName: "QueryUtterancesResults",
    type: {
        name: "Composite",
        className: "QueryUtterancesResults",
        modelProperties: {
            query: {
                serializedName: "query",
                xmlName: "query",
                type: {
                    name: "String"
                }
            },
            results: {
                serializedName: "results",
                xmlName: "results",
                xmlElementName: "QueryUtterancesResult",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "QueryUtterancesResult"
                        }
                    }
                }
            }
        }
    }
};
export const QueryUtterancesResult = {
    serializedName: "QueryUtterancesResult",
    type: {
        name: "Composite",
        className: "QueryUtterancesResult",
        modelProperties: {
            sampleUtterance: {
                serializedName: "sampleUtterance",
                xmlName: "sampleUtterance",
                type: {
                    name: "Composite",
                    className: "SampleUtterance"
                }
            },
            score: {
                serializedName: "score",
                xmlName: "score",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const SampleUtterance = {
    serializedName: "SampleUtterance",
    type: {
        name: "Composite",
        className: "SampleUtterance",
        modelProperties: {
            text: {
                serializedName: "text",
                xmlName: "text",
                type: {
                    name: "String"
                }
            },
            links: {
                serializedName: "links",
                xmlName: "links",
                xmlElementName: "SampleUtteranceLinksItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            qid: {
                serializedName: "qid",
                xmlName: "qid",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CsmOperationCollection = {
    serializedName: "CsmOperationCollection",
    type: {
        name: "Composite",
        className: "CsmOperationCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "CsmOperationDescription",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "CsmOperationDescription"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CsmOperationDescription = {
    serializedName: "CsmOperationDescription",
    type: {
        name: "Composite",
        className: "CsmOperationDescription",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            isDataAction: {
                serializedName: "isDataAction",
                xmlName: "isDataAction",
                type: {
                    name: "Boolean"
                }
            },
            display: {
                serializedName: "display",
                xmlName: "display",
                type: {
                    name: "Composite",
                    className: "CsmOperationDisplay"
                }
            },
            origin: {
                serializedName: "origin",
                xmlName: "origin",
                type: {
                    name: "String"
                }
            },
            properties: {
                serializedName: "properties",
                xmlName: "properties",
                type: {
                    name: "Composite",
                    className: "CsmOperationDescriptionProperties"
                }
            }
        }
    }
};
export const CsmOperationDisplay = {
    serializedName: "CsmOperationDisplay",
    type: {
        name: "Composite",
        className: "CsmOperationDisplay",
        modelProperties: {
            provider: {
                serializedName: "provider",
                xmlName: "provider",
                type: {
                    name: "String"
                }
            },
            resource: {
                serializedName: "resource",
                xmlName: "resource",
                type: {
                    name: "String"
                }
            },
            operation: {
                serializedName: "operation",
                xmlName: "operation",
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                xmlName: "description",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CsmOperationDescriptionProperties = {
    serializedName: "CsmOperationDescriptionProperties",
    type: {
        name: "Composite",
        className: "CsmOperationDescriptionProperties",
        modelProperties: {
            serviceSpecification: {
                serializedName: "serviceSpecification",
                xmlName: "serviceSpecification",
                type: {
                    name: "Composite",
                    className: "ServiceSpecification"
                }
            }
        }
    }
};
export const ServiceSpecification = {
    serializedName: "ServiceSpecification",
    type: {
        name: "Composite",
        className: "ServiceSpecification",
        modelProperties: {
            metricSpecifications: {
                serializedName: "metricSpecifications",
                xmlName: "metricSpecifications",
                xmlElementName: "MetricSpecification",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricSpecification"
                        }
                    }
                }
            },
            logSpecifications: {
                serializedName: "logSpecifications",
                xmlName: "logSpecifications",
                xmlElementName: "LogSpecification",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "LogSpecification"
                        }
                    }
                }
            }
        }
    }
};
export const MetricSpecification = {
    serializedName: "MetricSpecification",
    type: {
        name: "Composite",
        className: "MetricSpecification",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            displayName: {
                serializedName: "displayName",
                xmlName: "displayName",
                type: {
                    name: "String"
                }
            },
            displayDescription: {
                serializedName: "displayDescription",
                xmlName: "displayDescription",
                type: {
                    name: "String"
                }
            },
            unit: {
                serializedName: "unit",
                xmlName: "unit",
                type: {
                    name: "String"
                }
            },
            aggregationType: {
                serializedName: "aggregationType",
                xmlName: "aggregationType",
                type: {
                    name: "String"
                }
            },
            supportsInstanceLevelAggregation: {
                serializedName: "supportsInstanceLevelAggregation",
                xmlName: "supportsInstanceLevelAggregation",
                type: {
                    name: "Boolean"
                }
            },
            enableRegionalMdmAccount: {
                serializedName: "enableRegionalMdmAccount",
                xmlName: "enableRegionalMdmAccount",
                type: {
                    name: "Boolean"
                }
            },
            sourceMdmAccount: {
                serializedName: "sourceMdmAccount",
                xmlName: "sourceMdmAccount",
                type: {
                    name: "String"
                }
            },
            sourceMdmNamespace: {
                serializedName: "sourceMdmNamespace",
                xmlName: "sourceMdmNamespace",
                type: {
                    name: "String"
                }
            },
            metricFilterPattern: {
                serializedName: "metricFilterPattern",
                xmlName: "metricFilterPattern",
                type: {
                    name: "String"
                }
            },
            fillGapWithZero: {
                serializedName: "fillGapWithZero",
                xmlName: "fillGapWithZero",
                type: {
                    name: "Boolean"
                }
            },
            isInternal: {
                serializedName: "isInternal",
                xmlName: "isInternal",
                type: {
                    name: "Boolean"
                }
            },
            dimensions: {
                serializedName: "dimensions",
                xmlName: "dimensions",
                xmlElementName: "Dimension",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Dimension"
                        }
                    }
                }
            },
            category: {
                serializedName: "category",
                xmlName: "category",
                type: {
                    name: "String"
                }
            },
            availabilities: {
                serializedName: "availabilities",
                xmlName: "availabilities",
                xmlElementName: "MetricAvailability",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MetricAvailability"
                        }
                    }
                }
            },
            supportedTimeGrainTypes: {
                serializedName: "supportedTimeGrainTypes",
                xmlName: "supportedTimeGrainTypes",
                xmlElementName: "MetricSpecificationSupportedTimeGrainTypesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            supportedAggregationTypes: {
                serializedName: "supportedAggregationTypes",
                xmlName: "supportedAggregationTypes",
                xmlElementName: "MetricSpecificationSupportedAggregationTypesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const Dimension = {
    serializedName: "Dimension",
    type: {
        name: "Composite",
        className: "Dimension",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            displayName: {
                serializedName: "displayName",
                xmlName: "displayName",
                type: {
                    name: "String"
                }
            },
            internalName: {
                serializedName: "internalName",
                xmlName: "internalName",
                type: {
                    name: "String"
                }
            },
            toBeExportedForShoebox: {
                serializedName: "toBeExportedForShoebox",
                xmlName: "toBeExportedForShoebox",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const MetricAvailability = {
    serializedName: "MetricAvailability",
    type: {
        name: "Composite",
        className: "MetricAvailability",
        modelProperties: {
            timeGrain: {
                serializedName: "timeGrain",
                xmlName: "timeGrain",
                type: {
                    name: "String"
                }
            },
            blobDuration: {
                serializedName: "blobDuration",
                xmlName: "blobDuration",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const LogSpecification = {
    serializedName: "LogSpecification",
    type: {
        name: "Composite",
        className: "LogSpecification",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            displayName: {
                serializedName: "displayName",
                xmlName: "displayName",
                type: {
                    name: "String"
                }
            },
            blobDuration: {
                serializedName: "blobDuration",
                xmlName: "blobDuration",
                type: {
                    name: "String"
                }
            },
            logFilterPattern: {
                serializedName: "logFilterPattern",
                xmlName: "logFilterPattern",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DomainAvailabilityCheckResult = {
    serializedName: "DomainAvailabilityCheckResult",
    type: {
        name: "Composite",
        className: "DomainAvailabilityCheckResult",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            available: {
                serializedName: "available",
                xmlName: "available",
                type: {
                    name: "Boolean"
                }
            },
            domainType: {
                serializedName: "domainType",
                xmlName: "domainType",
                type: {
                    name: "Enum",
                    allowedValues: ["Regular", "SoftDeleted"]
                }
            }
        }
    }
};
export const DomainCollection = {
    serializedName: "DomainCollection",
    type: {
        name: "Composite",
        className: "DomainCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "Domain",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Domain"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Contact = {
    serializedName: "Contact",
    type: {
        name: "Composite",
        className: "Contact",
        modelProperties: {
            addressMailing: {
                serializedName: "addressMailing",
                xmlName: "addressMailing",
                type: {
                    name: "Composite",
                    className: "Address"
                }
            },
            email: {
                serializedName: "email",
                required: true,
                xmlName: "email",
                type: {
                    name: "String"
                }
            },
            fax: {
                serializedName: "fax",
                xmlName: "fax",
                type: {
                    name: "String"
                }
            },
            jobTitle: {
                serializedName: "jobTitle",
                xmlName: "jobTitle",
                type: {
                    name: "String"
                }
            },
            nameFirst: {
                serializedName: "nameFirst",
                required: true,
                xmlName: "nameFirst",
                type: {
                    name: "String"
                }
            },
            nameLast: {
                serializedName: "nameLast",
                required: true,
                xmlName: "nameLast",
                type: {
                    name: "String"
                }
            },
            nameMiddle: {
                serializedName: "nameMiddle",
                xmlName: "nameMiddle",
                type: {
                    name: "String"
                }
            },
            organization: {
                serializedName: "organization",
                xmlName: "organization",
                type: {
                    name: "String"
                }
            },
            phone: {
                serializedName: "phone",
                required: true,
                xmlName: "phone",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Address = {
    serializedName: "Address",
    type: {
        name: "Composite",
        className: "Address",
        modelProperties: {
            address1: {
                serializedName: "address1",
                required: true,
                xmlName: "address1",
                type: {
                    name: "String"
                }
            },
            address2: {
                serializedName: "address2",
                xmlName: "address2",
                type: {
                    name: "String"
                }
            },
            city: {
                serializedName: "city",
                required: true,
                xmlName: "city",
                type: {
                    name: "String"
                }
            },
            country: {
                serializedName: "country",
                required: true,
                xmlName: "country",
                type: {
                    name: "String"
                }
            },
            postalCode: {
                serializedName: "postalCode",
                required: true,
                xmlName: "postalCode",
                type: {
                    name: "String"
                }
            },
            state: {
                serializedName: "state",
                required: true,
                xmlName: "state",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const HostName = {
    serializedName: "HostName",
    type: {
        name: "Composite",
        className: "HostName",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            siteNames: {
                serializedName: "siteNames",
                xmlName: "siteNames",
                xmlElementName: "HostNameSiteNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            azureResourceName: {
                serializedName: "azureResourceName",
                xmlName: "azureResourceName",
                type: {
                    name: "String"
                }
            },
            azureResourceType: {
                serializedName: "azureResourceType",
                xmlName: "azureResourceType",
                type: {
                    name: "Enum",
                    allowedValues: ["Website", "TrafficManager"]
                }
            },
            customHostNameDnsRecordType: {
                serializedName: "customHostNameDnsRecordType",
                xmlName: "customHostNameDnsRecordType",
                type: {
                    name: "Enum",
                    allowedValues: ["CName", "A"]
                }
            },
            hostNameType: {
                serializedName: "hostNameType",
                xmlName: "hostNameType",
                type: {
                    name: "Enum",
                    allowedValues: ["Verified", "Managed"]
                }
            }
        }
    }
};
export const DomainPurchaseConsent = {
    serializedName: "DomainPurchaseConsent",
    type: {
        name: "Composite",
        className: "DomainPurchaseConsent",
        modelProperties: {
            agreementKeys: {
                serializedName: "agreementKeys",
                xmlName: "agreementKeys",
                xmlElementName: "DomainPurchaseConsentAgreementKeysItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            agreedBy: {
                serializedName: "agreedBy",
                xmlName: "agreedBy",
                type: {
                    name: "String"
                }
            },
            agreedAt: {
                serializedName: "agreedAt",
                xmlName: "agreedAt",
                type: {
                    name: "DateTime"
                }
            }
        }
    }
};
export const DomainControlCenterSsoRequest = {
    serializedName: "DomainControlCenterSsoRequest",
    type: {
        name: "Composite",
        className: "DomainControlCenterSsoRequest",
        modelProperties: {
            url: {
                serializedName: "url",
                readOnly: true,
                xmlName: "url",
                type: {
                    name: "String"
                }
            },
            postParameterKey: {
                serializedName: "postParameterKey",
                readOnly: true,
                xmlName: "postParameterKey",
                type: {
                    name: "String"
                }
            },
            postParameterValue: {
                serializedName: "postParameterValue",
                readOnly: true,
                xmlName: "postParameterValue",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DomainRecommendationSearchParameters = {
    serializedName: "DomainRecommendationSearchParameters",
    type: {
        name: "Composite",
        className: "DomainRecommendationSearchParameters",
        modelProperties: {
            keywords: {
                serializedName: "keywords",
                xmlName: "keywords",
                type: {
                    name: "String"
                }
            },
            maxDomainRecommendations: {
                serializedName: "maxDomainRecommendations",
                xmlName: "maxDomainRecommendations",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const NameIdentifierCollection = {
    serializedName: "NameIdentifierCollection",
    type: {
        name: "Composite",
        className: "NameIdentifierCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "NameIdentifier",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "NameIdentifier"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DomainOwnershipIdentifierCollection = {
    serializedName: "DomainOwnershipIdentifierCollection",
    type: {
        name: "Composite",
        className: "DomainOwnershipIdentifierCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "DomainOwnershipIdentifier",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DomainOwnershipIdentifier"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const TopLevelDomainCollection = {
    serializedName: "TopLevelDomainCollection",
    type: {
        name: "Composite",
        className: "TopLevelDomainCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "TopLevelDomain",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "TopLevelDomain"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const TopLevelDomainAgreementOption = {
    serializedName: "TopLevelDomainAgreementOption",
    type: {
        name: "Composite",
        className: "TopLevelDomainAgreementOption",
        modelProperties: {
            includePrivacy: {
                serializedName: "includePrivacy",
                xmlName: "includePrivacy",
                type: {
                    name: "Boolean"
                }
            },
            forTransfer: {
                serializedName: "forTransfer",
                xmlName: "forTransfer",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const TldLegalAgreementCollection = {
    serializedName: "TldLegalAgreementCollection",
    type: {
        name: "Composite",
        className: "TldLegalAgreementCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "TldLegalAgreement",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "TldLegalAgreement"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const TldLegalAgreement = {
    serializedName: "TldLegalAgreement",
    type: {
        name: "Composite",
        className: "TldLegalAgreement",
        modelProperties: {
            agreementKey: {
                serializedName: "agreementKey",
                required: true,
                xmlName: "agreementKey",
                type: {
                    name: "String"
                }
            },
            title: {
                serializedName: "title",
                required: true,
                xmlName: "title",
                type: {
                    name: "String"
                }
            },
            content: {
                serializedName: "content",
                required: true,
                xmlName: "content",
                type: {
                    name: "String"
                }
            },
            url: {
                serializedName: "url",
                xmlName: "url",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AppServiceEnvironmentCollection = {
    serializedName: "AppServiceEnvironmentCollection",
    type: {
        name: "Composite",
        className: "AppServiceEnvironmentCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "AppServiceEnvironmentResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AppServiceEnvironmentResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AppServiceEnvironment = {
    serializedName: "AppServiceEnvironment",
    type: {
        name: "Composite",
        className: "AppServiceEnvironment",
        modelProperties: {
            provisioningState: {
                serializedName: "provisioningState",
                readOnly: true,
                xmlName: "provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                    ]
                }
            },
            status: {
                serializedName: "status",
                readOnly: true,
                xmlName: "status",
                type: {
                    name: "Enum",
                    allowedValues: ["Preparing", "Ready", "Scaling", "Deleting"]
                }
            },
            virtualNetwork: {
                serializedName: "virtualNetwork",
                xmlName: "virtualNetwork",
                type: {
                    name: "Composite",
                    className: "VirtualNetworkProfile"
                }
            },
            internalLoadBalancingMode: {
                serializedName: "internalLoadBalancingMode",
                xmlName: "internalLoadBalancingMode",
                type: {
                    name: "String"
                }
            },
            multiSize: {
                serializedName: "multiSize",
                xmlName: "multiSize",
                type: {
                    name: "String"
                }
            },
            multiRoleCount: {
                serializedName: "multiRoleCount",
                readOnly: true,
                xmlName: "multiRoleCount",
                type: {
                    name: "Number"
                }
            },
            ipsslAddressCount: {
                serializedName: "ipsslAddressCount",
                xmlName: "ipsslAddressCount",
                type: {
                    name: "Number"
                }
            },
            dnsSuffix: {
                serializedName: "dnsSuffix",
                xmlName: "dnsSuffix",
                type: {
                    name: "String"
                }
            },
            maximumNumberOfMachines: {
                serializedName: "maximumNumberOfMachines",
                readOnly: true,
                xmlName: "maximumNumberOfMachines",
                type: {
                    name: "Number"
                }
            },
            frontEndScaleFactor: {
                serializedName: "frontEndScaleFactor",
                xmlName: "frontEndScaleFactor",
                type: {
                    name: "Number"
                }
            },
            suspended: {
                serializedName: "suspended",
                readOnly: true,
                xmlName: "suspended",
                type: {
                    name: "Boolean"
                }
            },
            clusterSettings: {
                serializedName: "clusterSettings",
                xmlName: "clusterSettings",
                xmlElementName: "NameValuePair",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "NameValuePair"
                        }
                    }
                }
            },
            userWhitelistedIpRanges: {
                serializedName: "userWhitelistedIpRanges",
                xmlName: "userWhitelistedIpRanges",
                xmlElementName: "AppServiceEnvironmentUserWhitelistedIpRangesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            hasLinuxWorkers: {
                serializedName: "hasLinuxWorkers",
                readOnly: true,
                xmlName: "hasLinuxWorkers",
                type: {
                    name: "Boolean"
                }
            },
            upgradePreference: {
                defaultValue: "None",
                serializedName: "upgradePreference",
                xmlName: "upgradePreference",
                type: {
                    name: "String"
                }
            },
            dedicatedHostCount: {
                serializedName: "dedicatedHostCount",
                xmlName: "dedicatedHostCount",
                type: {
                    name: "Number"
                }
            },
            zoneRedundant: {
                serializedName: "zoneRedundant",
                xmlName: "zoneRedundant",
                type: {
                    name: "Boolean"
                }
            },
            customDnsSuffixConfiguration: {
                serializedName: "customDnsSuffixConfiguration",
                xmlName: "customDnsSuffixConfiguration",
                type: {
                    name: "Composite",
                    className: "CustomDnsSuffixConfiguration"
                }
            },
            networkingConfiguration: {
                serializedName: "networkingConfiguration",
                xmlName: "networkingConfiguration",
                type: {
                    name: "Composite",
                    className: "AseV3NetworkingConfiguration"
                }
            },
            upgradeAvailability: {
                serializedName: "upgradeAvailability",
                readOnly: true,
                xmlName: "upgradeAvailability",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const VirtualNetworkProfile = {
    serializedName: "VirtualNetworkProfile",
    type: {
        name: "Composite",
        className: "VirtualNetworkProfile",
        modelProperties: {
            id: {
                serializedName: "id",
                required: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            subnet: {
                serializedName: "subnet",
                xmlName: "subnet",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const NameValuePair = {
    serializedName: "NameValuePair",
    type: {
        name: "Composite",
        className: "NameValuePair",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StampCapacityCollection = {
    serializedName: "StampCapacityCollection",
    type: {
        name: "Composite",
        className: "StampCapacityCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "StampCapacity",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StampCapacity"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StampCapacity = {
    serializedName: "StampCapacity",
    type: {
        name: "Composite",
        className: "StampCapacity",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            availableCapacity: {
                serializedName: "availableCapacity",
                xmlName: "availableCapacity",
                type: {
                    name: "Number"
                }
            },
            totalCapacity: {
                serializedName: "totalCapacity",
                xmlName: "totalCapacity",
                type: {
                    name: "Number"
                }
            },
            unit: {
                serializedName: "unit",
                xmlName: "unit",
                type: {
                    name: "String"
                }
            },
            computeMode: {
                serializedName: "computeMode",
                xmlName: "computeMode",
                type: {
                    name: "Enum",
                    allowedValues: ["Shared", "Dedicated", "Dynamic"]
                }
            },
            workerSize: {
                serializedName: "workerSize",
                xmlName: "workerSize",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Small",
                        "Medium",
                        "Large",
                        "D1",
                        "D2",
                        "D3",
                        "SmallV3",
                        "MediumV3",
                        "LargeV3",
                        "NestedSmall",
                        "NestedSmallLinux",
                        "Default"
                    ]
                }
            },
            workerSizeId: {
                serializedName: "workerSizeId",
                xmlName: "workerSizeId",
                type: {
                    name: "Number"
                }
            },
            excludeFromCapacityAllocation: {
                serializedName: "excludeFromCapacityAllocation",
                xmlName: "excludeFromCapacityAllocation",
                type: {
                    name: "Boolean"
                }
            },
            isApplicableForAllComputeModes: {
                serializedName: "isApplicableForAllComputeModes",
                xmlName: "isApplicableForAllComputeModes",
                type: {
                    name: "Boolean"
                }
            },
            siteMode: {
                serializedName: "siteMode",
                xmlName: "siteMode",
                type: {
                    name: "String"
                }
            },
            isLinux: {
                serializedName: "isLinux",
                xmlName: "isLinux",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const VirtualIPMapping = {
    serializedName: "VirtualIPMapping",
    type: {
        name: "Composite",
        className: "VirtualIPMapping",
        modelProperties: {
            virtualIP: {
                serializedName: "virtualIP",
                xmlName: "virtualIP",
                type: {
                    name: "String"
                }
            },
            internalHttpPort: {
                serializedName: "internalHttpPort",
                xmlName: "internalHttpPort",
                type: {
                    name: "Number"
                }
            },
            internalHttpsPort: {
                serializedName: "internalHttpsPort",
                xmlName: "internalHttpsPort",
                type: {
                    name: "Number"
                }
            },
            inUse: {
                serializedName: "inUse",
                xmlName: "inUse",
                type: {
                    name: "Boolean"
                }
            },
            serviceName: {
                serializedName: "serviceName",
                xmlName: "serviceName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WebAppCollection = {
    serializedName: "WebAppCollection",
    type: {
        name: "Composite",
        className: "WebAppCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "Site",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Site"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const HostNameSslState = {
    serializedName: "HostNameSslState",
    type: {
        name: "Composite",
        className: "HostNameSslState",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            sslState: {
                serializedName: "sslState",
                xmlName: "sslState",
                type: {
                    name: "Enum",
                    allowedValues: ["Disabled", "SniEnabled", "IpBasedEnabled"]
                }
            },
            virtualIP: {
                serializedName: "virtualIP",
                xmlName: "virtualIP",
                type: {
                    name: "String"
                }
            },
            thumbprint: {
                serializedName: "thumbprint",
                xmlName: "thumbprint",
                type: {
                    name: "String"
                }
            },
            toUpdate: {
                serializedName: "toUpdate",
                xmlName: "toUpdate",
                type: {
                    name: "Boolean"
                }
            },
            hostType: {
                serializedName: "hostType",
                xmlName: "hostType",
                type: {
                    name: "Enum",
                    allowedValues: ["Standard", "Repository"]
                }
            }
        }
    }
};
export const SiteConfig = {
    serializedName: "SiteConfig",
    type: {
        name: "Composite",
        className: "SiteConfig",
        modelProperties: {
            numberOfWorkers: {
                serializedName: "numberOfWorkers",
                xmlName: "numberOfWorkers",
                type: {
                    name: "Number"
                }
            },
            defaultDocuments: {
                serializedName: "defaultDocuments",
                xmlName: "defaultDocuments",
                xmlElementName: "SiteConfigDefaultDocumentsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            netFrameworkVersion: {
                defaultValue: "v4.6",
                serializedName: "netFrameworkVersion",
                xmlName: "netFrameworkVersion",
                type: {
                    name: "String"
                }
            },
            phpVersion: {
                serializedName: "phpVersion",
                xmlName: "phpVersion",
                type: {
                    name: "String"
                }
            },
            pythonVersion: {
                serializedName: "pythonVersion",
                xmlName: "pythonVersion",
                type: {
                    name: "String"
                }
            },
            nodeVersion: {
                serializedName: "nodeVersion",
                xmlName: "nodeVersion",
                type: {
                    name: "String"
                }
            },
            powerShellVersion: {
                serializedName: "powerShellVersion",
                xmlName: "powerShellVersion",
                type: {
                    name: "String"
                }
            },
            linuxFxVersion: {
                serializedName: "linuxFxVersion",
                xmlName: "linuxFxVersion",
                type: {
                    name: "String"
                }
            },
            windowsFxVersion: {
                serializedName: "windowsFxVersion",
                xmlName: "windowsFxVersion",
                type: {
                    name: "String"
                }
            },
            requestTracingEnabled: {
                serializedName: "requestTracingEnabled",
                xmlName: "requestTracingEnabled",
                type: {
                    name: "Boolean"
                }
            },
            requestTracingExpirationTime: {
                serializedName: "requestTracingExpirationTime",
                xmlName: "requestTracingExpirationTime",
                type: {
                    name: "DateTime"
                }
            },
            remoteDebuggingEnabled: {
                serializedName: "remoteDebuggingEnabled",
                xmlName: "remoteDebuggingEnabled",
                type: {
                    name: "Boolean"
                }
            },
            remoteDebuggingVersion: {
                serializedName: "remoteDebuggingVersion",
                xmlName: "remoteDebuggingVersion",
                type: {
                    name: "String"
                }
            },
            httpLoggingEnabled: {
                serializedName: "httpLoggingEnabled",
                xmlName: "httpLoggingEnabled",
                type: {
                    name: "Boolean"
                }
            },
            acrUseManagedIdentityCreds: {
                serializedName: "acrUseManagedIdentityCreds",
                xmlName: "acrUseManagedIdentityCreds",
                type: {
                    name: "Boolean"
                }
            },
            acrUserManagedIdentityID: {
                serializedName: "acrUserManagedIdentityID",
                xmlName: "acrUserManagedIdentityID",
                type: {
                    name: "String"
                }
            },
            logsDirectorySizeLimit: {
                serializedName: "logsDirectorySizeLimit",
                xmlName: "logsDirectorySizeLimit",
                type: {
                    name: "Number"
                }
            },
            detailedErrorLoggingEnabled: {
                serializedName: "detailedErrorLoggingEnabled",
                xmlName: "detailedErrorLoggingEnabled",
                type: {
                    name: "Boolean"
                }
            },
            publishingUsername: {
                serializedName: "publishingUsername",
                xmlName: "publishingUsername",
                type: {
                    name: "String"
                }
            },
            appSettings: {
                serializedName: "appSettings",
                xmlName: "appSettings",
                xmlElementName: "NameValuePair",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "NameValuePair"
                        }
                    }
                }
            },
            metadata: {
                serializedName: "metadata",
                xmlName: "metadata",
                xmlElementName: "NameValuePair",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "NameValuePair"
                        }
                    }
                }
            },
            connectionStrings: {
                serializedName: "connectionStrings",
                xmlName: "connectionStrings",
                xmlElementName: "ConnStringInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ConnStringInfo"
                        }
                    }
                }
            },
            machineKey: {
                serializedName: "machineKey",
                xmlName: "machineKey",
                type: {
                    name: "Composite",
                    className: "SiteMachineKey"
                }
            },
            handlerMappings: {
                serializedName: "handlerMappings",
                xmlName: "handlerMappings",
                xmlElementName: "HandlerMapping",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HandlerMapping"
                        }
                    }
                }
            },
            documentRoot: {
                serializedName: "documentRoot",
                xmlName: "documentRoot",
                type: {
                    name: "String"
                }
            },
            scmType: {
                serializedName: "scmType",
                xmlName: "scmType",
                type: {
                    name: "String"
                }
            },
            use32BitWorkerProcess: {
                serializedName: "use32BitWorkerProcess",
                xmlName: "use32BitWorkerProcess",
                type: {
                    name: "Boolean"
                }
            },
            webSocketsEnabled: {
                serializedName: "webSocketsEnabled",
                xmlName: "webSocketsEnabled",
                type: {
                    name: "Boolean"
                }
            },
            alwaysOn: {
                serializedName: "alwaysOn",
                xmlName: "alwaysOn",
                type: {
                    name: "Boolean"
                }
            },
            javaVersion: {
                serializedName: "javaVersion",
                xmlName: "javaVersion",
                type: {
                    name: "String"
                }
            },
            javaContainer: {
                serializedName: "javaContainer",
                xmlName: "javaContainer",
                type: {
                    name: "String"
                }
            },
            javaContainerVersion: {
                serializedName: "javaContainerVersion",
                xmlName: "javaContainerVersion",
                type: {
                    name: "String"
                }
            },
            appCommandLine: {
                serializedName: "appCommandLine",
                xmlName: "appCommandLine",
                type: {
                    name: "String"
                }
            },
            managedPipelineMode: {
                serializedName: "managedPipelineMode",
                xmlName: "managedPipelineMode",
                type: {
                    name: "Enum",
                    allowedValues: ["Integrated", "Classic"]
                }
            },
            virtualApplications: {
                serializedName: "virtualApplications",
                xmlName: "virtualApplications",
                xmlElementName: "VirtualApplication",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VirtualApplication"
                        }
                    }
                }
            },
            loadBalancing: {
                serializedName: "loadBalancing",
                xmlName: "loadBalancing",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "WeightedRoundRobin",
                        "LeastRequests",
                        "LeastResponseTime",
                        "WeightedTotalTraffic",
                        "RequestHash",
                        "PerSiteRoundRobin"
                    ]
                }
            },
            experiments: {
                serializedName: "experiments",
                xmlName: "experiments",
                type: {
                    name: "Composite",
                    className: "Experiments"
                }
            },
            limits: {
                serializedName: "limits",
                xmlName: "limits",
                type: {
                    name: "Composite",
                    className: "SiteLimits"
                }
            },
            autoHealEnabled: {
                serializedName: "autoHealEnabled",
                xmlName: "autoHealEnabled",
                type: {
                    name: "Boolean"
                }
            },
            autoHealRules: {
                serializedName: "autoHealRules",
                xmlName: "autoHealRules",
                type: {
                    name: "Composite",
                    className: "AutoHealRules"
                }
            },
            tracingOptions: {
                serializedName: "tracingOptions",
                xmlName: "tracingOptions",
                type: {
                    name: "String"
                }
            },
            vnetName: {
                serializedName: "vnetName",
                xmlName: "vnetName",
                type: {
                    name: "String"
                }
            },
            vnetRouteAllEnabled: {
                serializedName: "vnetRouteAllEnabled",
                xmlName: "vnetRouteAllEnabled",
                type: {
                    name: "Boolean"
                }
            },
            vnetPrivatePortsCount: {
                serializedName: "vnetPrivatePortsCount",
                xmlName: "vnetPrivatePortsCount",
                type: {
                    name: "Number"
                }
            },
            cors: {
                serializedName: "cors",
                xmlName: "cors",
                type: {
                    name: "Composite",
                    className: "CorsSettings"
                }
            },
            push: {
                serializedName: "push",
                xmlName: "push",
                type: {
                    name: "Composite",
                    className: "PushSettings"
                }
            },
            apiDefinition: {
                serializedName: "apiDefinition",
                xmlName: "apiDefinition",
                type: {
                    name: "Composite",
                    className: "ApiDefinitionInfo"
                }
            },
            apiManagementConfig: {
                serializedName: "apiManagementConfig",
                xmlName: "apiManagementConfig",
                type: {
                    name: "Composite",
                    className: "ApiManagementConfig"
                }
            },
            autoSwapSlotName: {
                serializedName: "autoSwapSlotName",
                xmlName: "autoSwapSlotName",
                type: {
                    name: "String"
                }
            },
            localMySqlEnabled: {
                defaultValue: false,
                serializedName: "localMySqlEnabled",
                xmlName: "localMySqlEnabled",
                type: {
                    name: "Boolean"
                }
            },
            managedServiceIdentityId: {
                serializedName: "managedServiceIdentityId",
                xmlName: "managedServiceIdentityId",
                type: {
                    name: "Number"
                }
            },
            xManagedServiceIdentityId: {
                serializedName: "xManagedServiceIdentityId",
                xmlName: "xManagedServiceIdentityId",
                type: {
                    name: "Number"
                }
            },
            keyVaultReferenceIdentity: {
                serializedName: "keyVaultReferenceIdentity",
                xmlName: "keyVaultReferenceIdentity",
                type: {
                    name: "String"
                }
            },
            ipSecurityRestrictions: {
                serializedName: "ipSecurityRestrictions",
                xmlName: "ipSecurityRestrictions",
                xmlElementName: "IpSecurityRestriction",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "IpSecurityRestriction"
                        }
                    }
                }
            },
            ipSecurityRestrictionsDefaultAction: {
                serializedName: "ipSecurityRestrictionsDefaultAction",
                xmlName: "ipSecurityRestrictionsDefaultAction",
                type: {
                    name: "String"
                }
            },
            scmIpSecurityRestrictions: {
                serializedName: "scmIpSecurityRestrictions",
                xmlName: "scmIpSecurityRestrictions",
                xmlElementName: "IpSecurityRestriction",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "IpSecurityRestriction"
                        }
                    }
                }
            },
            scmIpSecurityRestrictionsDefaultAction: {
                serializedName: "scmIpSecurityRestrictionsDefaultAction",
                xmlName: "scmIpSecurityRestrictionsDefaultAction",
                type: {
                    name: "String"
                }
            },
            scmIpSecurityRestrictionsUseMain: {
                serializedName: "scmIpSecurityRestrictionsUseMain",
                xmlName: "scmIpSecurityRestrictionsUseMain",
                type: {
                    name: "Boolean"
                }
            },
            http20Enabled: {
                defaultValue: true,
                serializedName: "http20Enabled",
                xmlName: "http20Enabled",
                type: {
                    name: "Boolean"
                }
            },
            minTlsVersion: {
                serializedName: "minTlsVersion",
                xmlName: "minTlsVersion",
                type: {
                    name: "String"
                }
            },
            minTlsCipherSuite: {
                serializedName: "minTlsCipherSuite",
                xmlName: "minTlsCipherSuite",
                type: {
                    name: "String"
                }
            },
            scmMinTlsVersion: {
                serializedName: "scmMinTlsVersion",
                xmlName: "scmMinTlsVersion",
                type: {
                    name: "String"
                }
            },
            ftpsState: {
                serializedName: "ftpsState",
                xmlName: "ftpsState",
                type: {
                    name: "String"
                }
            },
            preWarmedInstanceCount: {
                constraints: {
                    InclusiveMaximum: 10,
                    InclusiveMinimum: 0
                },
                serializedName: "preWarmedInstanceCount",
                xmlName: "preWarmedInstanceCount",
                type: {
                    name: "Number"
                }
            },
            functionAppScaleLimit: {
                constraints: {
                    InclusiveMinimum: 0
                },
                serializedName: "functionAppScaleLimit",
                xmlName: "functionAppScaleLimit",
                type: {
                    name: "Number"
                }
            },
            elasticWebAppScaleLimit: {
                constraints: {
                    InclusiveMinimum: 0
                },
                serializedName: "elasticWebAppScaleLimit",
                xmlName: "elasticWebAppScaleLimit",
                type: {
                    name: "Number"
                }
            },
            healthCheckPath: {
                serializedName: "healthCheckPath",
                xmlName: "healthCheckPath",
                type: {
                    name: "String"
                }
            },
            functionsRuntimeScaleMonitoringEnabled: {
                serializedName: "functionsRuntimeScaleMonitoringEnabled",
                xmlName: "functionsRuntimeScaleMonitoringEnabled",
                type: {
                    name: "Boolean"
                }
            },
            websiteTimeZone: {
                serializedName: "websiteTimeZone",
                xmlName: "websiteTimeZone",
                type: {
                    name: "String"
                }
            },
            minimumElasticInstanceCount: {
                constraints: {
                    InclusiveMaximum: 20,
                    InclusiveMinimum: 0
                },
                serializedName: "minimumElasticInstanceCount",
                xmlName: "minimumElasticInstanceCount",
                type: {
                    name: "Number"
                }
            },
            azureStorageAccounts: {
                serializedName: "azureStorageAccounts",
                xmlName: "azureStorageAccounts",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Composite", className: "AzureStorageInfoValue" }
                    }
                }
            },
            publicNetworkAccess: {
                serializedName: "publicNetworkAccess",
                xmlName: "publicNetworkAccess",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ConnStringInfo = {
    serializedName: "ConnStringInfo",
    type: {
        name: "Composite",
        className: "ConnStringInfo",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            connectionString: {
                serializedName: "connectionString",
                xmlName: "connectionString",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "MySql",
                        "SQLServer",
                        "SQLAzure",
                        "Custom",
                        "NotificationHub",
                        "ServiceBus",
                        "EventHub",
                        "ApiHub",
                        "DocDb",
                        "RedisCache",
                        "PostgreSQL"
                    ]
                }
            }
        }
    }
};
export const SiteMachineKey = {
    serializedName: "SiteMachineKey",
    type: {
        name: "Composite",
        className: "SiteMachineKey",
        modelProperties: {
            validation: {
                serializedName: "validation",
                xmlName: "validation",
                type: {
                    name: "String"
                }
            },
            validationKey: {
                serializedName: "validationKey",
                xmlName: "validationKey",
                type: {
                    name: "String"
                }
            },
            decryption: {
                serializedName: "decryption",
                xmlName: "decryption",
                type: {
                    name: "String"
                }
            },
            decryptionKey: {
                serializedName: "decryptionKey",
                xmlName: "decryptionKey",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const HandlerMapping = {
    serializedName: "HandlerMapping",
    type: {
        name: "Composite",
        className: "HandlerMapping",
        modelProperties: {
            extension: {
                serializedName: "extension",
                xmlName: "extension",
                type: {
                    name: "String"
                }
            },
            scriptProcessor: {
                serializedName: "scriptProcessor",
                xmlName: "scriptProcessor",
                type: {
                    name: "String"
                }
            },
            arguments: {
                serializedName: "arguments",
                xmlName: "arguments",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const VirtualApplication = {
    serializedName: "VirtualApplication",
    type: {
        name: "Composite",
        className: "VirtualApplication",
        modelProperties: {
            virtualPath: {
                serializedName: "virtualPath",
                xmlName: "virtualPath",
                type: {
                    name: "String"
                }
            },
            physicalPath: {
                serializedName: "physicalPath",
                xmlName: "physicalPath",
                type: {
                    name: "String"
                }
            },
            preloadEnabled: {
                serializedName: "preloadEnabled",
                xmlName: "preloadEnabled",
                type: {
                    name: "Boolean"
                }
            },
            virtualDirectories: {
                serializedName: "virtualDirectories",
                xmlName: "virtualDirectories",
                xmlElementName: "VirtualDirectory",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VirtualDirectory"
                        }
                    }
                }
            }
        }
    }
};
export const VirtualDirectory = {
    serializedName: "VirtualDirectory",
    type: {
        name: "Composite",
        className: "VirtualDirectory",
        modelProperties: {
            virtualPath: {
                serializedName: "virtualPath",
                xmlName: "virtualPath",
                type: {
                    name: "String"
                }
            },
            physicalPath: {
                serializedName: "physicalPath",
                xmlName: "physicalPath",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Experiments = {
    serializedName: "Experiments",
    type: {
        name: "Composite",
        className: "Experiments",
        modelProperties: {
            rampUpRules: {
                serializedName: "rampUpRules",
                xmlName: "rampUpRules",
                xmlElementName: "RampUpRule",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RampUpRule"
                        }
                    }
                }
            }
        }
    }
};
export const RampUpRule = {
    serializedName: "RampUpRule",
    type: {
        name: "Composite",
        className: "RampUpRule",
        modelProperties: {
            actionHostName: {
                serializedName: "actionHostName",
                xmlName: "actionHostName",
                type: {
                    name: "String"
                }
            },
            reroutePercentage: {
                serializedName: "reroutePercentage",
                xmlName: "reroutePercentage",
                type: {
                    name: "Number"
                }
            },
            changeStep: {
                serializedName: "changeStep",
                xmlName: "changeStep",
                type: {
                    name: "Number"
                }
            },
            changeIntervalInMinutes: {
                serializedName: "changeIntervalInMinutes",
                xmlName: "changeIntervalInMinutes",
                type: {
                    name: "Number"
                }
            },
            minReroutePercentage: {
                serializedName: "minReroutePercentage",
                xmlName: "minReroutePercentage",
                type: {
                    name: "Number"
                }
            },
            maxReroutePercentage: {
                serializedName: "maxReroutePercentage",
                xmlName: "maxReroutePercentage",
                type: {
                    name: "Number"
                }
            },
            changeDecisionCallbackUrl: {
                serializedName: "changeDecisionCallbackUrl",
                xmlName: "changeDecisionCallbackUrl",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SiteLimits = {
    serializedName: "SiteLimits",
    type: {
        name: "Composite",
        className: "SiteLimits",
        modelProperties: {
            maxPercentageCpu: {
                serializedName: "maxPercentageCpu",
                xmlName: "maxPercentageCpu",
                type: {
                    name: "Number"
                }
            },
            maxMemoryInMb: {
                serializedName: "maxMemoryInMb",
                xmlName: "maxMemoryInMb",
                type: {
                    name: "Number"
                }
            },
            maxDiskSizeInMb: {
                serializedName: "maxDiskSizeInMb",
                xmlName: "maxDiskSizeInMb",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const AutoHealRules = {
    serializedName: "AutoHealRules",
    type: {
        name: "Composite",
        className: "AutoHealRules",
        modelProperties: {
            triggers: {
                serializedName: "triggers",
                xmlName: "triggers",
                type: {
                    name: "Composite",
                    className: "AutoHealTriggers"
                }
            },
            actions: {
                serializedName: "actions",
                xmlName: "actions",
                type: {
                    name: "Composite",
                    className: "AutoHealActions"
                }
            }
        }
    }
};
export const AutoHealTriggers = {
    serializedName: "AutoHealTriggers",
    type: {
        name: "Composite",
        className: "AutoHealTriggers",
        modelProperties: {
            requests: {
                serializedName: "requests",
                xmlName: "requests",
                type: {
                    name: "Composite",
                    className: "RequestsBasedTrigger"
                }
            },
            privateBytesInKB: {
                serializedName: "privateBytesInKB",
                xmlName: "privateBytesInKB",
                type: {
                    name: "Number"
                }
            },
            statusCodes: {
                serializedName: "statusCodes",
                xmlName: "statusCodes",
                xmlElementName: "StatusCodesBasedTrigger",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StatusCodesBasedTrigger"
                        }
                    }
                }
            },
            slowRequests: {
                serializedName: "slowRequests",
                xmlName: "slowRequests",
                type: {
                    name: "Composite",
                    className: "SlowRequestsBasedTrigger"
                }
            },
            slowRequestsWithPath: {
                serializedName: "slowRequestsWithPath",
                xmlName: "slowRequestsWithPath",
                xmlElementName: "SlowRequestsBasedTrigger",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SlowRequestsBasedTrigger"
                        }
                    }
                }
            },
            statusCodesRange: {
                serializedName: "statusCodesRange",
                xmlName: "statusCodesRange",
                xmlElementName: "StatusCodesRangeBasedTrigger",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StatusCodesRangeBasedTrigger"
                        }
                    }
                }
            }
        }
    }
};
export const RequestsBasedTrigger = {
    serializedName: "RequestsBasedTrigger",
    type: {
        name: "Composite",
        className: "RequestsBasedTrigger",
        modelProperties: {
            count: {
                serializedName: "count",
                xmlName: "count",
                type: {
                    name: "Number"
                }
            },
            timeInterval: {
                serializedName: "timeInterval",
                xmlName: "timeInterval",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StatusCodesBasedTrigger = {
    serializedName: "StatusCodesBasedTrigger",
    type: {
        name: "Composite",
        className: "StatusCodesBasedTrigger",
        modelProperties: {
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "Number"
                }
            },
            subStatus: {
                serializedName: "subStatus",
                xmlName: "subStatus",
                type: {
                    name: "Number"
                }
            },
            win32Status: {
                serializedName: "win32Status",
                xmlName: "win32Status",
                type: {
                    name: "Number"
                }
            },
            count: {
                serializedName: "count",
                xmlName: "count",
                type: {
                    name: "Number"
                }
            },
            timeInterval: {
                serializedName: "timeInterval",
                xmlName: "timeInterval",
                type: {
                    name: "String"
                }
            },
            path: {
                serializedName: "path",
                xmlName: "path",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SlowRequestsBasedTrigger = {
    serializedName: "SlowRequestsBasedTrigger",
    type: {
        name: "Composite",
        className: "SlowRequestsBasedTrigger",
        modelProperties: {
            timeTaken: {
                serializedName: "timeTaken",
                xmlName: "timeTaken",
                type: {
                    name: "String"
                }
            },
            path: {
                serializedName: "path",
                xmlName: "path",
                type: {
                    name: "String"
                }
            },
            count: {
                serializedName: "count",
                xmlName: "count",
                type: {
                    name: "Number"
                }
            },
            timeInterval: {
                serializedName: "timeInterval",
                xmlName: "timeInterval",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StatusCodesRangeBasedTrigger = {
    serializedName: "StatusCodesRangeBasedTrigger",
    type: {
        name: "Composite",
        className: "StatusCodesRangeBasedTrigger",
        modelProperties: {
            statusCodes: {
                serializedName: "statusCodes",
                xmlName: "statusCodes",
                type: {
                    name: "String"
                }
            },
            path: {
                serializedName: "path",
                xmlName: "path",
                type: {
                    name: "String"
                }
            },
            count: {
                serializedName: "count",
                xmlName: "count",
                type: {
                    name: "Number"
                }
            },
            timeInterval: {
                serializedName: "timeInterval",
                xmlName: "timeInterval",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AutoHealActions = {
    serializedName: "AutoHealActions",
    type: {
        name: "Composite",
        className: "AutoHealActions",
        modelProperties: {
            actionType: {
                serializedName: "actionType",
                xmlName: "actionType",
                type: {
                    name: "Enum",
                    allowedValues: ["Recycle", "LogEvent", "CustomAction"]
                }
            },
            customAction: {
                serializedName: "customAction",
                xmlName: "customAction",
                type: {
                    name: "Composite",
                    className: "AutoHealCustomAction"
                }
            },
            minProcessExecutionTime: {
                serializedName: "minProcessExecutionTime",
                xmlName: "minProcessExecutionTime",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AutoHealCustomAction = {
    serializedName: "AutoHealCustomAction",
    type: {
        name: "Composite",
        className: "AutoHealCustomAction",
        modelProperties: {
            exe: {
                serializedName: "exe",
                xmlName: "exe",
                type: {
                    name: "String"
                }
            },
            parameters: {
                serializedName: "parameters",
                xmlName: "parameters",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CorsSettings = {
    serializedName: "CorsSettings",
    type: {
        name: "Composite",
        className: "CorsSettings",
        modelProperties: {
            allowedOrigins: {
                serializedName: "allowedOrigins",
                xmlName: "allowedOrigins",
                xmlElementName: "CorsSettingsAllowedOriginsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            supportCredentials: {
                serializedName: "supportCredentials",
                xmlName: "supportCredentials",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const ApiDefinitionInfo = {
    serializedName: "ApiDefinitionInfo",
    type: {
        name: "Composite",
        className: "ApiDefinitionInfo",
        modelProperties: {
            url: {
                serializedName: "url",
                xmlName: "url",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ApiManagementConfig = {
    serializedName: "ApiManagementConfig",
    type: {
        name: "Composite",
        className: "ApiManagementConfig",
        modelProperties: {
            id: {
                serializedName: "id",
                xmlName: "id",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const IpSecurityRestriction = {
    serializedName: "IpSecurityRestriction",
    type: {
        name: "Composite",
        className: "IpSecurityRestriction",
        modelProperties: {
            ipAddress: {
                serializedName: "ipAddress",
                xmlName: "ipAddress",
                type: {
                    name: "String"
                }
            },
            subnetMask: {
                serializedName: "subnetMask",
                xmlName: "subnetMask",
                type: {
                    name: "String"
                }
            },
            vnetSubnetResourceId: {
                serializedName: "vnetSubnetResourceId",
                xmlName: "vnetSubnetResourceId",
                type: {
                    name: "String"
                }
            },
            vnetTrafficTag: {
                serializedName: "vnetTrafficTag",
                xmlName: "vnetTrafficTag",
                type: {
                    name: "Number"
                }
            },
            subnetTrafficTag: {
                serializedName: "subnetTrafficTag",
                xmlName: "subnetTrafficTag",
                type: {
                    name: "Number"
                }
            },
            action: {
                serializedName: "action",
                xmlName: "action",
                type: {
                    name: "String"
                }
            },
            tag: {
                serializedName: "tag",
                xmlName: "tag",
                type: {
                    name: "String"
                }
            },
            priority: {
                serializedName: "priority",
                xmlName: "priority",
                type: {
                    name: "Number"
                }
            },
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                xmlName: "description",
                type: {
                    name: "String"
                }
            },
            headers: {
                serializedName: "headers",
                xmlName: "headers",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Sequence", element: { type: { name: "String" } } }
                    }
                }
            }
        }
    }
};
export const AzureStorageInfoValue = {
    serializedName: "AzureStorageInfoValue",
    type: {
        name: "Composite",
        className: "AzureStorageInfoValue",
        modelProperties: {
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "Enum",
                    allowedValues: ["AzureFiles", "AzureBlob"]
                }
            },
            accountName: {
                serializedName: "accountName",
                xmlName: "accountName",
                type: {
                    name: "String"
                }
            },
            shareName: {
                serializedName: "shareName",
                xmlName: "shareName",
                type: {
                    name: "String"
                }
            },
            accessKey: {
                serializedName: "accessKey",
                xmlName: "accessKey",
                type: {
                    name: "String"
                }
            },
            mountPath: {
                serializedName: "mountPath",
                xmlName: "mountPath",
                type: {
                    name: "String"
                }
            },
            state: {
                serializedName: "state",
                readOnly: true,
                xmlName: "state",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Ok",
                        "InvalidCredentials",
                        "InvalidShare",
                        "NotValidated"
                    ]
                }
            }
        }
    }
};
export const DaprConfig = {
    serializedName: "DaprConfig",
    type: {
        name: "Composite",
        className: "DaprConfig",
        modelProperties: {
            enabled: {
                defaultValue: false,
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            appId: {
                serializedName: "appId",
                xmlName: "appId",
                type: {
                    name: "String"
                }
            },
            appPort: {
                serializedName: "appPort",
                xmlName: "appPort",
                type: {
                    name: "Number"
                }
            },
            httpReadBufferSize: {
                serializedName: "httpReadBufferSize",
                xmlName: "httpReadBufferSize",
                type: {
                    name: "Number"
                }
            },
            httpMaxRequestSize: {
                serializedName: "httpMaxRequestSize",
                xmlName: "httpMaxRequestSize",
                type: {
                    name: "Number"
                }
            },
            logLevel: {
                serializedName: "logLevel",
                xmlName: "logLevel",
                type: {
                    name: "String"
                }
            },
            enableApiLogging: {
                serializedName: "enableApiLogging",
                xmlName: "enableApiLogging",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const ResourceConfig = {
    serializedName: "ResourceConfig",
    type: {
        name: "Composite",
        className: "ResourceConfig",
        modelProperties: {
            cpu: {
                serializedName: "cpu",
                xmlName: "cpu",
                type: {
                    name: "Number"
                }
            },
            memory: {
                serializedName: "memory",
                xmlName: "memory",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const HostingEnvironmentProfile = {
    serializedName: "HostingEnvironmentProfile",
    type: {
        name: "Composite",
        className: "HostingEnvironmentProfile",
        modelProperties: {
            id: {
                serializedName: "id",
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CloningInfo = {
    serializedName: "CloningInfo",
    type: {
        name: "Composite",
        className: "CloningInfo",
        modelProperties: {
            correlationId: {
                serializedName: "correlationId",
                xmlName: "correlationId",
                type: {
                    name: "Uuid"
                }
            },
            overwrite: {
                serializedName: "overwrite",
                xmlName: "overwrite",
                type: {
                    name: "Boolean"
                }
            },
            cloneCustomHostNames: {
                serializedName: "cloneCustomHostNames",
                xmlName: "cloneCustomHostNames",
                type: {
                    name: "Boolean"
                }
            },
            cloneSourceControl: {
                serializedName: "cloneSourceControl",
                xmlName: "cloneSourceControl",
                type: {
                    name: "Boolean"
                }
            },
            sourceWebAppId: {
                serializedName: "sourceWebAppId",
                required: true,
                xmlName: "sourceWebAppId",
                type: {
                    name: "String"
                }
            },
            sourceWebAppLocation: {
                serializedName: "sourceWebAppLocation",
                xmlName: "sourceWebAppLocation",
                type: {
                    name: "String"
                }
            },
            hostingEnvironment: {
                serializedName: "hostingEnvironment",
                xmlName: "hostingEnvironment",
                type: {
                    name: "String"
                }
            },
            appSettingsOverrides: {
                serializedName: "appSettingsOverrides",
                xmlName: "appSettingsOverrides",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            configureLoadBalancing: {
                serializedName: "configureLoadBalancing",
                xmlName: "configureLoadBalancing",
                type: {
                    name: "Boolean"
                }
            },
            trafficManagerProfileId: {
                serializedName: "trafficManagerProfileId",
                xmlName: "trafficManagerProfileId",
                type: {
                    name: "String"
                }
            },
            trafficManagerProfileName: {
                serializedName: "trafficManagerProfileName",
                xmlName: "trafficManagerProfileName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SlotSwapStatus = {
    serializedName: "SlotSwapStatus",
    type: {
        name: "Composite",
        className: "SlotSwapStatus",
        modelProperties: {
            timestampUtc: {
                serializedName: "timestampUtc",
                readOnly: true,
                xmlName: "timestampUtc",
                type: {
                    name: "DateTime"
                }
            },
            sourceSlotName: {
                serializedName: "sourceSlotName",
                readOnly: true,
                xmlName: "sourceSlotName",
                type: {
                    name: "String"
                }
            },
            destinationSlotName: {
                serializedName: "destinationSlotName",
                readOnly: true,
                xmlName: "destinationSlotName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ManagedServiceIdentity = {
    serializedName: "ManagedServiceIdentity",
    type: {
        name: "Composite",
        className: "ManagedServiceIdentity",
        modelProperties: {
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "SystemAssigned",
                        "UserAssigned",
                        "SystemAssigned, UserAssigned",
                        "None"
                    ]
                }
            },
            tenantId: {
                serializedName: "tenantId",
                readOnly: true,
                xmlName: "tenantId",
                type: {
                    name: "String"
                }
            },
            principalId: {
                serializedName: "principalId",
                readOnly: true,
                xmlName: "principalId",
                type: {
                    name: "String"
                }
            },
            userAssignedIdentities: {
                serializedName: "userAssignedIdentities",
                xmlName: "userAssignedIdentities",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Composite", className: "UserAssignedIdentity" }
                    }
                }
            }
        }
    }
};
export const UserAssignedIdentity = {
    serializedName: "UserAssignedIdentity",
    type: {
        name: "Composite",
        className: "UserAssignedIdentity",
        modelProperties: {
            principalId: {
                serializedName: "principalId",
                readOnly: true,
                xmlName: "principalId",
                type: {
                    name: "String"
                }
            },
            clientId: {
                serializedName: "clientId",
                readOnly: true,
                xmlName: "clientId",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ExtendedLocation = {
    serializedName: "ExtendedLocation",
    type: {
        name: "Composite",
        className: "ExtendedLocation",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const HostingEnvironmentDiagnostics = {
    serializedName: "HostingEnvironmentDiagnostics",
    type: {
        name: "Composite",
        className: "HostingEnvironmentDiagnostics",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            diagnosticsOutput: {
                serializedName: "diagnosticsOutput",
                xmlName: "diagnosticsOutput",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const InboundEnvironmentEndpointCollection = {
    serializedName: "InboundEnvironmentEndpointCollection",
    type: {
        name: "Composite",
        className: "InboundEnvironmentEndpointCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "InboundEnvironmentEndpoint",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "InboundEnvironmentEndpoint"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const InboundEnvironmentEndpoint = {
    serializedName: "InboundEnvironmentEndpoint",
    type: {
        name: "Composite",
        className: "InboundEnvironmentEndpoint",
        modelProperties: {
            description: {
                serializedName: "description",
                xmlName: "description",
                type: {
                    name: "String"
                }
            },
            endpoints: {
                serializedName: "endpoints",
                xmlName: "endpoints",
                xmlElementName: "InboundEnvironmentEndpointEndpointsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            ports: {
                serializedName: "ports",
                xmlName: "ports",
                xmlElementName: "InboundEnvironmentEndpointPortsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const WorkerPoolCollection = {
    serializedName: "WorkerPoolCollection",
    type: {
        name: "Composite",
        className: "WorkerPoolCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "WorkerPoolResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WorkerPoolResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SkuDescription = {
    serializedName: "SkuDescription",
    type: {
        name: "Composite",
        className: "SkuDescription",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            tier: {
                serializedName: "tier",
                xmlName: "tier",
                type: {
                    name: "String"
                }
            },
            size: {
                serializedName: "size",
                xmlName: "size",
                type: {
                    name: "String"
                }
            },
            family: {
                serializedName: "family",
                xmlName: "family",
                type: {
                    name: "String"
                }
            },
            capacity: {
                serializedName: "capacity",
                xmlName: "capacity",
                type: {
                    name: "Number"
                }
            },
            skuCapacity: {
                serializedName: "skuCapacity",
                xmlName: "skuCapacity",
                type: {
                    name: "Composite",
                    className: "SkuCapacity"
                }
            },
            locations: {
                serializedName: "locations",
                xmlName: "locations",
                xmlElementName: "SkuDescriptionLocationsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            capabilities: {
                serializedName: "capabilities",
                xmlName: "capabilities",
                xmlElementName: "Capability",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Capability"
                        }
                    }
                }
            }
        }
    }
};
export const SkuCapacity = {
    serializedName: "SkuCapacity",
    type: {
        name: "Composite",
        className: "SkuCapacity",
        modelProperties: {
            minimum: {
                serializedName: "minimum",
                xmlName: "minimum",
                type: {
                    name: "Number"
                }
            },
            maximum: {
                serializedName: "maximum",
                xmlName: "maximum",
                type: {
                    name: "Number"
                }
            },
            elasticMaximum: {
                serializedName: "elasticMaximum",
                xmlName: "elasticMaximum",
                type: {
                    name: "Number"
                }
            },
            default: {
                serializedName: "default",
                xmlName: "default",
                type: {
                    name: "Number"
                }
            },
            scaleType: {
                serializedName: "scaleType",
                xmlName: "scaleType",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Capability = {
    serializedName: "Capability",
    type: {
        name: "Composite",
        className: "Capability",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            reason: {
                serializedName: "reason",
                xmlName: "reason",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResourceMetricDefinitionCollection = {
    serializedName: "ResourceMetricDefinitionCollection",
    type: {
        name: "Composite",
        className: "ResourceMetricDefinitionCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ResourceMetricDefinition",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ResourceMetricDefinition"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResourceMetricAvailability = {
    serializedName: "ResourceMetricAvailability",
    type: {
        name: "Composite",
        className: "ResourceMetricAvailability",
        modelProperties: {
            timeGrain: {
                serializedName: "timeGrain",
                readOnly: true,
                xmlName: "timeGrain",
                type: {
                    name: "String"
                }
            },
            retention: {
                serializedName: "retention",
                readOnly: true,
                xmlName: "retention",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SkuInfoCollection = {
    serializedName: "SkuInfoCollection",
    type: {
        name: "Composite",
        className: "SkuInfoCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "SkuInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SkuInfo"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SkuInfo = {
    serializedName: "SkuInfo",
    type: {
        name: "Composite",
        className: "SkuInfo",
        modelProperties: {
            resourceType: {
                serializedName: "resourceType",
                xmlName: "resourceType",
                type: {
                    name: "String"
                }
            },
            sku: {
                serializedName: "sku",
                xmlName: "sku",
                type: {
                    name: "Composite",
                    className: "SkuDescription"
                }
            },
            capacity: {
                serializedName: "capacity",
                xmlName: "capacity",
                type: {
                    name: "Composite",
                    className: "SkuCapacity"
                }
            }
        }
    }
};
export const UsageCollection = {
    serializedName: "UsageCollection",
    type: {
        name: "Composite",
        className: "UsageCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "Usage",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Usage"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Operation = {
    serializedName: "Operation",
    type: {
        name: "Composite",
        className: "Operation",
        modelProperties: {
            id: {
                serializedName: "id",
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "InProgress",
                        "Failed",
                        "Succeeded",
                        "TimedOut",
                        "Created"
                    ]
                }
            },
            errors: {
                serializedName: "errors",
                xmlName: "errors",
                xmlElementName: "ErrorEntity",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ErrorEntity"
                        }
                    }
                }
            },
            createdTime: {
                serializedName: "createdTime",
                xmlName: "createdTime",
                type: {
                    name: "DateTime"
                }
            },
            modifiedTime: {
                serializedName: "modifiedTime",
                xmlName: "modifiedTime",
                type: {
                    name: "DateTime"
                }
            },
            expirationTime: {
                serializedName: "expirationTime",
                xmlName: "expirationTime",
                type: {
                    name: "DateTime"
                }
            },
            geoMasterOperationId: {
                serializedName: "geoMasterOperationId",
                xmlName: "geoMasterOperationId",
                type: {
                    name: "Uuid"
                }
            }
        }
    }
};
export const ErrorEntity = {
    serializedName: "ErrorEntity",
    type: {
        name: "Composite",
        className: "ErrorEntity",
        modelProperties: {
            extendedCode: {
                serializedName: "extendedCode",
                xmlName: "extendedCode",
                type: {
                    name: "String"
                }
            },
            messageTemplate: {
                serializedName: "messageTemplate",
                xmlName: "messageTemplate",
                type: {
                    name: "String"
                }
            },
            parameters: {
                serializedName: "parameters",
                xmlName: "parameters",
                xmlElementName: "ErrorEntityParametersItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            innerErrors: {
                serializedName: "innerErrors",
                xmlName: "innerErrors",
                xmlElementName: "ErrorEntity",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ErrorEntity"
                        }
                    }
                }
            },
            details: {
                serializedName: "details",
                xmlName: "details",
                xmlElementName: "ErrorEntity",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ErrorEntity"
                        }
                    }
                }
            },
            target: {
                serializedName: "target",
                xmlName: "target",
                type: {
                    name: "String"
                }
            },
            code: {
                serializedName: "code",
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                xmlName: "message",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const OutboundEnvironmentEndpointCollection = {
    serializedName: "OutboundEnvironmentEndpointCollection",
    type: {
        name: "Composite",
        className: "OutboundEnvironmentEndpointCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "OutboundEnvironmentEndpoint",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "OutboundEnvironmentEndpoint"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const OutboundEnvironmentEndpoint = {
    serializedName: "OutboundEnvironmentEndpoint",
    type: {
        name: "Composite",
        className: "OutboundEnvironmentEndpoint",
        modelProperties: {
            category: {
                serializedName: "category",
                xmlName: "category",
                type: {
                    name: "String"
                }
            },
            endpoints: {
                serializedName: "endpoints",
                xmlName: "endpoints",
                xmlElementName: "EndpointDependency",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "EndpointDependency"
                        }
                    }
                }
            }
        }
    }
};
export const EndpointDependency = {
    serializedName: "EndpointDependency",
    type: {
        name: "Composite",
        className: "EndpointDependency",
        modelProperties: {
            domainName: {
                serializedName: "domainName",
                xmlName: "domainName",
                type: {
                    name: "String"
                }
            },
            endpointDetails: {
                serializedName: "endpointDetails",
                xmlName: "endpointDetails",
                xmlElementName: "EndpointDetail",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "EndpointDetail"
                        }
                    }
                }
            }
        }
    }
};
export const EndpointDetail = {
    serializedName: "EndpointDetail",
    type: {
        name: "Composite",
        className: "EndpointDetail",
        modelProperties: {
            ipAddress: {
                serializedName: "ipAddress",
                xmlName: "ipAddress",
                type: {
                    name: "String"
                }
            },
            port: {
                serializedName: "port",
                xmlName: "port",
                type: {
                    name: "Number"
                }
            },
            latency: {
                serializedName: "latency",
                xmlName: "latency",
                type: {
                    name: "Number"
                }
            },
            isAccessible: {
                serializedName: "isAccessible",
                xmlName: "isAccessible",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const PrivateEndpointConnectionCollection = {
    serializedName: "PrivateEndpointConnectionCollection",
    type: {
        name: "Composite",
        className: "PrivateEndpointConnectionCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "RemotePrivateEndpointConnectionARMResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RemotePrivateEndpointConnectionARMResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ArmIdWrapper = {
    serializedName: "ArmIdWrapper",
    type: {
        name: "Composite",
        className: "ArmIdWrapper",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PrivateLinkConnectionState = {
    serializedName: "PrivateLinkConnectionState",
    type: {
        name: "Composite",
        className: "PrivateLinkConnectionState",
        modelProperties: {
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                xmlName: "description",
                type: {
                    name: "String"
                }
            },
            actionsRequired: {
                serializedName: "actionsRequired",
                xmlName: "actionsRequired",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PrivateLinkResourcesWrapper = {
    serializedName: "PrivateLinkResourcesWrapper",
    type: {
        name: "Composite",
        className: "PrivateLinkResourcesWrapper",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "PrivateLinkResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PrivateLinkResource"
                        }
                    }
                }
            }
        }
    }
};
export const PrivateLinkResource = {
    serializedName: "PrivateLinkResource",
    type: {
        name: "Composite",
        className: "PrivateLinkResource",
        modelProperties: {
            id: {
                serializedName: "id",
                required: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                required: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                required: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            properties: {
                serializedName: "properties",
                xmlName: "properties",
                type: {
                    name: "Composite",
                    className: "PrivateLinkResourceProperties"
                }
            }
        }
    }
};
export const PrivateLinkResourceProperties = {
    serializedName: "PrivateLinkResourceProperties",
    type: {
        name: "Composite",
        className: "PrivateLinkResourceProperties",
        modelProperties: {
            groupId: {
                serializedName: "groupId",
                readOnly: true,
                xmlName: "groupId",
                type: {
                    name: "String"
                }
            },
            requiredMembers: {
                serializedName: "requiredMembers",
                readOnly: true,
                xmlName: "requiredMembers",
                xmlElementName: "PrivateLinkResourcePropertiesRequiredMembersItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            requiredZoneNames: {
                serializedName: "requiredZoneNames",
                readOnly: true,
                xmlName: "requiredZoneNames",
                xmlElementName: "PrivateLinkResourcePropertiesRequiredZoneNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const AppServicePlanCollection = {
    serializedName: "AppServicePlanCollection",
    type: {
        name: "Composite",
        className: "AppServicePlanCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "AppServicePlan",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AppServicePlan"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const KubeEnvironmentProfile = {
    serializedName: "KubeEnvironmentProfile",
    type: {
        name: "Composite",
        className: "KubeEnvironmentProfile",
        modelProperties: {
            id: {
                serializedName: "id",
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CsmUsageQuotaCollection = {
    serializedName: "CsmUsageQuotaCollection",
    type: {
        name: "Composite",
        className: "CsmUsageQuotaCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "CsmUsageQuota",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "CsmUsageQuota"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CsmUsageQuota = {
    serializedName: "CsmUsageQuota",
    type: {
        name: "Composite",
        className: "CsmUsageQuota",
        modelProperties: {
            unit: {
                serializedName: "unit",
                xmlName: "unit",
                type: {
                    name: "String"
                }
            },
            nextResetTime: {
                serializedName: "nextResetTime",
                xmlName: "nextResetTime",
                type: {
                    name: "DateTime"
                }
            },
            currentValue: {
                serializedName: "currentValue",
                xmlName: "currentValue",
                type: {
                    name: "Number"
                }
            },
            limit: {
                serializedName: "limit",
                xmlName: "limit",
                type: {
                    name: "Number"
                }
            },
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "Composite",
                    className: "LocalizableString"
                }
            }
        }
    }
};
export const LocalizableString = {
    serializedName: "LocalizableString",
    type: {
        name: "Composite",
        className: "LocalizableString",
        modelProperties: {
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            localizedValue: {
                serializedName: "localizedValue",
                xmlName: "localizedValue",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResourceCollection = {
    serializedName: "ResourceCollection",
    type: {
        name: "Composite",
        className: "ResourceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ResourceCollectionValueItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const HybridConnectionCollection = {
    serializedName: "HybridConnectionCollection",
    type: {
        name: "Composite",
        className: "HybridConnectionCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "HybridConnection",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HybridConnection"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const VnetInfo = {
    serializedName: "VnetInfo",
    type: {
        name: "Composite",
        className: "VnetInfo",
        modelProperties: {
            vnetResourceId: {
                serializedName: "vnetResourceId",
                xmlName: "vnetResourceId",
                type: {
                    name: "String"
                }
            },
            certThumbprint: {
                serializedName: "certThumbprint",
                readOnly: true,
                xmlName: "certThumbprint",
                type: {
                    name: "String"
                }
            },
            certBlob: {
                serializedName: "certBlob",
                xmlName: "certBlob",
                type: {
                    name: "String"
                }
            },
            routes: {
                serializedName: "routes",
                readOnly: true,
                xmlName: "routes",
                xmlElementName: "VnetRoute",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VnetRoute"
                        }
                    }
                }
            },
            resyncRequired: {
                serializedName: "resyncRequired",
                readOnly: true,
                xmlName: "resyncRequired",
                type: {
                    name: "Boolean"
                }
            },
            dnsServers: {
                serializedName: "dnsServers",
                xmlName: "dnsServers",
                type: {
                    name: "String"
                }
            },
            isSwift: {
                serializedName: "isSwift",
                xmlName: "isSwift",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const CertificateCollection = {
    serializedName: "CertificateCollection",
    type: {
        name: "Composite",
        className: "CertificateCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "Certificate",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Certificate"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ContainerAppCollection = {
    serializedName: "ContainerAppCollection",
    type: {
        name: "Composite",
        className: "ContainerAppCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ContainerApp",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ContainerApp"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Configuration = {
    serializedName: "Configuration",
    type: {
        name: "Composite",
        className: "Configuration",
        modelProperties: {
            secrets: {
                serializedName: "secrets",
                xmlName: "secrets",
                xmlElementName: "Secret",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Secret"
                        }
                    }
                }
            },
            activeRevisionsMode: {
                serializedName: "activeRevisionsMode",
                xmlName: "activeRevisionsMode",
                type: {
                    name: "String"
                }
            },
            ingress: {
                serializedName: "ingress",
                xmlName: "ingress",
                type: {
                    name: "Composite",
                    className: "Ingress"
                }
            },
            registries: {
                serializedName: "registries",
                xmlName: "registries",
                xmlElementName: "RegistryCredentials",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RegistryCredentials"
                        }
                    }
                }
            }
        }
    }
};
export const Secret = {
    serializedName: "Secret",
    type: {
        name: "Composite",
        className: "Secret",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Ingress = {
    serializedName: "Ingress",
    type: {
        name: "Composite",
        className: "Ingress",
        modelProperties: {
            fqdn: {
                serializedName: "fqdn",
                readOnly: true,
                xmlName: "fqdn",
                type: {
                    name: "String"
                }
            },
            external: {
                defaultValue: false,
                serializedName: "external",
                xmlName: "external",
                type: {
                    name: "Boolean"
                }
            },
            targetPort: {
                serializedName: "targetPort",
                xmlName: "targetPort",
                type: {
                    name: "Number"
                }
            },
            transport: {
                serializedName: "transport",
                xmlName: "transport",
                type: {
                    name: "String"
                }
            },
            traffic: {
                serializedName: "traffic",
                xmlName: "traffic",
                xmlElementName: "TrafficWeight",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "TrafficWeight"
                        }
                    }
                }
            },
            allowInsecure: {
                serializedName: "allowInsecure",
                xmlName: "allowInsecure",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const TrafficWeight = {
    serializedName: "TrafficWeight",
    type: {
        name: "Composite",
        className: "TrafficWeight",
        modelProperties: {
            revisionName: {
                serializedName: "revisionName",
                xmlName: "revisionName",
                type: {
                    name: "String"
                }
            },
            weight: {
                serializedName: "weight",
                xmlName: "weight",
                type: {
                    name: "Number"
                }
            },
            latestRevision: {
                defaultValue: false,
                serializedName: "latestRevision",
                xmlName: "latestRevision",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const RegistryCredentials = {
    serializedName: "RegistryCredentials",
    type: {
        name: "Composite",
        className: "RegistryCredentials",
        modelProperties: {
            server: {
                serializedName: "server",
                xmlName: "server",
                type: {
                    name: "String"
                }
            },
            username: {
                serializedName: "username",
                xmlName: "username",
                type: {
                    name: "String"
                }
            },
            passwordSecretRef: {
                serializedName: "passwordSecretRef",
                xmlName: "passwordSecretRef",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Template = {
    serializedName: "Template",
    type: {
        name: "Composite",
        className: "Template",
        modelProperties: {
            revisionSuffix: {
                serializedName: "revisionSuffix",
                xmlName: "revisionSuffix",
                type: {
                    name: "String"
                }
            },
            containers: {
                serializedName: "containers",
                xmlName: "containers",
                xmlElementName: "Container",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Container"
                        }
                    }
                }
            },
            scale: {
                serializedName: "scale",
                xmlName: "scale",
                type: {
                    name: "Composite",
                    className: "Scale"
                }
            },
            dapr: {
                serializedName: "dapr",
                xmlName: "dapr",
                type: {
                    name: "Composite",
                    className: "Dapr"
                }
            }
        }
    }
};
export const Container = {
    serializedName: "Container",
    type: {
        name: "Composite",
        className: "Container",
        modelProperties: {
            image: {
                serializedName: "image",
                xmlName: "image",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            command: {
                serializedName: "command",
                xmlName: "command",
                xmlElementName: "ContainerCommandItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            args: {
                serializedName: "args",
                xmlName: "args",
                xmlElementName: "ContainerArgsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            env: {
                serializedName: "env",
                xmlName: "env",
                xmlElementName: "EnvironmentVar",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "EnvironmentVar"
                        }
                    }
                }
            },
            resources: {
                serializedName: "resources",
                xmlName: "resources",
                type: {
                    name: "Composite",
                    className: "ContainerResources"
                }
            }
        }
    }
};
export const EnvironmentVar = {
    serializedName: "EnvironmentVar",
    type: {
        name: "Composite",
        className: "EnvironmentVar",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            secretRef: {
                serializedName: "secretRef",
                xmlName: "secretRef",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ContainerResources = {
    serializedName: "ContainerResources",
    type: {
        name: "Composite",
        className: "ContainerResources",
        modelProperties: {
            cpu: {
                serializedName: "cpu",
                xmlName: "cpu",
                type: {
                    name: "Number"
                }
            },
            memory: {
                serializedName: "memory",
                xmlName: "memory",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Scale = {
    serializedName: "Scale",
    type: {
        name: "Composite",
        className: "Scale",
        modelProperties: {
            minReplicas: {
                serializedName: "minReplicas",
                xmlName: "minReplicas",
                type: {
                    name: "Number"
                }
            },
            maxReplicas: {
                serializedName: "maxReplicas",
                xmlName: "maxReplicas",
                type: {
                    name: "Number"
                }
            },
            rules: {
                serializedName: "rules",
                xmlName: "rules",
                xmlElementName: "ScaleRule",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ScaleRule"
                        }
                    }
                }
            }
        }
    }
};
export const ScaleRule = {
    serializedName: "ScaleRule",
    type: {
        name: "Composite",
        className: "ScaleRule",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            azureQueue: {
                serializedName: "azureQueue",
                xmlName: "azureQueue",
                type: {
                    name: "Composite",
                    className: "QueueScaleRule"
                }
            },
            custom: {
                serializedName: "custom",
                xmlName: "custom",
                type: {
                    name: "Composite",
                    className: "CustomScaleRule"
                }
            },
            http: {
                serializedName: "http",
                xmlName: "http",
                type: {
                    name: "Composite",
                    className: "HttpScaleRule"
                }
            }
        }
    }
};
export const QueueScaleRule = {
    serializedName: "QueueScaleRule",
    type: {
        name: "Composite",
        className: "QueueScaleRule",
        modelProperties: {
            queueName: {
                serializedName: "queueName",
                xmlName: "queueName",
                type: {
                    name: "String"
                }
            },
            queueLength: {
                serializedName: "queueLength",
                xmlName: "queueLength",
                type: {
                    name: "Number"
                }
            },
            auth: {
                serializedName: "auth",
                xmlName: "auth",
                xmlElementName: "ScaleRuleAuth",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ScaleRuleAuth"
                        }
                    }
                }
            }
        }
    }
};
export const ScaleRuleAuth = {
    serializedName: "ScaleRuleAuth",
    type: {
        name: "Composite",
        className: "ScaleRuleAuth",
        modelProperties: {
            secretRef: {
                serializedName: "secretRef",
                xmlName: "secretRef",
                type: {
                    name: "String"
                }
            },
            triggerParameter: {
                serializedName: "triggerParameter",
                xmlName: "triggerParameter",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CustomScaleRule = {
    serializedName: "CustomScaleRule",
    type: {
        name: "Composite",
        className: "CustomScaleRule",
        modelProperties: {
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            metadata: {
                serializedName: "metadata",
                xmlName: "metadata",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            auth: {
                serializedName: "auth",
                xmlName: "auth",
                xmlElementName: "ScaleRuleAuth",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ScaleRuleAuth"
                        }
                    }
                }
            }
        }
    }
};
export const HttpScaleRule = {
    serializedName: "HttpScaleRule",
    type: {
        name: "Composite",
        className: "HttpScaleRule",
        modelProperties: {
            metadata: {
                serializedName: "metadata",
                xmlName: "metadata",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            auth: {
                serializedName: "auth",
                xmlName: "auth",
                xmlElementName: "ScaleRuleAuth",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ScaleRuleAuth"
                        }
                    }
                }
            }
        }
    }
};
export const Dapr = {
    serializedName: "Dapr",
    type: {
        name: "Composite",
        className: "Dapr",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            appId: {
                serializedName: "appId",
                xmlName: "appId",
                type: {
                    name: "String"
                }
            },
            appPort: {
                serializedName: "appPort",
                xmlName: "appPort",
                type: {
                    name: "Number"
                }
            },
            components: {
                serializedName: "components",
                xmlName: "components",
                xmlElementName: "DaprComponent",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DaprComponent"
                        }
                    }
                }
            }
        }
    }
};
export const DaprComponent = {
    serializedName: "DaprComponent",
    type: {
        name: "Composite",
        className: "DaprComponent",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            version: {
                serializedName: "version",
                xmlName: "version",
                type: {
                    name: "String"
                }
            },
            metadata: {
                serializedName: "metadata",
                xmlName: "metadata",
                xmlElementName: "DaprMetadata",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DaprMetadata"
                        }
                    }
                }
            }
        }
    }
};
export const DaprMetadata = {
    serializedName: "DaprMetadata",
    type: {
        name: "Composite",
        className: "DaprMetadata",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            secretRef: {
                serializedName: "secretRef",
                xmlName: "secretRef",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SecretsCollection = {
    serializedName: "SecretsCollection",
    type: {
        name: "Composite",
        className: "SecretsCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ContainerAppSecret",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ContainerAppSecret"
                        }
                    }
                }
            }
        }
    }
};
export const ContainerAppSecret = {
    serializedName: "ContainerAppSecret",
    type: {
        name: "Composite",
        className: "ContainerAppSecret",
        modelProperties: {
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                readOnly: true,
                xmlName: "value",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const RevisionCollection = {
    serializedName: "RevisionCollection",
    type: {
        name: "Composite",
        className: "RevisionCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "Revision",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Revision"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DeletedWebAppCollection = {
    serializedName: "DeletedWebAppCollection",
    type: {
        name: "Composite",
        className: "DeletedWebAppCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "DeletedSite",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DeletedSite"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DiagnosticCategoryCollection = {
    serializedName: "DiagnosticCategoryCollection",
    type: {
        name: "Composite",
        className: "DiagnosticCategoryCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "DiagnosticCategory",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DiagnosticCategory"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DiagnosticAnalysisCollection = {
    serializedName: "DiagnosticAnalysisCollection",
    type: {
        name: "Composite",
        className: "DiagnosticAnalysisCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "AnalysisDefinition",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AnalysisDefinition"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AbnormalTimePeriod = {
    serializedName: "AbnormalTimePeriod",
    type: {
        name: "Composite",
        className: "AbnormalTimePeriod",
        modelProperties: {
            startTime: {
                serializedName: "startTime",
                xmlName: "startTime",
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "endTime",
                xmlName: "endTime",
                type: {
                    name: "DateTime"
                }
            },
            events: {
                serializedName: "events",
                xmlName: "events",
                xmlElementName: "DetectorAbnormalTimePeriod",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DetectorAbnormalTimePeriod"
                        }
                    }
                }
            },
            solutions: {
                serializedName: "solutions",
                xmlName: "solutions",
                xmlElementName: "Solution",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Solution"
                        }
                    }
                }
            }
        }
    }
};
export const DetectorAbnormalTimePeriod = {
    serializedName: "DetectorAbnormalTimePeriod",
    type: {
        name: "Composite",
        className: "DetectorAbnormalTimePeriod",
        modelProperties: {
            startTime: {
                serializedName: "startTime",
                xmlName: "startTime",
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "endTime",
                xmlName: "endTime",
                type: {
                    name: "DateTime"
                }
            },
            message: {
                serializedName: "message",
                xmlName: "message",
                type: {
                    name: "String"
                }
            },
            source: {
                serializedName: "source",
                xmlName: "source",
                type: {
                    name: "String"
                }
            },
            priority: {
                serializedName: "priority",
                xmlName: "priority",
                type: {
                    name: "Number"
                }
            },
            metaData: {
                serializedName: "metaData",
                xmlName: "metaData",
                xmlElementName: "DetectorAbnormalTimePeriodMetaDataItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Sequence",
                            element: {
                                type: {
                                    name: "Composite",
                                    className: "NameValuePair"
                                }
                            }
                        }
                    }
                }
            },
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "ServiceIncident",
                        "AppDeployment",
                        "AppCrash",
                        "RuntimeIssueDetected",
                        "AseDeployment",
                        "UserIssue",
                        "PlatformIssue",
                        "Other"
                    ]
                }
            },
            solutions: {
                serializedName: "solutions",
                xmlName: "solutions",
                xmlElementName: "Solution",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Solution"
                        }
                    }
                }
            }
        }
    }
};
export const Solution = {
    serializedName: "Solution",
    type: {
        name: "Composite",
        className: "Solution",
        modelProperties: {
            id: {
                serializedName: "id",
                xmlName: "id",
                type: {
                    name: "Number"
                }
            },
            displayName: {
                serializedName: "displayName",
                xmlName: "displayName",
                type: {
                    name: "String"
                }
            },
            order: {
                serializedName: "order",
                xmlName: "order",
                type: {
                    name: "Number"
                }
            },
            description: {
                serializedName: "description",
                xmlName: "description",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "Enum",
                    allowedValues: ["QuickSolution", "DeepInvestigation", "BestPractices"]
                }
            },
            data: {
                serializedName: "data",
                xmlName: "data",
                xmlElementName: "SolutionDataItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Sequence",
                            element: {
                                type: {
                                    name: "Composite",
                                    className: "NameValuePair"
                                }
                            }
                        }
                    }
                }
            },
            metadata: {
                serializedName: "metadata",
                xmlName: "metadata",
                xmlElementName: "SolutionMetadataItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Sequence",
                            element: {
                                type: {
                                    name: "Composite",
                                    className: "NameValuePair"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
};
export const AnalysisData = {
    serializedName: "AnalysisData",
    type: {
        name: "Composite",
        className: "AnalysisData",
        modelProperties: {
            source: {
                serializedName: "source",
                xmlName: "source",
                type: {
                    name: "String"
                }
            },
            detectorDefinition: {
                serializedName: "detectorDefinition",
                xmlName: "detectorDefinition",
                type: {
                    name: "Composite",
                    className: "DetectorDefinition"
                }
            },
            metrics: {
                serializedName: "metrics",
                xmlName: "metrics",
                xmlElementName: "DiagnosticMetricSet",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DiagnosticMetricSet"
                        }
                    }
                }
            },
            data: {
                serializedName: "data",
                xmlName: "data",
                xmlElementName: "AnalysisDataItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Sequence",
                            element: {
                                type: {
                                    name: "Composite",
                                    className: "NameValuePair"
                                }
                            }
                        }
                    }
                }
            },
            detectorMetaData: {
                serializedName: "detectorMetaData",
                xmlName: "detectorMetaData",
                type: {
                    name: "Composite",
                    className: "ResponseMetaData"
                }
            }
        }
    }
};
export const DetectorDefinition = {
    serializedName: "DetectorDefinition",
    type: {
        name: "Composite",
        className: "DetectorDefinition",
        modelProperties: {
            displayName: {
                serializedName: "displayName",
                readOnly: true,
                xmlName: "displayName",
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                readOnly: true,
                xmlName: "description",
                type: {
                    name: "String"
                }
            },
            rank: {
                serializedName: "rank",
                readOnly: true,
                xmlName: "rank",
                type: {
                    name: "Number"
                }
            },
            isEnabled: {
                serializedName: "isEnabled",
                readOnly: true,
                xmlName: "isEnabled",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const DiagnosticMetricSet = {
    serializedName: "DiagnosticMetricSet",
    type: {
        name: "Composite",
        className: "DiagnosticMetricSet",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            unit: {
                serializedName: "unit",
                xmlName: "unit",
                type: {
                    name: "String"
                }
            },
            startTime: {
                serializedName: "startTime",
                xmlName: "startTime",
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "endTime",
                xmlName: "endTime",
                type: {
                    name: "DateTime"
                }
            },
            timeGrain: {
                serializedName: "timeGrain",
                xmlName: "timeGrain",
                type: {
                    name: "String"
                }
            },
            values: {
                serializedName: "values",
                xmlName: "values",
                xmlElementName: "DiagnosticMetricSample",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DiagnosticMetricSample"
                        }
                    }
                }
            }
        }
    }
};
export const DiagnosticMetricSample = {
    serializedName: "DiagnosticMetricSample",
    type: {
        name: "Composite",
        className: "DiagnosticMetricSample",
        modelProperties: {
            timestamp: {
                serializedName: "timestamp",
                xmlName: "timestamp",
                type: {
                    name: "DateTime"
                }
            },
            roleInstance: {
                serializedName: "roleInstance",
                xmlName: "roleInstance",
                type: {
                    name: "String"
                }
            },
            total: {
                serializedName: "total",
                xmlName: "total",
                type: {
                    name: "Number"
                }
            },
            maximum: {
                serializedName: "maximum",
                xmlName: "maximum",
                type: {
                    name: "Number"
                }
            },
            minimum: {
                serializedName: "minimum",
                xmlName: "minimum",
                type: {
                    name: "Number"
                }
            },
            isAggregated: {
                serializedName: "isAggregated",
                xmlName: "isAggregated",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const ResponseMetaData = {
    serializedName: "ResponseMetaData",
    type: {
        name: "Composite",
        className: "ResponseMetaData",
        modelProperties: {
            dataSource: {
                serializedName: "dataSource",
                xmlName: "dataSource",
                type: {
                    name: "Composite",
                    className: "DataSource"
                }
            }
        }
    }
};
export const DataSource = {
    serializedName: "DataSource",
    type: {
        name: "Composite",
        className: "DataSource",
        modelProperties: {
            instructions: {
                serializedName: "instructions",
                xmlName: "instructions",
                xmlElementName: "DataSourceInstructionsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            dataSourceUri: {
                serializedName: "dataSourceUri",
                xmlName: "dataSourceUri",
                xmlElementName: "NameValuePair",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "NameValuePair"
                        }
                    }
                }
            }
        }
    }
};
export const DiagnosticDetectorCollection = {
    serializedName: "DiagnosticDetectorCollection",
    type: {
        name: "Composite",
        className: "DiagnosticDetectorCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "DetectorDefinitionResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DetectorDefinitionResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const KubeEnvironmentCollection = {
    serializedName: "KubeEnvironmentCollection",
    type: {
        name: "Composite",
        className: "KubeEnvironmentCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "KubeEnvironment",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "KubeEnvironment"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ArcConfiguration = {
    serializedName: "ArcConfiguration",
    type: {
        name: "Composite",
        className: "ArcConfiguration",
        modelProperties: {
            artifactsStorageType: {
                serializedName: "artifactsStorageType",
                xmlName: "artifactsStorageType",
                type: {
                    name: "Enum",
                    allowedValues: ["LocalNode", "NetworkFileSystem"]
                }
            },
            artifactStorageClassName: {
                serializedName: "artifactStorageClassName",
                xmlName: "artifactStorageClassName",
                type: {
                    name: "String"
                }
            },
            artifactStorageMountPath: {
                serializedName: "artifactStorageMountPath",
                xmlName: "artifactStorageMountPath",
                type: {
                    name: "String"
                }
            },
            artifactStorageNodeName: {
                serializedName: "artifactStorageNodeName",
                xmlName: "artifactStorageNodeName",
                type: {
                    name: "String"
                }
            },
            artifactStorageAccessMode: {
                serializedName: "artifactStorageAccessMode",
                xmlName: "artifactStorageAccessMode",
                type: {
                    name: "String"
                }
            },
            frontEndServiceConfiguration: {
                serializedName: "frontEndServiceConfiguration",
                xmlName: "frontEndServiceConfiguration",
                type: {
                    name: "Composite",
                    className: "FrontEndConfiguration"
                }
            },
            kubeConfig: {
                serializedName: "kubeConfig",
                xmlName: "kubeConfig",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const FrontEndConfiguration = {
    serializedName: "FrontEndConfiguration",
    type: {
        name: "Composite",
        className: "FrontEndConfiguration",
        modelProperties: {
            kind: {
                serializedName: "kind",
                xmlName: "kind",
                type: {
                    name: "Enum",
                    allowedValues: ["NodePort", "LoadBalancer"]
                }
            }
        }
    }
};
export const AppLogsConfiguration = {
    serializedName: "AppLogsConfiguration",
    type: {
        name: "Composite",
        className: "AppLogsConfiguration",
        modelProperties: {
            destination: {
                serializedName: "destination",
                xmlName: "destination",
                type: {
                    name: "String"
                }
            },
            logAnalyticsConfiguration: {
                serializedName: "logAnalyticsConfiguration",
                xmlName: "logAnalyticsConfiguration",
                type: {
                    name: "Composite",
                    className: "LogAnalyticsConfiguration"
                }
            }
        }
    }
};
export const LogAnalyticsConfiguration = {
    serializedName: "LogAnalyticsConfiguration",
    type: {
        name: "Composite",
        className: "LogAnalyticsConfiguration",
        modelProperties: {
            customerId: {
                serializedName: "customerId",
                xmlName: "customerId",
                type: {
                    name: "String"
                }
            },
            sharedKey: {
                serializedName: "sharedKey",
                xmlName: "sharedKey",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ContainerAppsConfiguration = {
    serializedName: "ContainerAppsConfiguration",
    type: {
        name: "Composite",
        className: "ContainerAppsConfiguration",
        modelProperties: {
            daprAIInstrumentationKey: {
                serializedName: "daprAIInstrumentationKey",
                xmlName: "daprAIInstrumentationKey",
                type: {
                    name: "String"
                }
            },
            platformReservedCidr: {
                serializedName: "platformReservedCidr",
                xmlName: "platformReservedCidr",
                type: {
                    name: "String"
                }
            },
            platformReservedDnsIP: {
                serializedName: "platformReservedDnsIP",
                xmlName: "platformReservedDnsIP",
                type: {
                    name: "String"
                }
            },
            controlPlaneSubnetResourceId: {
                serializedName: "controlPlaneSubnetResourceId",
                xmlName: "controlPlaneSubnetResourceId",
                type: {
                    name: "String"
                }
            },
            appSubnetResourceId: {
                serializedName: "appSubnetResourceId",
                xmlName: "appSubnetResourceId",
                type: {
                    name: "String"
                }
            },
            dockerBridgeCidr: {
                serializedName: "dockerBridgeCidr",
                xmlName: "dockerBridgeCidr",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ApplicationStackCollection = {
    serializedName: "ApplicationStackCollection",
    type: {
        name: "Composite",
        className: "ApplicationStackCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ApplicationStackResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ApplicationStackResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ApplicationStack = {
    serializedName: "ApplicationStack",
    type: {
        name: "Composite",
        className: "ApplicationStack",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            display: {
                serializedName: "display",
                xmlName: "display",
                type: {
                    name: "String"
                }
            },
            dependency: {
                serializedName: "dependency",
                xmlName: "dependency",
                type: {
                    name: "String"
                }
            },
            majorVersions: {
                serializedName: "majorVersions",
                xmlName: "majorVersions",
                xmlElementName: "StackMajorVersion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StackMajorVersion"
                        }
                    }
                }
            },
            frameworks: {
                serializedName: "frameworks",
                xmlName: "frameworks",
                xmlElementName: "ApplicationStack",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ApplicationStack"
                        }
                    }
                }
            },
            isDeprecated: {
                serializedName: "isDeprecated",
                xmlName: "isDeprecated",
                xmlElementName: "ApplicationStack",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ApplicationStack"
                        }
                    }
                }
            }
        }
    }
};
export const StackMajorVersion = {
    serializedName: "StackMajorVersion",
    type: {
        name: "Composite",
        className: "StackMajorVersion",
        modelProperties: {
            displayVersion: {
                serializedName: "displayVersion",
                xmlName: "displayVersion",
                type: {
                    name: "String"
                }
            },
            runtimeVersion: {
                serializedName: "runtimeVersion",
                xmlName: "runtimeVersion",
                type: {
                    name: "String"
                }
            },
            isDefault: {
                serializedName: "isDefault",
                xmlName: "isDefault",
                type: {
                    name: "Boolean"
                }
            },
            minorVersions: {
                serializedName: "minorVersions",
                xmlName: "minorVersions",
                xmlElementName: "StackMinorVersion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StackMinorVersion"
                        }
                    }
                }
            },
            applicationInsights: {
                serializedName: "applicationInsights",
                xmlName: "applicationInsights",
                type: {
                    name: "Boolean"
                }
            },
            isPreview: {
                serializedName: "isPreview",
                xmlName: "isPreview",
                type: {
                    name: "Boolean"
                }
            },
            isDeprecated: {
                serializedName: "isDeprecated",
                xmlName: "isDeprecated",
                type: {
                    name: "Boolean"
                }
            },
            isHidden: {
                serializedName: "isHidden",
                xmlName: "isHidden",
                type: {
                    name: "Boolean"
                }
            },
            appSettingsDictionary: {
                serializedName: "appSettingsDictionary",
                xmlName: "appSettingsDictionary",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Dictionary", value: { type: { name: "any" } } }
                    }
                }
            },
            siteConfigPropertiesDictionary: {
                serializedName: "siteConfigPropertiesDictionary",
                xmlName: "siteConfigPropertiesDictionary",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Dictionary", value: { type: { name: "any" } } }
                    }
                }
            }
        }
    }
};
export const StackMinorVersion = {
    serializedName: "StackMinorVersion",
    type: {
        name: "Composite",
        className: "StackMinorVersion",
        modelProperties: {
            displayVersion: {
                serializedName: "displayVersion",
                xmlName: "displayVersion",
                type: {
                    name: "String"
                }
            },
            runtimeVersion: {
                serializedName: "runtimeVersion",
                xmlName: "runtimeVersion",
                type: {
                    name: "String"
                }
            },
            isDefault: {
                serializedName: "isDefault",
                xmlName: "isDefault",
                type: {
                    name: "Boolean"
                }
            },
            isRemoteDebuggingEnabled: {
                serializedName: "isRemoteDebuggingEnabled",
                xmlName: "isRemoteDebuggingEnabled",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const FunctionAppStackCollection = {
    serializedName: "FunctionAppStackCollection",
    type: {
        name: "Composite",
        className: "FunctionAppStackCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "FunctionAppStack",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "FunctionAppStack"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const FunctionAppMajorVersion = {
    serializedName: "FunctionAppMajorVersion",
    type: {
        name: "Composite",
        className: "FunctionAppMajorVersion",
        modelProperties: {
            displayText: {
                serializedName: "displayText",
                readOnly: true,
                xmlName: "displayText",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                readOnly: true,
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            minorVersions: {
                serializedName: "minorVersions",
                readOnly: true,
                xmlName: "minorVersions",
                xmlElementName: "FunctionAppMinorVersion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "FunctionAppMinorVersion"
                        }
                    }
                }
            }
        }
    }
};
export const FunctionAppMinorVersion = {
    serializedName: "FunctionAppMinorVersion",
    type: {
        name: "Composite",
        className: "FunctionAppMinorVersion",
        modelProperties: {
            displayText: {
                serializedName: "displayText",
                readOnly: true,
                xmlName: "displayText",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                readOnly: true,
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            stackSettings: {
                serializedName: "stackSettings",
                xmlName: "stackSettings",
                type: {
                    name: "Composite",
                    className: "FunctionAppRuntimes"
                }
            }
        }
    }
};
export const FunctionAppRuntimes = {
    serializedName: "FunctionAppRuntimes",
    type: {
        name: "Composite",
        className: "FunctionAppRuntimes",
        modelProperties: {
            linuxRuntimeSettings: {
                serializedName: "linuxRuntimeSettings",
                xmlName: "linuxRuntimeSettings",
                type: {
                    name: "Composite",
                    className: "FunctionAppRuntimeSettings"
                }
            },
            windowsRuntimeSettings: {
                serializedName: "windowsRuntimeSettings",
                xmlName: "windowsRuntimeSettings",
                type: {
                    name: "Composite",
                    className: "FunctionAppRuntimeSettings"
                }
            }
        }
    }
};
export const FunctionAppRuntimeSettings = {
    serializedName: "FunctionAppRuntimeSettings",
    type: {
        name: "Composite",
        className: "FunctionAppRuntimeSettings",
        modelProperties: {
            runtimeVersion: {
                serializedName: "runtimeVersion",
                readOnly: true,
                xmlName: "runtimeVersion",
                type: {
                    name: "String"
                }
            },
            remoteDebuggingSupported: {
                serializedName: "remoteDebuggingSupported",
                readOnly: true,
                xmlName: "remoteDebuggingSupported",
                type: {
                    name: "Boolean"
                }
            },
            appInsightsSettings: {
                serializedName: "appInsightsSettings",
                xmlName: "appInsightsSettings",
                type: {
                    name: "Composite",
                    className: "AppInsightsWebAppStackSettings"
                }
            },
            gitHubActionSettings: {
                serializedName: "gitHubActionSettings",
                xmlName: "gitHubActionSettings",
                type: {
                    name: "Composite",
                    className: "GitHubActionWebAppStackSettings"
                }
            },
            appSettingsDictionary: {
                serializedName: "appSettingsDictionary",
                readOnly: true,
                xmlName: "appSettingsDictionary",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            siteConfigPropertiesDictionary: {
                serializedName: "siteConfigPropertiesDictionary",
                xmlName: "siteConfigPropertiesDictionary",
                type: {
                    name: "Composite",
                    className: "SiteConfigPropertiesDictionary"
                }
            },
            supportedFunctionsExtensionVersions: {
                serializedName: "supportedFunctionsExtensionVersions",
                readOnly: true,
                xmlName: "supportedFunctionsExtensionVersions",
                xmlElementName: "FunctionAppRuntimeSettingsSupportedFunctionsExtensionVersionsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            isPreview: {
                serializedName: "isPreview",
                readOnly: true,
                xmlName: "isPreview",
                type: {
                    name: "Boolean"
                }
            },
            isDeprecated: {
                serializedName: "isDeprecated",
                readOnly: true,
                xmlName: "isDeprecated",
                type: {
                    name: "Boolean"
                }
            },
            isHidden: {
                serializedName: "isHidden",
                readOnly: true,
                xmlName: "isHidden",
                type: {
                    name: "Boolean"
                }
            },
            endOfLifeDate: {
                serializedName: "endOfLifeDate",
                readOnly: true,
                xmlName: "endOfLifeDate",
                type: {
                    name: "DateTime"
                }
            },
            isAutoUpdate: {
                serializedName: "isAutoUpdate",
                readOnly: true,
                xmlName: "isAutoUpdate",
                type: {
                    name: "Boolean"
                }
            },
            isEarlyAccess: {
                serializedName: "isEarlyAccess",
                readOnly: true,
                xmlName: "isEarlyAccess",
                type: {
                    name: "Boolean"
                }
            },
            isDefault: {
                serializedName: "isDefault",
                readOnly: true,
                xmlName: "isDefault",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const AppInsightsWebAppStackSettings = {
    serializedName: "AppInsightsWebAppStackSettings",
    type: {
        name: "Composite",
        className: "AppInsightsWebAppStackSettings",
        modelProperties: {
            isSupported: {
                serializedName: "isSupported",
                readOnly: true,
                xmlName: "isSupported",
                type: {
                    name: "Boolean"
                }
            },
            isDefaultOff: {
                serializedName: "isDefaultOff",
                readOnly: true,
                xmlName: "isDefaultOff",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const GitHubActionWebAppStackSettings = {
    serializedName: "GitHubActionWebAppStackSettings",
    type: {
        name: "Composite",
        className: "GitHubActionWebAppStackSettings",
        modelProperties: {
            isSupported: {
                serializedName: "isSupported",
                readOnly: true,
                xmlName: "isSupported",
                type: {
                    name: "Boolean"
                }
            },
            supportedVersion: {
                serializedName: "supportedVersion",
                readOnly: true,
                xmlName: "supportedVersion",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SiteConfigPropertiesDictionary = {
    serializedName: "SiteConfigPropertiesDictionary",
    type: {
        name: "Composite",
        className: "SiteConfigPropertiesDictionary",
        modelProperties: {
            use32BitWorkerProcess: {
                serializedName: "use32BitWorkerProcess",
                readOnly: true,
                xmlName: "use32BitWorkerProcess",
                type: {
                    name: "Boolean"
                }
            },
            linuxFxVersion: {
                serializedName: "linuxFxVersion",
                readOnly: true,
                xmlName: "linuxFxVersion",
                type: {
                    name: "String"
                }
            },
            javaVersion: {
                serializedName: "javaVersion",
                readOnly: true,
                xmlName: "javaVersion",
                type: {
                    name: "String"
                }
            },
            powerShellVersion: {
                serializedName: "powerShellVersion",
                readOnly: true,
                xmlName: "powerShellVersion",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WebAppStackCollection = {
    serializedName: "WebAppStackCollection",
    type: {
        name: "Composite",
        className: "WebAppStackCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "WebAppStack",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WebAppStack"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WebAppMajorVersion = {
    serializedName: "WebAppMajorVersion",
    type: {
        name: "Composite",
        className: "WebAppMajorVersion",
        modelProperties: {
            displayText: {
                serializedName: "displayText",
                readOnly: true,
                xmlName: "displayText",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                readOnly: true,
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            minorVersions: {
                serializedName: "minorVersions",
                readOnly: true,
                xmlName: "minorVersions",
                xmlElementName: "WebAppMinorVersion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WebAppMinorVersion"
                        }
                    }
                }
            }
        }
    }
};
export const WebAppMinorVersion = {
    serializedName: "WebAppMinorVersion",
    type: {
        name: "Composite",
        className: "WebAppMinorVersion",
        modelProperties: {
            displayText: {
                serializedName: "displayText",
                readOnly: true,
                xmlName: "displayText",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                readOnly: true,
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            stackSettings: {
                serializedName: "stackSettings",
                xmlName: "stackSettings",
                type: {
                    name: "Composite",
                    className: "WebAppRuntimes"
                }
            }
        }
    }
};
export const WebAppRuntimes = {
    serializedName: "WebAppRuntimes",
    type: {
        name: "Composite",
        className: "WebAppRuntimes",
        modelProperties: {
            linuxRuntimeSettings: {
                serializedName: "linuxRuntimeSettings",
                xmlName: "linuxRuntimeSettings",
                type: {
                    name: "Composite",
                    className: "WebAppRuntimeSettings"
                }
            },
            windowsRuntimeSettings: {
                serializedName: "windowsRuntimeSettings",
                xmlName: "windowsRuntimeSettings",
                type: {
                    name: "Composite",
                    className: "WebAppRuntimeSettings"
                }
            },
            linuxContainerSettings: {
                serializedName: "linuxContainerSettings",
                xmlName: "linuxContainerSettings",
                type: {
                    name: "Composite",
                    className: "LinuxJavaContainerSettings"
                }
            },
            windowsContainerSettings: {
                serializedName: "windowsContainerSettings",
                xmlName: "windowsContainerSettings",
                type: {
                    name: "Composite",
                    className: "WindowsJavaContainerSettings"
                }
            }
        }
    }
};
export const WebAppRuntimeSettings = {
    serializedName: "WebAppRuntimeSettings",
    type: {
        name: "Composite",
        className: "WebAppRuntimeSettings",
        modelProperties: {
            runtimeVersion: {
                serializedName: "runtimeVersion",
                readOnly: true,
                xmlName: "runtimeVersion",
                type: {
                    name: "String"
                }
            },
            remoteDebuggingSupported: {
                serializedName: "remoteDebuggingSupported",
                readOnly: true,
                xmlName: "remoteDebuggingSupported",
                type: {
                    name: "Boolean"
                }
            },
            appInsightsSettings: {
                serializedName: "appInsightsSettings",
                xmlName: "appInsightsSettings",
                type: {
                    name: "Composite",
                    className: "AppInsightsWebAppStackSettings"
                }
            },
            gitHubActionSettings: {
                serializedName: "gitHubActionSettings",
                xmlName: "gitHubActionSettings",
                type: {
                    name: "Composite",
                    className: "GitHubActionWebAppStackSettings"
                }
            },
            isPreview: {
                serializedName: "isPreview",
                readOnly: true,
                xmlName: "isPreview",
                type: {
                    name: "Boolean"
                }
            },
            isDeprecated: {
                serializedName: "isDeprecated",
                readOnly: true,
                xmlName: "isDeprecated",
                type: {
                    name: "Boolean"
                }
            },
            isHidden: {
                serializedName: "isHidden",
                readOnly: true,
                xmlName: "isHidden",
                type: {
                    name: "Boolean"
                }
            },
            endOfLifeDate: {
                serializedName: "endOfLifeDate",
                readOnly: true,
                xmlName: "endOfLifeDate",
                type: {
                    name: "DateTime"
                }
            },
            isAutoUpdate: {
                serializedName: "isAutoUpdate",
                readOnly: true,
                xmlName: "isAutoUpdate",
                type: {
                    name: "Boolean"
                }
            },
            isEarlyAccess: {
                serializedName: "isEarlyAccess",
                readOnly: true,
                xmlName: "isEarlyAccess",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const LinuxJavaContainerSettings = {
    serializedName: "LinuxJavaContainerSettings",
    type: {
        name: "Composite",
        className: "LinuxJavaContainerSettings",
        modelProperties: {
            java11Runtime: {
                serializedName: "java11Runtime",
                readOnly: true,
                xmlName: "java11Runtime",
                type: {
                    name: "String"
                }
            },
            java8Runtime: {
                serializedName: "java8Runtime",
                readOnly: true,
                xmlName: "java8Runtime",
                type: {
                    name: "String"
                }
            },
            isPreview: {
                serializedName: "isPreview",
                readOnly: true,
                xmlName: "isPreview",
                type: {
                    name: "Boolean"
                }
            },
            isDeprecated: {
                serializedName: "isDeprecated",
                readOnly: true,
                xmlName: "isDeprecated",
                type: {
                    name: "Boolean"
                }
            },
            isHidden: {
                serializedName: "isHidden",
                readOnly: true,
                xmlName: "isHidden",
                type: {
                    name: "Boolean"
                }
            },
            endOfLifeDate: {
                serializedName: "endOfLifeDate",
                readOnly: true,
                xmlName: "endOfLifeDate",
                type: {
                    name: "DateTime"
                }
            },
            isAutoUpdate: {
                serializedName: "isAutoUpdate",
                readOnly: true,
                xmlName: "isAutoUpdate",
                type: {
                    name: "Boolean"
                }
            },
            isEarlyAccess: {
                serializedName: "isEarlyAccess",
                readOnly: true,
                xmlName: "isEarlyAccess",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const WindowsJavaContainerSettings = {
    serializedName: "WindowsJavaContainerSettings",
    type: {
        name: "Composite",
        className: "WindowsJavaContainerSettings",
        modelProperties: {
            javaContainer: {
                serializedName: "javaContainer",
                readOnly: true,
                xmlName: "javaContainer",
                type: {
                    name: "String"
                }
            },
            javaContainerVersion: {
                serializedName: "javaContainerVersion",
                readOnly: true,
                xmlName: "javaContainerVersion",
                type: {
                    name: "String"
                }
            },
            isPreview: {
                serializedName: "isPreview",
                readOnly: true,
                xmlName: "isPreview",
                type: {
                    name: "Boolean"
                }
            },
            isDeprecated: {
                serializedName: "isDeprecated",
                readOnly: true,
                xmlName: "isDeprecated",
                type: {
                    name: "Boolean"
                }
            },
            isHidden: {
                serializedName: "isHidden",
                readOnly: true,
                xmlName: "isHidden",
                type: {
                    name: "Boolean"
                }
            },
            endOfLifeDate: {
                serializedName: "endOfLifeDate",
                readOnly: true,
                xmlName: "endOfLifeDate",
                type: {
                    name: "DateTime"
                }
            },
            isAutoUpdate: {
                serializedName: "isAutoUpdate",
                readOnly: true,
                xmlName: "isAutoUpdate",
                type: {
                    name: "Boolean"
                }
            },
            isEarlyAccess: {
                serializedName: "isEarlyAccess",
                readOnly: true,
                xmlName: "isEarlyAccess",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const RecommendationCollection = {
    serializedName: "RecommendationCollection",
    type: {
        name: "Composite",
        className: "RecommendationCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "Recommendation",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Recommendation"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResourceHealthMetadataCollection = {
    serializedName: "ResourceHealthMetadataCollection",
    type: {
        name: "Composite",
        className: "ResourceHealthMetadataCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ResourceHealthMetadata",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ResourceHealthMetadata"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SourceControlCollection = {
    serializedName: "SourceControlCollection",
    type: {
        name: "Composite",
        className: "SourceControlCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "SourceControl",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SourceControl"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const BillingMeterCollection = {
    serializedName: "BillingMeterCollection",
    type: {
        name: "Composite",
        className: "BillingMeterCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "BillingMeter",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "BillingMeter"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResourceNameAvailabilityRequest = {
    serializedName: "ResourceNameAvailabilityRequest",
    type: {
        name: "Composite",
        className: "ResourceNameAvailabilityRequest",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            typeParam: {
                serializedName: "type",
                required: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            isFqdn: {
                serializedName: "isFqdn",
                xmlName: "isFqdn",
                type: {
                    name: "Boolean"
                }
            },
            environmentId: {
                serializedName: "environmentId",
                xmlName: "environmentId",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResourceNameAvailability = {
    serializedName: "ResourceNameAvailability",
    type: {
        name: "Composite",
        className: "ResourceNameAvailability",
        modelProperties: {
            nameAvailable: {
                serializedName: "nameAvailable",
                xmlName: "nameAvailable",
                type: {
                    name: "Boolean"
                }
            },
            reason: {
                serializedName: "reason",
                xmlName: "reason",
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                xmlName: "message",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CustomHostnameSitesCollection = {
    serializedName: "CustomHostnameSitesCollection",
    type: {
        name: "Composite",
        className: "CustomHostnameSitesCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "CustomHostnameSites",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "CustomHostnameSites"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DeploymentLocations = {
    serializedName: "DeploymentLocations",
    type: {
        name: "Composite",
        className: "DeploymentLocations",
        modelProperties: {
            locations: {
                serializedName: "locations",
                xmlName: "locations",
                xmlElementName: "GeoRegion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "GeoRegion"
                        }
                    }
                }
            },
            hostingEnvironments: {
                serializedName: "hostingEnvironments",
                xmlName: "hostingEnvironments",
                xmlElementName: "AppServiceEnvironment",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AppServiceEnvironment"
                        }
                    }
                }
            },
            hostingEnvironmentDeploymentInfos: {
                serializedName: "hostingEnvironmentDeploymentInfos",
                xmlName: "hostingEnvironmentDeploymentInfos",
                xmlElementName: "HostingEnvironmentDeploymentInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HostingEnvironmentDeploymentInfo"
                        }
                    }
                }
            }
        }
    }
};
export const HostingEnvironmentDeploymentInfo = {
    serializedName: "HostingEnvironmentDeploymentInfo",
    type: {
        name: "Composite",
        className: "HostingEnvironmentDeploymentInfo",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                xmlName: "location",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AseRegionCollection = {
    serializedName: "AseRegionCollection",
    type: {
        name: "Composite",
        className: "AseRegionCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "AseRegion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AseRegion"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const GeoRegionCollection = {
    serializedName: "GeoRegionCollection",
    type: {
        name: "Composite",
        className: "GeoRegionCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "GeoRegion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "GeoRegion"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const IdentifierCollection = {
    serializedName: "IdentifierCollection",
    type: {
        name: "Composite",
        className: "IdentifierCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "Identifier",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Identifier"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PremierAddOnOfferCollection = {
    serializedName: "PremierAddOnOfferCollection",
    type: {
        name: "Composite",
        className: "PremierAddOnOfferCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "PremierAddOnOffer",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PremierAddOnOffer"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SkuInfos = {
    serializedName: "SkuInfos",
    type: {
        name: "Composite",
        className: "SkuInfos",
        modelProperties: {
            resourceType: {
                serializedName: "resourceType",
                xmlName: "resourceType",
                type: {
                    name: "String"
                }
            },
            skus: {
                serializedName: "skus",
                xmlName: "skus",
                xmlElementName: "GlobalCsmSkuDescription",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "GlobalCsmSkuDescription"
                        }
                    }
                }
            }
        }
    }
};
export const GlobalCsmSkuDescription = {
    serializedName: "GlobalCsmSkuDescription",
    type: {
        name: "Composite",
        className: "GlobalCsmSkuDescription",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            tier: {
                serializedName: "tier",
                xmlName: "tier",
                type: {
                    name: "String"
                }
            },
            size: {
                serializedName: "size",
                xmlName: "size",
                type: {
                    name: "String"
                }
            },
            family: {
                serializedName: "family",
                xmlName: "family",
                type: {
                    name: "String"
                }
            },
            capacity: {
                serializedName: "capacity",
                xmlName: "capacity",
                type: {
                    name: "Composite",
                    className: "SkuCapacity"
                }
            },
            locations: {
                serializedName: "locations",
                xmlName: "locations",
                xmlElementName: "GlobalCsmSkuDescriptionLocationsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            capabilities: {
                serializedName: "capabilities",
                xmlName: "capabilities",
                xmlElementName: "Capability",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Capability"
                        }
                    }
                }
            }
        }
    }
};
export const CsmMoveResourceEnvelope = {
    serializedName: "CsmMoveResourceEnvelope",
    type: {
        name: "Composite",
        className: "CsmMoveResourceEnvelope",
        modelProperties: {
            targetResourceGroup: {
                constraints: {
                    Pattern: new RegExp(" ^[-\\w\\._\\(\\)]+[^\\.]$"),
                    MaxLength: 90,
                    MinLength: 1
                },
                serializedName: "targetResourceGroup",
                xmlName: "targetResourceGroup",
                type: {
                    name: "String"
                }
            },
            resources: {
                serializedName: "resources",
                xmlName: "resources",
                xmlElementName: "CsmMoveResourceEnvelopeResourcesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const ValidateRequest = {
    serializedName: "ValidateRequest",
    type: {
        name: "Composite",
        className: "ValidateRequest",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                required: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                required: true,
                xmlName: "location",
                type: {
                    name: "String"
                }
            },
            serverFarmId: {
                serializedName: "properties.serverFarmId",
                xmlName: "properties.serverFarmId",
                type: {
                    name: "String"
                }
            },
            skuName: {
                serializedName: "properties.skuName",
                xmlName: "properties.skuName",
                type: {
                    name: "String"
                }
            },
            needLinuxWorkers: {
                serializedName: "properties.needLinuxWorkers",
                xmlName: "properties.needLinuxWorkers",
                type: {
                    name: "Boolean"
                }
            },
            isSpot: {
                serializedName: "properties.isSpot",
                xmlName: "properties.isSpot",
                type: {
                    name: "Boolean"
                }
            },
            capacity: {
                constraints: {
                    InclusiveMinimum: 1
                },
                serializedName: "properties.capacity",
                xmlName: "properties.capacity",
                type: {
                    name: "Number"
                }
            },
            hostingEnvironment: {
                serializedName: "properties.hostingEnvironment",
                xmlName: "properties.hostingEnvironment",
                type: {
                    name: "String"
                }
            },
            isXenon: {
                serializedName: "properties.isXenon",
                xmlName: "properties.isXenon",
                type: {
                    name: "Boolean"
                }
            },
            containerRegistryBaseUrl: {
                serializedName: "properties.containerRegistryBaseUrl",
                xmlName: "properties.containerRegistryBaseUrl",
                type: {
                    name: "String"
                }
            },
            containerRegistryUsername: {
                serializedName: "properties.containerRegistryUsername",
                xmlName: "properties.containerRegistryUsername",
                type: {
                    name: "String"
                }
            },
            containerRegistryPassword: {
                serializedName: "properties.containerRegistryPassword",
                xmlName: "properties.containerRegistryPassword",
                type: {
                    name: "String"
                }
            },
            containerImageRepository: {
                serializedName: "properties.containerImageRepository",
                xmlName: "properties.containerImageRepository",
                type: {
                    name: "String"
                }
            },
            containerImageTag: {
                serializedName: "properties.containerImageTag",
                xmlName: "properties.containerImageTag",
                type: {
                    name: "String"
                }
            },
            containerImagePlatform: {
                serializedName: "properties.containerImagePlatform",
                xmlName: "properties.containerImagePlatform",
                type: {
                    name: "String"
                }
            },
            appServiceEnvironment: {
                serializedName: "properties.appServiceEnvironment",
                xmlName: "properties.appServiceEnvironment",
                type: {
                    name: "Composite",
                    className: "AppServiceEnvironment"
                }
            }
        }
    }
};
export const ValidateResponse = {
    serializedName: "ValidateResponse",
    type: {
        name: "Composite",
        className: "ValidateResponse",
        modelProperties: {
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "String"
                }
            },
            error: {
                serializedName: "error",
                xmlName: "error",
                type: {
                    name: "Composite",
                    className: "ValidateResponseError"
                }
            }
        }
    }
};
export const ValidateResponseError = {
    serializedName: "ValidateResponseError",
    type: {
        name: "Composite",
        className: "ValidateResponseError",
        modelProperties: {
            code: {
                serializedName: "code",
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                xmlName: "message",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteBuildProperties = {
    serializedName: "StaticSiteBuildProperties",
    type: {
        name: "Composite",
        className: "StaticSiteBuildProperties",
        modelProperties: {
            appLocation: {
                serializedName: "appLocation",
                xmlName: "appLocation",
                type: {
                    name: "String"
                }
            },
            apiLocation: {
                serializedName: "apiLocation",
                xmlName: "apiLocation",
                type: {
                    name: "String"
                }
            },
            appArtifactLocation: {
                serializedName: "appArtifactLocation",
                xmlName: "appArtifactLocation",
                type: {
                    name: "String"
                }
            },
            outputLocation: {
                serializedName: "outputLocation",
                xmlName: "outputLocation",
                type: {
                    name: "String"
                }
            },
            appBuildCommand: {
                serializedName: "appBuildCommand",
                xmlName: "appBuildCommand",
                type: {
                    name: "String"
                }
            },
            apiBuildCommand: {
                serializedName: "apiBuildCommand",
                xmlName: "apiBuildCommand",
                type: {
                    name: "String"
                }
            },
            skipGithubActionWorkflowGeneration: {
                serializedName: "skipGithubActionWorkflowGeneration",
                xmlName: "skipGithubActionWorkflowGeneration",
                type: {
                    name: "Boolean"
                }
            },
            githubActionSecretNameOverride: {
                serializedName: "githubActionSecretNameOverride",
                xmlName: "githubActionSecretNameOverride",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteCollection = {
    serializedName: "StaticSiteCollection",
    type: {
        name: "Composite",
        className: "StaticSiteCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "StaticSiteARMResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteARMResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResponseMessageEnvelopeRemotePrivateEndpointConnection = {
    serializedName: "ResponseMessageEnvelopeRemotePrivateEndpointConnection",
    type: {
        name: "Composite",
        className: "ResponseMessageEnvelopeRemotePrivateEndpointConnection",
        modelProperties: {
            id: {
                serializedName: "id",
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                xmlName: "location",
                type: {
                    name: "String"
                }
            },
            tags: {
                serializedName: "tags",
                xmlName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            plan: {
                serializedName: "plan",
                xmlName: "plan",
                type: {
                    name: "Composite",
                    className: "ArmPlan"
                }
            },
            properties: {
                serializedName: "properties",
                xmlName: "properties",
                type: {
                    name: "Composite",
                    className: "RemotePrivateEndpointConnection"
                }
            },
            sku: {
                serializedName: "sku",
                xmlName: "sku",
                type: {
                    name: "Composite",
                    className: "SkuDescription"
                }
            },
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "String"
                }
            },
            error: {
                serializedName: "error",
                xmlName: "error",
                type: {
                    name: "Composite",
                    className: "ErrorEntity"
                }
            },
            identity: {
                serializedName: "identity",
                xmlName: "identity",
                type: {
                    name: "Composite",
                    className: "ManagedServiceIdentity"
                }
            },
            zones: {
                serializedName: "zones",
                xmlName: "zones",
                xmlElementName: "ResponseMessageEnvelopeRemotePrivateEndpointConnectionZonesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const ArmPlan = {
    serializedName: "ArmPlan",
    type: {
        name: "Composite",
        className: "ArmPlan",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            publisher: {
                serializedName: "publisher",
                xmlName: "publisher",
                type: {
                    name: "String"
                }
            },
            product: {
                serializedName: "product",
                xmlName: "product",
                type: {
                    name: "String"
                }
            },
            promotionCode: {
                serializedName: "promotionCode",
                xmlName: "promotionCode",
                type: {
                    name: "String"
                }
            },
            version: {
                serializedName: "version",
                xmlName: "version",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteTemplateOptions = {
    serializedName: "StaticSiteTemplateOptions",
    type: {
        name: "Composite",
        className: "StaticSiteTemplateOptions",
        modelProperties: {
            templateRepositoryUrl: {
                serializedName: "templateRepositoryUrl",
                xmlName: "templateRepositoryUrl",
                type: {
                    name: "String"
                }
            },
            owner: {
                serializedName: "owner",
                xmlName: "owner",
                type: {
                    name: "String"
                }
            },
            repositoryName: {
                serializedName: "repositoryName",
                xmlName: "repositoryName",
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                xmlName: "description",
                type: {
                    name: "String"
                }
            },
            isPrivate: {
                serializedName: "isPrivate",
                xmlName: "isPrivate",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const StaticSiteLinkedBackend = {
    serializedName: "StaticSiteLinkedBackend",
    type: {
        name: "Composite",
        className: "StaticSiteLinkedBackend",
        modelProperties: {
            backendResourceId: {
                serializedName: "backendResourceId",
                xmlName: "backendResourceId",
                type: {
                    name: "String"
                }
            },
            region: {
                serializedName: "region",
                xmlName: "region",
                type: {
                    name: "String"
                }
            },
            createdOn: {
                serializedName: "createdOn",
                readOnly: true,
                xmlName: "createdOn",
                type: {
                    name: "DateTime"
                }
            },
            provisioningState: {
                serializedName: "provisioningState",
                readOnly: true,
                xmlName: "provisioningState",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DatabaseConnectionOverview = {
    serializedName: "DatabaseConnectionOverview",
    type: {
        name: "Composite",
        className: "DatabaseConnectionOverview",
        modelProperties: {
            resourceId: {
                serializedName: "resourceId",
                readOnly: true,
                xmlName: "resourceId",
                type: {
                    name: "String"
                }
            },
            connectionIdentity: {
                serializedName: "connectionIdentity",
                readOnly: true,
                xmlName: "connectionIdentity",
                type: {
                    name: "String"
                }
            },
            region: {
                serializedName: "region",
                readOnly: true,
                xmlName: "region",
                type: {
                    name: "String"
                }
            },
            configurationFiles: {
                serializedName: "configurationFiles",
                readOnly: true,
                xmlName: "configurationFiles",
                xmlElementName: "StaticSiteDatabaseConnectionConfigurationFileOverview",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteDatabaseConnectionConfigurationFileOverview"
                        }
                    }
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteDatabaseConnectionConfigurationFileOverview = {
    serializedName: "StaticSiteDatabaseConnectionConfigurationFileOverview",
    type: {
        name: "Composite",
        className: "StaticSiteDatabaseConnectionConfigurationFileOverview",
        modelProperties: {
            fileName: {
                serializedName: "fileName",
                readOnly: true,
                xmlName: "fileName",
                type: {
                    name: "String"
                }
            },
            contents: {
                serializedName: "contents",
                readOnly: true,
                xmlName: "contents",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteUserCollection = {
    serializedName: "StaticSiteUserCollection",
    type: {
        name: "Composite",
        className: "StaticSiteUserCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "StaticSiteUserARMResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteUserARMResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteBuildCollection = {
    serializedName: "StaticSiteBuildCollection",
    type: {
        name: "Composite",
        className: "StaticSiteBuildCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "StaticSiteBuildARMResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteBuildARMResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DatabaseConnectionCollection = {
    serializedName: "DatabaseConnectionCollection",
    type: {
        name: "Composite",
        className: "DatabaseConnectionCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "DatabaseConnection",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DatabaseConnection"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DatabaseConnectionPatchRequest = {
    serializedName: "DatabaseConnectionPatchRequest",
    type: {
        name: "Composite",
        className: "DatabaseConnectionPatchRequest",
        modelProperties: {
            resourceId: {
                serializedName: "properties.resourceId",
                xmlName: "properties.resourceId",
                type: {
                    name: "String"
                }
            },
            connectionIdentity: {
                serializedName: "properties.connectionIdentity",
                xmlName: "properties.connectionIdentity",
                type: {
                    name: "String"
                }
            },
            connectionString: {
                serializedName: "properties.connectionString",
                xmlName: "properties.connectionString",
                type: {
                    name: "String"
                }
            },
            region: {
                serializedName: "properties.region",
                xmlName: "properties.region",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteFunctionOverviewCollection = {
    serializedName: "StaticSiteFunctionOverviewCollection",
    type: {
        name: "Composite",
        className: "StaticSiteFunctionOverviewCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "StaticSiteFunctionOverviewARMResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteFunctionOverviewARMResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteUserProvidedFunctionAppsCollection = {
    serializedName: "StaticSiteUserProvidedFunctionAppsCollection",
    type: {
        name: "Composite",
        className: "StaticSiteUserProvidedFunctionAppsCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "StaticSiteUserProvidedFunctionAppARMResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteUserProvidedFunctionAppARMResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteBasicAuthPropertiesCollection = {
    serializedName: "StaticSiteBasicAuthPropertiesCollection",
    type: {
        name: "Composite",
        className: "StaticSiteBasicAuthPropertiesCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "StaticSiteBasicAuthPropertiesARMResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteBasicAuthPropertiesARMResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteCustomDomainOverviewCollection = {
    serializedName: "StaticSiteCustomDomainOverviewCollection",
    type: {
        name: "Composite",
        className: "StaticSiteCustomDomainOverviewCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "StaticSiteCustomDomainOverviewARMResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteCustomDomainOverviewARMResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const StaticSiteLinkedBackendsCollection = {
    serializedName: "StaticSiteLinkedBackendsCollection",
    type: {
        name: "Composite",
        className: "StaticSiteLinkedBackendsCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "StaticSiteLinkedBackendARMResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteLinkedBackendARMResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CsmSlotEntity = {
    serializedName: "CsmSlotEntity",
    type: {
        name: "Composite",
        className: "CsmSlotEntity",
        modelProperties: {
            targetSlot: {
                serializedName: "targetSlot",
                required: true,
                xmlName: "targetSlot",
                type: {
                    name: "String"
                }
            },
            preserveVnet: {
                serializedName: "preserveVnet",
                required: true,
                xmlName: "preserveVnet",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const BackupSchedule = {
    serializedName: "BackupSchedule",
    type: {
        name: "Composite",
        className: "BackupSchedule",
        modelProperties: {
            frequencyInterval: {
                defaultValue: 7,
                serializedName: "frequencyInterval",
                required: true,
                xmlName: "frequencyInterval",
                type: {
                    name: "Number"
                }
            },
            frequencyUnit: {
                defaultValue: "Day",
                serializedName: "frequencyUnit",
                required: true,
                xmlName: "frequencyUnit",
                type: {
                    name: "Enum",
                    allowedValues: ["Day", "Hour"]
                }
            },
            keepAtLeastOneBackup: {
                defaultValue: true,
                serializedName: "keepAtLeastOneBackup",
                required: true,
                xmlName: "keepAtLeastOneBackup",
                type: {
                    name: "Boolean"
                }
            },
            retentionPeriodInDays: {
                defaultValue: 30,
                serializedName: "retentionPeriodInDays",
                required: true,
                xmlName: "retentionPeriodInDays",
                type: {
                    name: "Number"
                }
            },
            startTime: {
                serializedName: "startTime",
                xmlName: "startTime",
                type: {
                    name: "DateTime"
                }
            },
            lastExecutionTime: {
                serializedName: "lastExecutionTime",
                readOnly: true,
                xmlName: "lastExecutionTime",
                type: {
                    name: "DateTime"
                }
            }
        }
    }
};
export const DatabaseBackupSetting = {
    serializedName: "DatabaseBackupSetting",
    type: {
        name: "Composite",
        className: "DatabaseBackupSetting",
        modelProperties: {
            databaseType: {
                serializedName: "databaseType",
                required: true,
                xmlName: "databaseType",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            connectionStringName: {
                serializedName: "connectionStringName",
                xmlName: "connectionStringName",
                type: {
                    name: "String"
                }
            },
            connectionString: {
                serializedName: "connectionString",
                xmlName: "connectionString",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const BackupItemCollection = {
    serializedName: "BackupItemCollection",
    type: {
        name: "Composite",
        className: "BackupItemCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "BackupItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "BackupItem"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PublishingCredentialsPoliciesCollection = {
    serializedName: "PublishingCredentialsPoliciesCollection",
    type: {
        name: "Composite",
        className: "PublishingCredentialsPoliciesCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "CsmPublishingCredentialsPoliciesEntity",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "CsmPublishingCredentialsPoliciesEntity"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SiteConfigResourceCollection = {
    serializedName: "SiteConfigResourceCollection",
    type: {
        name: "Composite",
        className: "SiteConfigResourceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "SiteConfigResource",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SiteConfigResource"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AuthPlatform = {
    serializedName: "AuthPlatform",
    type: {
        name: "Composite",
        className: "AuthPlatform",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            runtimeVersion: {
                serializedName: "runtimeVersion",
                xmlName: "runtimeVersion",
                type: {
                    name: "String"
                }
            },
            configFilePath: {
                serializedName: "configFilePath",
                xmlName: "configFilePath",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const GlobalValidation = {
    serializedName: "GlobalValidation",
    type: {
        name: "Composite",
        className: "GlobalValidation",
        modelProperties: {
            requireAuthentication: {
                serializedName: "requireAuthentication",
                xmlName: "requireAuthentication",
                type: {
                    name: "Boolean"
                }
            },
            unauthenticatedClientAction: {
                serializedName: "unauthenticatedClientAction",
                xmlName: "unauthenticatedClientAction",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "RedirectToLoginPage",
                        "AllowAnonymous",
                        "Return401",
                        "Return403"
                    ]
                }
            },
            redirectToProvider: {
                serializedName: "redirectToProvider",
                xmlName: "redirectToProvider",
                type: {
                    name: "String"
                }
            },
            excludedPaths: {
                serializedName: "excludedPaths",
                xmlName: "excludedPaths",
                xmlElementName: "GlobalValidationExcludedPathsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const IdentityProviders = {
    serializedName: "IdentityProviders",
    type: {
        name: "Composite",
        className: "IdentityProviders",
        modelProperties: {
            azureActiveDirectory: {
                serializedName: "azureActiveDirectory",
                xmlName: "azureActiveDirectory",
                type: {
                    name: "Composite",
                    className: "AzureActiveDirectory"
                }
            },
            facebook: {
                serializedName: "facebook",
                xmlName: "facebook",
                type: {
                    name: "Composite",
                    className: "Facebook"
                }
            },
            gitHub: {
                serializedName: "gitHub",
                xmlName: "gitHub",
                type: {
                    name: "Composite",
                    className: "GitHub"
                }
            },
            google: {
                serializedName: "google",
                xmlName: "google",
                type: {
                    name: "Composite",
                    className: "Google"
                }
            },
            legacyMicrosoftAccount: {
                serializedName: "legacyMicrosoftAccount",
                xmlName: "legacyMicrosoftAccount",
                type: {
                    name: "Composite",
                    className: "LegacyMicrosoftAccount"
                }
            },
            twitter: {
                serializedName: "twitter",
                xmlName: "twitter",
                type: {
                    name: "Composite",
                    className: "Twitter"
                }
            },
            apple: {
                serializedName: "apple",
                xmlName: "apple",
                type: {
                    name: "Composite",
                    className: "Apple"
                }
            },
            azureStaticWebApps: {
                serializedName: "azureStaticWebApps",
                xmlName: "azureStaticWebApps",
                type: {
                    name: "Composite",
                    className: "AzureStaticWebApps"
                }
            },
            customOpenIdConnectProviders: {
                serializedName: "customOpenIdConnectProviders",
                xmlName: "customOpenIdConnectProviders",
                type: {
                    name: "Dictionary",
                    value: {
                        type: {
                            name: "Composite",
                            className: "CustomOpenIdConnectProvider"
                        }
                    }
                }
            }
        }
    }
};
export const AzureActiveDirectory = {
    serializedName: "AzureActiveDirectory",
    type: {
        name: "Composite",
        className: "AzureActiveDirectory",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            registration: {
                serializedName: "registration",
                xmlName: "registration",
                type: {
                    name: "Composite",
                    className: "AzureActiveDirectoryRegistration"
                }
            },
            login: {
                serializedName: "login",
                xmlName: "login",
                type: {
                    name: "Composite",
                    className: "AzureActiveDirectoryLogin"
                }
            },
            validation: {
                serializedName: "validation",
                xmlName: "validation",
                type: {
                    name: "Composite",
                    className: "AzureActiveDirectoryValidation"
                }
            },
            isAutoProvisioned: {
                serializedName: "isAutoProvisioned",
                xmlName: "isAutoProvisioned",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const AzureActiveDirectoryRegistration = {
    serializedName: "AzureActiveDirectoryRegistration",
    type: {
        name: "Composite",
        className: "AzureActiveDirectoryRegistration",
        modelProperties: {
            openIdIssuer: {
                serializedName: "openIdIssuer",
                xmlName: "openIdIssuer",
                type: {
                    name: "String"
                }
            },
            clientId: {
                serializedName: "clientId",
                xmlName: "clientId",
                type: {
                    name: "String"
                }
            },
            clientSecretSettingName: {
                serializedName: "clientSecretSettingName",
                xmlName: "clientSecretSettingName",
                type: {
                    name: "String"
                }
            },
            clientSecretCertificateThumbprint: {
                serializedName: "clientSecretCertificateThumbprint",
                xmlName: "clientSecretCertificateThumbprint",
                type: {
                    name: "String"
                }
            },
            clientSecretCertificateSubjectAlternativeName: {
                serializedName: "clientSecretCertificateSubjectAlternativeName",
                xmlName: "clientSecretCertificateSubjectAlternativeName",
                type: {
                    name: "String"
                }
            },
            clientSecretCertificateIssuer: {
                serializedName: "clientSecretCertificateIssuer",
                xmlName: "clientSecretCertificateIssuer",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AzureActiveDirectoryLogin = {
    serializedName: "AzureActiveDirectoryLogin",
    type: {
        name: "Composite",
        className: "AzureActiveDirectoryLogin",
        modelProperties: {
            loginParameters: {
                serializedName: "loginParameters",
                xmlName: "loginParameters",
                xmlElementName: "AzureActiveDirectoryLoginParametersItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            disableWWWAuthenticate: {
                serializedName: "disableWWWAuthenticate",
                xmlName: "disableWWWAuthenticate",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const AzureActiveDirectoryValidation = {
    serializedName: "AzureActiveDirectoryValidation",
    type: {
        name: "Composite",
        className: "AzureActiveDirectoryValidation",
        modelProperties: {
            jwtClaimChecks: {
                serializedName: "jwtClaimChecks",
                xmlName: "jwtClaimChecks",
                type: {
                    name: "Composite",
                    className: "JwtClaimChecks"
                }
            },
            allowedAudiences: {
                serializedName: "allowedAudiences",
                xmlName: "allowedAudiences",
                xmlElementName: "AzureActiveDirectoryValidationAllowedAudiencesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            defaultAuthorizationPolicy: {
                serializedName: "defaultAuthorizationPolicy",
                xmlName: "defaultAuthorizationPolicy",
                type: {
                    name: "Composite",
                    className: "DefaultAuthorizationPolicy"
                }
            }
        }
    }
};
export const JwtClaimChecks = {
    serializedName: "JwtClaimChecks",
    type: {
        name: "Composite",
        className: "JwtClaimChecks",
        modelProperties: {
            allowedGroups: {
                serializedName: "allowedGroups",
                xmlName: "allowedGroups",
                xmlElementName: "JwtClaimChecksAllowedGroupsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            allowedClientApplications: {
                serializedName: "allowedClientApplications",
                xmlName: "allowedClientApplications",
                xmlElementName: "JwtClaimChecksAllowedClientApplicationsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const DefaultAuthorizationPolicy = {
    serializedName: "DefaultAuthorizationPolicy",
    type: {
        name: "Composite",
        className: "DefaultAuthorizationPolicy",
        modelProperties: {
            allowedPrincipals: {
                serializedName: "allowedPrincipals",
                xmlName: "allowedPrincipals",
                type: {
                    name: "Composite",
                    className: "AllowedPrincipals"
                }
            },
            allowedApplications: {
                serializedName: "allowedApplications",
                xmlName: "allowedApplications",
                xmlElementName: "DefaultAuthorizationPolicyAllowedApplicationsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const AllowedPrincipals = {
    serializedName: "AllowedPrincipals",
    type: {
        name: "Composite",
        className: "AllowedPrincipals",
        modelProperties: {
            groups: {
                serializedName: "groups",
                xmlName: "groups",
                xmlElementName: "AllowedPrincipalsGroupsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            identities: {
                serializedName: "identities",
                xmlName: "identities",
                xmlElementName: "AllowedPrincipalsIdentitiesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const Facebook = {
    serializedName: "Facebook",
    type: {
        name: "Composite",
        className: "Facebook",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            registration: {
                serializedName: "registration",
                xmlName: "registration",
                type: {
                    name: "Composite",
                    className: "AppRegistration"
                }
            },
            graphApiVersion: {
                serializedName: "graphApiVersion",
                xmlName: "graphApiVersion",
                type: {
                    name: "String"
                }
            },
            login: {
                serializedName: "login",
                xmlName: "login",
                type: {
                    name: "Composite",
                    className: "LoginScopes"
                }
            }
        }
    }
};
export const AppRegistration = {
    serializedName: "AppRegistration",
    type: {
        name: "Composite",
        className: "AppRegistration",
        modelProperties: {
            appId: {
                serializedName: "appId",
                xmlName: "appId",
                type: {
                    name: "String"
                }
            },
            appSecretSettingName: {
                serializedName: "appSecretSettingName",
                xmlName: "appSecretSettingName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const LoginScopes = {
    serializedName: "LoginScopes",
    type: {
        name: "Composite",
        className: "LoginScopes",
        modelProperties: {
            scopes: {
                serializedName: "scopes",
                xmlName: "scopes",
                xmlElementName: "LoginScopesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const GitHub = {
    serializedName: "GitHub",
    type: {
        name: "Composite",
        className: "GitHub",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            registration: {
                serializedName: "registration",
                xmlName: "registration",
                type: {
                    name: "Composite",
                    className: "ClientRegistration"
                }
            },
            login: {
                serializedName: "login",
                xmlName: "login",
                type: {
                    name: "Composite",
                    className: "LoginScopes"
                }
            }
        }
    }
};
export const ClientRegistration = {
    serializedName: "ClientRegistration",
    type: {
        name: "Composite",
        className: "ClientRegistration",
        modelProperties: {
            clientId: {
                serializedName: "clientId",
                xmlName: "clientId",
                type: {
                    name: "String"
                }
            },
            clientSecretSettingName: {
                serializedName: "clientSecretSettingName",
                xmlName: "clientSecretSettingName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Google = {
    serializedName: "Google",
    type: {
        name: "Composite",
        className: "Google",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            registration: {
                serializedName: "registration",
                xmlName: "registration",
                type: {
                    name: "Composite",
                    className: "ClientRegistration"
                }
            },
            login: {
                serializedName: "login",
                xmlName: "login",
                type: {
                    name: "Composite",
                    className: "LoginScopes"
                }
            },
            validation: {
                serializedName: "validation",
                xmlName: "validation",
                type: {
                    name: "Composite",
                    className: "AllowedAudiencesValidation"
                }
            }
        }
    }
};
export const AllowedAudiencesValidation = {
    serializedName: "AllowedAudiencesValidation",
    type: {
        name: "Composite",
        className: "AllowedAudiencesValidation",
        modelProperties: {
            allowedAudiences: {
                serializedName: "allowedAudiences",
                xmlName: "allowedAudiences",
                xmlElementName: "AllowedAudiencesValidationAllowedAudiencesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const LegacyMicrosoftAccount = {
    serializedName: "LegacyMicrosoftAccount",
    type: {
        name: "Composite",
        className: "LegacyMicrosoftAccount",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            registration: {
                serializedName: "registration",
                xmlName: "registration",
                type: {
                    name: "Composite",
                    className: "ClientRegistration"
                }
            },
            login: {
                serializedName: "login",
                xmlName: "login",
                type: {
                    name: "Composite",
                    className: "LoginScopes"
                }
            },
            validation: {
                serializedName: "validation",
                xmlName: "validation",
                type: {
                    name: "Composite",
                    className: "AllowedAudiencesValidation"
                }
            }
        }
    }
};
export const Twitter = {
    serializedName: "Twitter",
    type: {
        name: "Composite",
        className: "Twitter",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            registration: {
                serializedName: "registration",
                xmlName: "registration",
                type: {
                    name: "Composite",
                    className: "TwitterRegistration"
                }
            }
        }
    }
};
export const TwitterRegistration = {
    serializedName: "TwitterRegistration",
    type: {
        name: "Composite",
        className: "TwitterRegistration",
        modelProperties: {
            consumerKey: {
                serializedName: "consumerKey",
                xmlName: "consumerKey",
                type: {
                    name: "String"
                }
            },
            consumerSecretSettingName: {
                serializedName: "consumerSecretSettingName",
                xmlName: "consumerSecretSettingName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Apple = {
    serializedName: "Apple",
    type: {
        name: "Composite",
        className: "Apple",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            registration: {
                serializedName: "registration",
                xmlName: "registration",
                type: {
                    name: "Composite",
                    className: "AppleRegistration"
                }
            },
            login: {
                serializedName: "login",
                xmlName: "login",
                type: {
                    name: "Composite",
                    className: "LoginScopes"
                }
            }
        }
    }
};
export const AppleRegistration = {
    serializedName: "AppleRegistration",
    type: {
        name: "Composite",
        className: "AppleRegistration",
        modelProperties: {
            clientId: {
                serializedName: "clientId",
                xmlName: "clientId",
                type: {
                    name: "String"
                }
            },
            clientSecretSettingName: {
                serializedName: "clientSecretSettingName",
                xmlName: "clientSecretSettingName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AzureStaticWebApps = {
    serializedName: "AzureStaticWebApps",
    type: {
        name: "Composite",
        className: "AzureStaticWebApps",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            registration: {
                serializedName: "registration",
                xmlName: "registration",
                type: {
                    name: "Composite",
                    className: "AzureStaticWebAppsRegistration"
                }
            }
        }
    }
};
export const AzureStaticWebAppsRegistration = {
    serializedName: "AzureStaticWebAppsRegistration",
    type: {
        name: "Composite",
        className: "AzureStaticWebAppsRegistration",
        modelProperties: {
            clientId: {
                serializedName: "clientId",
                xmlName: "clientId",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CustomOpenIdConnectProvider = {
    serializedName: "CustomOpenIdConnectProvider",
    type: {
        name: "Composite",
        className: "CustomOpenIdConnectProvider",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            registration: {
                serializedName: "registration",
                xmlName: "registration",
                type: {
                    name: "Composite",
                    className: "OpenIdConnectRegistration"
                }
            },
            login: {
                serializedName: "login",
                xmlName: "login",
                type: {
                    name: "Composite",
                    className: "OpenIdConnectLogin"
                }
            }
        }
    }
};
export const OpenIdConnectRegistration = {
    serializedName: "OpenIdConnectRegistration",
    type: {
        name: "Composite",
        className: "OpenIdConnectRegistration",
        modelProperties: {
            clientId: {
                serializedName: "clientId",
                xmlName: "clientId",
                type: {
                    name: "String"
                }
            },
            clientCredential: {
                serializedName: "clientCredential",
                xmlName: "clientCredential",
                type: {
                    name: "Composite",
                    className: "OpenIdConnectClientCredential"
                }
            },
            openIdConnectConfiguration: {
                serializedName: "openIdConnectConfiguration",
                xmlName: "openIdConnectConfiguration",
                type: {
                    name: "Composite",
                    className: "OpenIdConnectConfig"
                }
            }
        }
    }
};
export const OpenIdConnectClientCredential = {
    serializedName: "OpenIdConnectClientCredential",
    type: {
        name: "Composite",
        className: "OpenIdConnectClientCredential",
        modelProperties: {
            method: {
                defaultValue: "ClientSecretPost",
                isConstant: true,
                serializedName: "method",
                type: {
                    name: "String"
                }
            },
            clientSecretSettingName: {
                serializedName: "clientSecretSettingName",
                xmlName: "clientSecretSettingName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const OpenIdConnectConfig = {
    serializedName: "OpenIdConnectConfig",
    type: {
        name: "Composite",
        className: "OpenIdConnectConfig",
        modelProperties: {
            authorizationEndpoint: {
                serializedName: "authorizationEndpoint",
                xmlName: "authorizationEndpoint",
                type: {
                    name: "String"
                }
            },
            tokenEndpoint: {
                serializedName: "tokenEndpoint",
                xmlName: "tokenEndpoint",
                type: {
                    name: "String"
                }
            },
            issuer: {
                serializedName: "issuer",
                xmlName: "issuer",
                type: {
                    name: "String"
                }
            },
            certificationUri: {
                serializedName: "certificationUri",
                xmlName: "certificationUri",
                type: {
                    name: "String"
                }
            },
            wellKnownOpenIdConfiguration: {
                serializedName: "wellKnownOpenIdConfiguration",
                xmlName: "wellKnownOpenIdConfiguration",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const OpenIdConnectLogin = {
    serializedName: "OpenIdConnectLogin",
    type: {
        name: "Composite",
        className: "OpenIdConnectLogin",
        modelProperties: {
            nameClaimType: {
                serializedName: "nameClaimType",
                xmlName: "nameClaimType",
                type: {
                    name: "String"
                }
            },
            scopes: {
                serializedName: "scopes",
                xmlName: "scopes",
                xmlElementName: "OpenIdConnectLoginScopesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const Login = {
    serializedName: "Login",
    type: {
        name: "Composite",
        className: "Login",
        modelProperties: {
            routes: {
                serializedName: "routes",
                xmlName: "routes",
                type: {
                    name: "Composite",
                    className: "LoginRoutes"
                }
            },
            tokenStore: {
                serializedName: "tokenStore",
                xmlName: "tokenStore",
                type: {
                    name: "Composite",
                    className: "TokenStore"
                }
            },
            preserveUrlFragmentsForLogins: {
                serializedName: "preserveUrlFragmentsForLogins",
                xmlName: "preserveUrlFragmentsForLogins",
                type: {
                    name: "Boolean"
                }
            },
            allowedExternalRedirectUrls: {
                serializedName: "allowedExternalRedirectUrls",
                xmlName: "allowedExternalRedirectUrls",
                xmlElementName: "LoginAllowedExternalRedirectUrlsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            cookieExpiration: {
                serializedName: "cookieExpiration",
                xmlName: "cookieExpiration",
                type: {
                    name: "Composite",
                    className: "CookieExpiration"
                }
            },
            nonce: {
                serializedName: "nonce",
                xmlName: "nonce",
                type: {
                    name: "Composite",
                    className: "Nonce"
                }
            }
        }
    }
};
export const LoginRoutes = {
    serializedName: "LoginRoutes",
    type: {
        name: "Composite",
        className: "LoginRoutes",
        modelProperties: {
            logoutEndpoint: {
                serializedName: "logoutEndpoint",
                xmlName: "logoutEndpoint",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const TokenStore = {
    serializedName: "TokenStore",
    type: {
        name: "Composite",
        className: "TokenStore",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            },
            tokenRefreshExtensionHours: {
                serializedName: "tokenRefreshExtensionHours",
                xmlName: "tokenRefreshExtensionHours",
                type: {
                    name: "Number"
                }
            },
            fileSystem: {
                serializedName: "fileSystem",
                xmlName: "fileSystem",
                type: {
                    name: "Composite",
                    className: "FileSystemTokenStore"
                }
            },
            azureBlobStorage: {
                serializedName: "azureBlobStorage",
                xmlName: "azureBlobStorage",
                type: {
                    name: "Composite",
                    className: "BlobStorageTokenStore"
                }
            }
        }
    }
};
export const FileSystemTokenStore = {
    serializedName: "FileSystemTokenStore",
    type: {
        name: "Composite",
        className: "FileSystemTokenStore",
        modelProperties: {
            directory: {
                serializedName: "directory",
                xmlName: "directory",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const BlobStorageTokenStore = {
    serializedName: "BlobStorageTokenStore",
    type: {
        name: "Composite",
        className: "BlobStorageTokenStore",
        modelProperties: {
            sasUrlSettingName: {
                serializedName: "sasUrlSettingName",
                xmlName: "sasUrlSettingName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CookieExpiration = {
    serializedName: "CookieExpiration",
    type: {
        name: "Composite",
        className: "CookieExpiration",
        modelProperties: {
            convention: {
                serializedName: "convention",
                xmlName: "convention",
                type: {
                    name: "Enum",
                    allowedValues: ["FixedTime", "IdentityProviderDerived"]
                }
            },
            timeToExpiration: {
                serializedName: "timeToExpiration",
                xmlName: "timeToExpiration",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Nonce = {
    serializedName: "Nonce",
    type: {
        name: "Composite",
        className: "Nonce",
        modelProperties: {
            validateNonce: {
                serializedName: "validateNonce",
                xmlName: "validateNonce",
                type: {
                    name: "Boolean"
                }
            },
            nonceExpirationInterval: {
                serializedName: "nonceExpirationInterval",
                xmlName: "nonceExpirationInterval",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const HttpSettings = {
    serializedName: "HttpSettings",
    type: {
        name: "Composite",
        className: "HttpSettings",
        modelProperties: {
            requireHttps: {
                serializedName: "requireHttps",
                xmlName: "requireHttps",
                type: {
                    name: "Boolean"
                }
            },
            routes: {
                serializedName: "routes",
                xmlName: "routes",
                type: {
                    name: "Composite",
                    className: "HttpSettingsRoutes"
                }
            },
            forwardProxy: {
                serializedName: "forwardProxy",
                xmlName: "forwardProxy",
                type: {
                    name: "Composite",
                    className: "ForwardProxy"
                }
            }
        }
    }
};
export const HttpSettingsRoutes = {
    serializedName: "HttpSettingsRoutes",
    type: {
        name: "Composite",
        className: "HttpSettingsRoutes",
        modelProperties: {
            apiPrefix: {
                serializedName: "apiPrefix",
                xmlName: "apiPrefix",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ForwardProxy = {
    serializedName: "ForwardProxy",
    type: {
        name: "Composite",
        className: "ForwardProxy",
        modelProperties: {
            convention: {
                serializedName: "convention",
                xmlName: "convention",
                type: {
                    name: "Enum",
                    allowedValues: ["NoProxy", "Standard", "Custom"]
                }
            },
            customHostHeaderName: {
                serializedName: "customHostHeaderName",
                xmlName: "customHostHeaderName",
                type: {
                    name: "String"
                }
            },
            customProtoHeaderName: {
                serializedName: "customProtoHeaderName",
                xmlName: "customProtoHeaderName",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ApiKVReferenceCollection = {
    serializedName: "ApiKVReferenceCollection",
    type: {
        name: "Composite",
        className: "ApiKVReferenceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ApiKVReference",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ApiKVReference"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ConnStringValueTypePair = {
    serializedName: "ConnStringValueTypePair",
    type: {
        name: "Composite",
        className: "ConnStringValueTypePair",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                required: true,
                xmlName: "type",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "MySql",
                        "SQLServer",
                        "SQLAzure",
                        "Custom",
                        "NotificationHub",
                        "ServiceBus",
                        "EventHub",
                        "ApiHub",
                        "DocDb",
                        "RedisCache",
                        "PostgreSQL"
                    ]
                }
            }
        }
    }
};
export const ApplicationLogsConfig = {
    serializedName: "ApplicationLogsConfig",
    type: {
        name: "Composite",
        className: "ApplicationLogsConfig",
        modelProperties: {
            fileSystem: {
                serializedName: "fileSystem",
                xmlName: "fileSystem",
                type: {
                    name: "Composite",
                    className: "FileSystemApplicationLogsConfig"
                }
            },
            azureTableStorage: {
                serializedName: "azureTableStorage",
                xmlName: "azureTableStorage",
                type: {
                    name: "Composite",
                    className: "AzureTableStorageApplicationLogsConfig"
                }
            },
            azureBlobStorage: {
                serializedName: "azureBlobStorage",
                xmlName: "azureBlobStorage",
                type: {
                    name: "Composite",
                    className: "AzureBlobStorageApplicationLogsConfig"
                }
            }
        }
    }
};
export const FileSystemApplicationLogsConfig = {
    serializedName: "FileSystemApplicationLogsConfig",
    type: {
        name: "Composite",
        className: "FileSystemApplicationLogsConfig",
        modelProperties: {
            level: {
                serializedName: "level",
                xmlName: "level",
                type: {
                    name: "Enum",
                    allowedValues: ["Off", "Verbose", "Information", "Warning", "Error"]
                }
            }
        }
    }
};
export const AzureTableStorageApplicationLogsConfig = {
    serializedName: "AzureTableStorageApplicationLogsConfig",
    type: {
        name: "Composite",
        className: "AzureTableStorageApplicationLogsConfig",
        modelProperties: {
            level: {
                serializedName: "level",
                xmlName: "level",
                type: {
                    name: "Enum",
                    allowedValues: ["Off", "Verbose", "Information", "Warning", "Error"]
                }
            },
            sasUrl: {
                serializedName: "sasUrl",
                required: true,
                xmlName: "sasUrl",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AzureBlobStorageApplicationLogsConfig = {
    serializedName: "AzureBlobStorageApplicationLogsConfig",
    type: {
        name: "Composite",
        className: "AzureBlobStorageApplicationLogsConfig",
        modelProperties: {
            level: {
                serializedName: "level",
                xmlName: "level",
                type: {
                    name: "Enum",
                    allowedValues: ["Off", "Verbose", "Information", "Warning", "Error"]
                }
            },
            sasUrl: {
                serializedName: "sasUrl",
                xmlName: "sasUrl",
                type: {
                    name: "String"
                }
            },
            retentionInDays: {
                serializedName: "retentionInDays",
                xmlName: "retentionInDays",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const HttpLogsConfig = {
    serializedName: "HttpLogsConfig",
    type: {
        name: "Composite",
        className: "HttpLogsConfig",
        modelProperties: {
            fileSystem: {
                serializedName: "fileSystem",
                xmlName: "fileSystem",
                type: {
                    name: "Composite",
                    className: "FileSystemHttpLogsConfig"
                }
            },
            azureBlobStorage: {
                serializedName: "azureBlobStorage",
                xmlName: "azureBlobStorage",
                type: {
                    name: "Composite",
                    className: "AzureBlobStorageHttpLogsConfig"
                }
            }
        }
    }
};
export const FileSystemHttpLogsConfig = {
    serializedName: "FileSystemHttpLogsConfig",
    type: {
        name: "Composite",
        className: "FileSystemHttpLogsConfig",
        modelProperties: {
            retentionInMb: {
                constraints: {
                    InclusiveMaximum: 100,
                    InclusiveMinimum: 25
                },
                serializedName: "retentionInMb",
                xmlName: "retentionInMb",
                type: {
                    name: "Number"
                }
            },
            retentionInDays: {
                serializedName: "retentionInDays",
                xmlName: "retentionInDays",
                type: {
                    name: "Number"
                }
            },
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const AzureBlobStorageHttpLogsConfig = {
    serializedName: "AzureBlobStorageHttpLogsConfig",
    type: {
        name: "Composite",
        className: "AzureBlobStorageHttpLogsConfig",
        modelProperties: {
            sasUrl: {
                serializedName: "sasUrl",
                xmlName: "sasUrl",
                type: {
                    name: "String"
                }
            },
            retentionInDays: {
                serializedName: "retentionInDays",
                xmlName: "retentionInDays",
                type: {
                    name: "Number"
                }
            },
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const EnabledConfig = {
    serializedName: "EnabledConfig",
    type: {
        name: "Composite",
        className: "EnabledConfig",
        modelProperties: {
            enabled: {
                serializedName: "enabled",
                xmlName: "enabled",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const SiteConfigurationSnapshotInfoCollection = {
    serializedName: "SiteConfigurationSnapshotInfoCollection",
    type: {
        name: "Composite",
        className: "SiteConfigurationSnapshotInfoCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "SiteConfigurationSnapshotInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SiteConfigurationSnapshotInfo"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ContinuousWebJobCollection = {
    serializedName: "ContinuousWebJobCollection",
    type: {
        name: "Composite",
        className: "ContinuousWebJobCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ContinuousWebJob",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ContinuousWebJob"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CsmDeploymentStatusCollection = {
    serializedName: "CsmDeploymentStatusCollection",
    type: {
        name: "Composite",
        className: "CsmDeploymentStatusCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "CsmDeploymentStatus",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "CsmDeploymentStatus"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const DeploymentCollection = {
    serializedName: "DeploymentCollection",
    type: {
        name: "Composite",
        className: "DeploymentCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "Deployment",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Deployment"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const MSDeployLogEntry = {
    serializedName: "MSDeployLogEntry",
    type: {
        name: "Composite",
        className: "MSDeployLogEntry",
        modelProperties: {
            time: {
                serializedName: "time",
                readOnly: true,
                xmlName: "time",
                type: {
                    name: "DateTime"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "Enum",
                    allowedValues: ["Message", "Warning", "Error"]
                }
            },
            message: {
                serializedName: "message",
                readOnly: true,
                xmlName: "message",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const FunctionEnvelopeCollection = {
    serializedName: "FunctionEnvelopeCollection",
    type: {
        name: "Composite",
        className: "FunctionEnvelopeCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "FunctionEnvelope",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "FunctionEnvelope"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const KeyInfo = {
    serializedName: "KeyInfo",
    type: {
        name: "Composite",
        className: "KeyInfo",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const FunctionSecrets = {
    serializedName: "FunctionSecrets",
    type: {
        name: "Composite",
        className: "FunctionSecrets",
        modelProperties: {
            key: {
                serializedName: "key",
                xmlName: "key",
                type: {
                    name: "String"
                }
            },
            triggerUrl: {
                serializedName: "trigger_url",
                xmlName: "trigger_url",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const HostKeys = {
    serializedName: "HostKeys",
    type: {
        name: "Composite",
        className: "HostKeys",
        modelProperties: {
            masterKey: {
                serializedName: "masterKey",
                xmlName: "masterKey",
                type: {
                    name: "String"
                }
            },
            functionKeys: {
                serializedName: "functionKeys",
                xmlName: "functionKeys",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            },
            systemKeys: {
                serializedName: "systemKeys",
                xmlName: "systemKeys",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const HostNameBindingCollection = {
    serializedName: "HostNameBindingCollection",
    type: {
        name: "Composite",
        className: "HostNameBindingCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "HostNameBinding",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HostNameBinding"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WebAppInstanceStatusCollection = {
    serializedName: "WebAppInstanceStatusCollection",
    type: {
        name: "Composite",
        className: "WebAppInstanceStatusCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "WebSiteInstanceStatus",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WebSiteInstanceStatus"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ContainerInfo = {
    serializedName: "ContainerInfo",
    type: {
        name: "Composite",
        className: "ContainerInfo",
        modelProperties: {
            currentTimeStamp: {
                serializedName: "currentTimeStamp",
                xmlName: "currentTimeStamp",
                type: {
                    name: "DateTime"
                }
            },
            previousTimeStamp: {
                serializedName: "previousTimeStamp",
                xmlName: "previousTimeStamp",
                type: {
                    name: "DateTime"
                }
            },
            currentCpuStats: {
                serializedName: "currentCpuStats",
                xmlName: "currentCpuStats",
                type: {
                    name: "Composite",
                    className: "ContainerCpuStatistics"
                }
            },
            previousCpuStats: {
                serializedName: "previousCpuStats",
                xmlName: "previousCpuStats",
                type: {
                    name: "Composite",
                    className: "ContainerCpuStatistics"
                }
            },
            memoryStats: {
                serializedName: "memoryStats",
                xmlName: "memoryStats",
                type: {
                    name: "Composite",
                    className: "ContainerMemoryStatistics"
                }
            },
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            id: {
                serializedName: "id",
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            eth0: {
                serializedName: "eth0",
                xmlName: "eth0",
                type: {
                    name: "Composite",
                    className: "ContainerNetworkInterfaceStatistics"
                }
            }
        }
    }
};
export const ContainerCpuStatistics = {
    serializedName: "ContainerCpuStatistics",
    type: {
        name: "Composite",
        className: "ContainerCpuStatistics",
        modelProperties: {
            cpuUsage: {
                serializedName: "cpuUsage",
                xmlName: "cpuUsage",
                type: {
                    name: "Composite",
                    className: "ContainerCpuUsage"
                }
            },
            systemCpuUsage: {
                serializedName: "systemCpuUsage",
                xmlName: "systemCpuUsage",
                type: {
                    name: "Number"
                }
            },
            onlineCpuCount: {
                serializedName: "onlineCpuCount",
                xmlName: "onlineCpuCount",
                type: {
                    name: "Number"
                }
            },
            throttlingData: {
                serializedName: "throttlingData",
                xmlName: "throttlingData",
                type: {
                    name: "Composite",
                    className: "ContainerThrottlingData"
                }
            }
        }
    }
};
export const ContainerCpuUsage = {
    serializedName: "ContainerCpuUsage",
    type: {
        name: "Composite",
        className: "ContainerCpuUsage",
        modelProperties: {
            totalUsage: {
                serializedName: "totalUsage",
                xmlName: "totalUsage",
                type: {
                    name: "Number"
                }
            },
            perCpuUsage: {
                serializedName: "perCpuUsage",
                xmlName: "perCpuUsage",
                xmlElementName: "ArrayItemschema",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Number"
                        }
                    }
                }
            },
            kernelModeUsage: {
                serializedName: "kernelModeUsage",
                xmlName: "kernelModeUsage",
                type: {
                    name: "Number"
                }
            },
            userModeUsage: {
                serializedName: "userModeUsage",
                xmlName: "userModeUsage",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const ContainerThrottlingData = {
    serializedName: "ContainerThrottlingData",
    type: {
        name: "Composite",
        className: "ContainerThrottlingData",
        modelProperties: {
            periods: {
                serializedName: "periods",
                xmlName: "periods",
                type: {
                    name: "Number"
                }
            },
            throttledPeriods: {
                serializedName: "throttledPeriods",
                xmlName: "throttledPeriods",
                type: {
                    name: "Number"
                }
            },
            throttledTime: {
                serializedName: "throttledTime",
                xmlName: "throttledTime",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const ContainerMemoryStatistics = {
    serializedName: "ContainerMemoryStatistics",
    type: {
        name: "Composite",
        className: "ContainerMemoryStatistics",
        modelProperties: {
            usage: {
                serializedName: "usage",
                xmlName: "usage",
                type: {
                    name: "Number"
                }
            },
            maxUsage: {
                serializedName: "maxUsage",
                xmlName: "maxUsage",
                type: {
                    name: "Number"
                }
            },
            limit: {
                serializedName: "limit",
                xmlName: "limit",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const ContainerNetworkInterfaceStatistics = {
    serializedName: "ContainerNetworkInterfaceStatistics",
    type: {
        name: "Composite",
        className: "ContainerNetworkInterfaceStatistics",
        modelProperties: {
            rxBytes: {
                serializedName: "rxBytes",
                xmlName: "rxBytes",
                type: {
                    name: "Number"
                }
            },
            rxPackets: {
                serializedName: "rxPackets",
                xmlName: "rxPackets",
                type: {
                    name: "Number"
                }
            },
            rxErrors: {
                serializedName: "rxErrors",
                xmlName: "rxErrors",
                type: {
                    name: "Number"
                }
            },
            rxDropped: {
                serializedName: "rxDropped",
                xmlName: "rxDropped",
                type: {
                    name: "Number"
                }
            },
            txBytes: {
                serializedName: "txBytes",
                xmlName: "txBytes",
                type: {
                    name: "Number"
                }
            },
            txPackets: {
                serializedName: "txPackets",
                xmlName: "txPackets",
                type: {
                    name: "Number"
                }
            },
            txErrors: {
                serializedName: "txErrors",
                xmlName: "txErrors",
                type: {
                    name: "Number"
                }
            },
            txDropped: {
                serializedName: "txDropped",
                xmlName: "txDropped",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const ProcessInfoCollection = {
    serializedName: "ProcessInfoCollection",
    type: {
        name: "Composite",
        className: "ProcessInfoCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ProcessInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ProcessInfo"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ProcessModuleInfoCollection = {
    serializedName: "ProcessModuleInfoCollection",
    type: {
        name: "Composite",
        className: "ProcessModuleInfoCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ProcessModuleInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ProcessModuleInfo"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ProcessThreadInfoCollection = {
    serializedName: "ProcessThreadInfoCollection",
    type: {
        name: "Composite",
        className: "ProcessThreadInfoCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "ProcessThreadInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ProcessThreadInfo"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SiteCloneability = {
    serializedName: "SiteCloneability",
    type: {
        name: "Composite",
        className: "SiteCloneability",
        modelProperties: {
            result: {
                serializedName: "result",
                xmlName: "result",
                type: {
                    name: "Enum",
                    allowedValues: ["Cloneable", "PartiallyCloneable", "NotCloneable"]
                }
            },
            blockingFeatures: {
                serializedName: "blockingFeatures",
                xmlName: "blockingFeatures",
                xmlElementName: "SiteCloneabilityCriterion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SiteCloneabilityCriterion"
                        }
                    }
                }
            },
            unsupportedFeatures: {
                serializedName: "unsupportedFeatures",
                xmlName: "unsupportedFeatures",
                xmlElementName: "SiteCloneabilityCriterion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SiteCloneabilityCriterion"
                        }
                    }
                }
            },
            blockingCharacteristics: {
                serializedName: "blockingCharacteristics",
                xmlName: "blockingCharacteristics",
                xmlElementName: "SiteCloneabilityCriterion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SiteCloneabilityCriterion"
                        }
                    }
                }
            }
        }
    }
};
export const SiteCloneabilityCriterion = {
    serializedName: "SiteCloneabilityCriterion",
    type: {
        name: "Composite",
        className: "SiteCloneabilityCriterion",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            description: {
                serializedName: "description",
                xmlName: "description",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const NetworkTrace = {
    serializedName: "NetworkTrace",
    type: {
        name: "Composite",
        className: "NetworkTrace",
        modelProperties: {
            path: {
                serializedName: "path",
                xmlName: "path",
                type: {
                    name: "String"
                }
            },
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                xmlName: "message",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PerfMonCounterCollection = {
    serializedName: "PerfMonCounterCollection",
    type: {
        name: "Composite",
        className: "PerfMonCounterCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "PerfMonResponse",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PerfMonResponse"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const PerfMonResponse = {
    serializedName: "PerfMonResponse",
    type: {
        name: "Composite",
        className: "PerfMonResponse",
        modelProperties: {
            code: {
                serializedName: "code",
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                xmlName: "message",
                type: {
                    name: "String"
                }
            },
            data: {
                serializedName: "data",
                xmlName: "data",
                type: {
                    name: "Composite",
                    className: "PerfMonSet"
                }
            }
        }
    }
};
export const PerfMonSet = {
    serializedName: "PerfMonSet",
    type: {
        name: "Composite",
        className: "PerfMonSet",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            startTime: {
                serializedName: "startTime",
                xmlName: "startTime",
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "endTime",
                xmlName: "endTime",
                type: {
                    name: "DateTime"
                }
            },
            timeGrain: {
                serializedName: "timeGrain",
                xmlName: "timeGrain",
                type: {
                    name: "String"
                }
            },
            values: {
                serializedName: "values",
                xmlName: "values",
                xmlElementName: "PerfMonSample",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PerfMonSample"
                        }
                    }
                }
            }
        }
    }
};
export const PerfMonSample = {
    serializedName: "PerfMonSample",
    type: {
        name: "Composite",
        className: "PerfMonSample",
        modelProperties: {
            time: {
                serializedName: "time",
                xmlName: "time",
                type: {
                    name: "DateTime"
                }
            },
            instanceName: {
                serializedName: "instanceName",
                xmlName: "instanceName",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const PrivateAccessVirtualNetwork = {
    serializedName: "PrivateAccessVirtualNetwork",
    type: {
        name: "Composite",
        className: "PrivateAccessVirtualNetwork",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            key: {
                serializedName: "key",
                xmlName: "key",
                type: {
                    name: "Number"
                }
            },
            resourceId: {
                serializedName: "resourceId",
                xmlName: "resourceId",
                type: {
                    name: "String"
                }
            },
            subnets: {
                serializedName: "subnets",
                xmlName: "subnets",
                xmlElementName: "PrivateAccessSubnet",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PrivateAccessSubnet"
                        }
                    }
                }
            }
        }
    }
};
export const PrivateAccessSubnet = {
    serializedName: "PrivateAccessSubnet",
    type: {
        name: "Composite",
        className: "PrivateAccessSubnet",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            key: {
                serializedName: "key",
                xmlName: "key",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const PublicCertificateCollection = {
    serializedName: "PublicCertificateCollection",
    type: {
        name: "Composite",
        className: "PublicCertificateCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "PublicCertificate",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PublicCertificate"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const CsmPublishingProfileOptions = {
    serializedName: "CsmPublishingProfileOptions",
    type: {
        name: "Composite",
        className: "CsmPublishingProfileOptions",
        modelProperties: {
            format: {
                serializedName: "format",
                xmlName: "format",
                type: {
                    name: "String"
                }
            },
            includeDisasterRecoveryEndpoints: {
                serializedName: "includeDisasterRecoveryEndpoints",
                xmlName: "includeDisasterRecoveryEndpoints",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const SnapshotRecoverySource = {
    serializedName: "SnapshotRecoverySource",
    type: {
        name: "Composite",
        className: "SnapshotRecoverySource",
        modelProperties: {
            location: {
                serializedName: "location",
                xmlName: "location",
                type: {
                    name: "String"
                }
            },
            id: {
                serializedName: "id",
                xmlName: "id",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SiteExtensionInfoCollection = {
    serializedName: "SiteExtensionInfoCollection",
    type: {
        name: "Composite",
        className: "SiteExtensionInfoCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "SiteExtensionInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SiteExtensionInfo"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SlotDifferenceCollection = {
    serializedName: "SlotDifferenceCollection",
    type: {
        name: "Composite",
        className: "SlotDifferenceCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "SlotDifference",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "SlotDifference"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SnapshotCollection = {
    serializedName: "SnapshotCollection",
    type: {
        name: "Composite",
        className: "SnapshotCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "Snapshot",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Snapshot"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const GitHubActionConfiguration = {
    serializedName: "GitHubActionConfiguration",
    type: {
        name: "Composite",
        className: "GitHubActionConfiguration",
        modelProperties: {
            codeConfiguration: {
                serializedName: "codeConfiguration",
                xmlName: "codeConfiguration",
                type: {
                    name: "Composite",
                    className: "GitHubActionCodeConfiguration"
                }
            },
            containerConfiguration: {
                serializedName: "containerConfiguration",
                xmlName: "containerConfiguration",
                type: {
                    name: "Composite",
                    className: "GitHubActionContainerConfiguration"
                }
            },
            isLinux: {
                serializedName: "isLinux",
                xmlName: "isLinux",
                type: {
                    name: "Boolean"
                }
            },
            generateWorkflowFile: {
                serializedName: "generateWorkflowFile",
                xmlName: "generateWorkflowFile",
                type: {
                    name: "Boolean"
                }
            }
        }
    }
};
export const GitHubActionCodeConfiguration = {
    serializedName: "GitHubActionCodeConfiguration",
    type: {
        name: "Composite",
        className: "GitHubActionCodeConfiguration",
        modelProperties: {
            runtimeStack: {
                serializedName: "runtimeStack",
                xmlName: "runtimeStack",
                type: {
                    name: "String"
                }
            },
            runtimeVersion: {
                serializedName: "runtimeVersion",
                xmlName: "runtimeVersion",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const GitHubActionContainerConfiguration = {
    serializedName: "GitHubActionContainerConfiguration",
    type: {
        name: "Composite",
        className: "GitHubActionContainerConfiguration",
        modelProperties: {
            serverUrl: {
                serializedName: "serverUrl",
                xmlName: "serverUrl",
                type: {
                    name: "String"
                }
            },
            imageName: {
                serializedName: "imageName",
                xmlName: "imageName",
                type: {
                    name: "String"
                }
            },
            username: {
                serializedName: "username",
                xmlName: "username",
                type: {
                    name: "String"
                }
            },
            password: {
                serializedName: "password",
                xmlName: "password",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const TriggeredWebJobCollection = {
    serializedName: "TriggeredWebJobCollection",
    type: {
        name: "Composite",
        className: "TriggeredWebJobCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "TriggeredWebJob",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "TriggeredWebJob"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const TriggeredJobRun = {
    serializedName: "TriggeredJobRun",
    type: {
        name: "Composite",
        className: "TriggeredJobRun",
        modelProperties: {
            webJobId: {
                serializedName: "web_job_id",
                xmlName: "web_job_id",
                type: {
                    name: "String"
                }
            },
            webJobName: {
                serializedName: "web_job_name",
                xmlName: "web_job_name",
                type: {
                    name: "String"
                }
            },
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "Enum",
                    allowedValues: ["Success", "Failed", "Error"]
                }
            },
            startTime: {
                serializedName: "start_time",
                xmlName: "start_time",
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "end_time",
                xmlName: "end_time",
                type: {
                    name: "DateTime"
                }
            },
            duration: {
                serializedName: "duration",
                xmlName: "duration",
                type: {
                    name: "String"
                }
            },
            outputUrl: {
                serializedName: "output_url",
                xmlName: "output_url",
                type: {
                    name: "String"
                }
            },
            errorUrl: {
                serializedName: "error_url",
                xmlName: "error_url",
                type: {
                    name: "String"
                }
            },
            url: {
                serializedName: "url",
                xmlName: "url",
                type: {
                    name: "String"
                }
            },
            jobName: {
                serializedName: "job_name",
                xmlName: "job_name",
                type: {
                    name: "String"
                }
            },
            trigger: {
                serializedName: "trigger",
                xmlName: "trigger",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const TriggeredJobHistoryCollection = {
    serializedName: "TriggeredJobHistoryCollection",
    type: {
        name: "Composite",
        className: "TriggeredJobHistoryCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "TriggeredJobHistory",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "TriggeredJobHistory"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WebJobCollection = {
    serializedName: "WebJobCollection",
    type: {
        name: "Composite",
        className: "WebJobCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "WebJob",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WebJob"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowArtifacts = {
    serializedName: "WorkflowArtifacts",
    type: {
        name: "Composite",
        className: "WorkflowArtifacts",
        modelProperties: {
            appSettings: {
                serializedName: "appSettings",
                xmlName: "appSettings",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            },
            files: {
                serializedName: "files",
                xmlName: "files",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Dictionary", value: { type: { name: "any" } } }
                    }
                }
            },
            filesToDelete: {
                serializedName: "filesToDelete",
                xmlName: "filesToDelete",
                xmlElementName: "WorkflowArtifactsFilesToDeleteItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const WorkflowEnvelopeCollection = {
    serializedName: "WorkflowEnvelopeCollection",
    type: {
        name: "Composite",
        className: "WorkflowEnvelopeCollection",
        modelProperties: {
            value: {
                serializedName: "value",
                required: true,
                xmlName: "value",
                xmlElementName: "WorkflowEnvelope",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WorkflowEnvelope"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                readOnly: true,
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowEnvelope = {
    serializedName: "WorkflowEnvelope",
    type: {
        name: "Composite",
        className: "WorkflowEnvelope",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            kind: {
                serializedName: "kind",
                xmlName: "kind",
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                xmlName: "location",
                type: {
                    name: "String"
                }
            },
            properties: {
                serializedName: "properties",
                xmlName: "properties",
                type: {
                    name: "Composite",
                    className: "WorkflowEnvelopeProperties"
                }
            }
        }
    }
};
export const WorkflowEnvelopeProperties = {
    serializedName: "WorkflowEnvelopeProperties",
    type: {
        name: "Composite",
        className: "WorkflowEnvelopeProperties",
        modelProperties: {
            files: {
                serializedName: "files",
                xmlName: "files",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Dictionary", value: { type: { name: "any" } } }
                    }
                }
            },
            flowState: {
                serializedName: "flowState",
                xmlName: "flowState",
                type: {
                    name: "String"
                }
            },
            health: {
                serializedName: "health",
                xmlName: "health",
                type: {
                    name: "Composite",
                    className: "WorkflowHealth"
                }
            }
        }
    }
};
export const WorkflowHealth = {
    serializedName: "WorkflowHealth",
    type: {
        name: "Composite",
        className: "WorkflowHealth",
        modelProperties: {
            state: {
                serializedName: "state",
                required: true,
                xmlName: "state",
                type: {
                    name: "Enum",
                    allowedValues: ["NotSpecified", "Healthy", "Unhealthy", "Unknown"]
                }
            },
            error: {
                serializedName: "error",
                xmlName: "error",
                type: {
                    name: "Composite",
                    className: "ErrorEntity"
                }
            }
        }
    }
};
export const RegenerateActionParameter = {
    serializedName: "RegenerateActionParameter",
    type: {
        name: "Composite",
        className: "RegenerateActionParameter",
        modelProperties: {
            keyType: {
                serializedName: "keyType",
                xmlName: "keyType",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ErrorResponse = {
    serializedName: "ErrorResponse",
    type: {
        name: "Composite",
        className: "ErrorResponse",
        modelProperties: {
            error: {
                serializedName: "error",
                xmlName: "error",
                type: {
                    name: "Composite",
                    className: "ErrorProperties"
                }
            }
        }
    }
};
export const ErrorProperties = {
    serializedName: "ErrorProperties",
    type: {
        name: "Composite",
        className: "ErrorProperties",
        modelProperties: {
            code: {
                serializedName: "code",
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            message: {
                serializedName: "message",
                xmlName: "message",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowRunListResult = {
    serializedName: "WorkflowRunListResult",
    type: {
        name: "Composite",
        className: "WorkflowRunListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                xmlName: "value",
                xmlElementName: "WorkflowRun",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WorkflowRun"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Correlation = {
    serializedName: "Correlation",
    type: {
        name: "Composite",
        className: "Correlation",
        modelProperties: {
            clientTrackingId: {
                serializedName: "clientTrackingId",
                xmlName: "clientTrackingId",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const ResourceReference = {
    serializedName: "ResourceReference",
    type: {
        name: "Composite",
        className: "ResourceReference",
        modelProperties: {
            id: {
                serializedName: "id",
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowRunTrigger = {
    serializedName: "WorkflowRunTrigger",
    type: {
        name: "Composite",
        className: "WorkflowRunTrigger",
        modelProperties: {
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            inputs: {
                serializedName: "inputs",
                readOnly: true,
                xmlName: "inputs",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            },
            inputsLink: {
                serializedName: "inputsLink",
                xmlName: "inputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            },
            outputs: {
                serializedName: "outputs",
                readOnly: true,
                xmlName: "outputs",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            },
            outputsLink: {
                serializedName: "outputsLink",
                xmlName: "outputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            },
            scheduledTime: {
                serializedName: "scheduledTime",
                readOnly: true,
                xmlName: "scheduledTime",
                type: {
                    name: "DateTime"
                }
            },
            startTime: {
                serializedName: "startTime",
                readOnly: true,
                xmlName: "startTime",
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "endTime",
                readOnly: true,
                xmlName: "endTime",
                type: {
                    name: "DateTime"
                }
            },
            trackingId: {
                serializedName: "trackingId",
                readOnly: true,
                xmlName: "trackingId",
                type: {
                    name: "String"
                }
            },
            correlation: {
                serializedName: "correlation",
                xmlName: "correlation",
                type: {
                    name: "Composite",
                    className: "Correlation"
                }
            },
            code: {
                serializedName: "code",
                readOnly: true,
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            status: {
                serializedName: "status",
                readOnly: true,
                xmlName: "status",
                type: {
                    name: "String"
                }
            },
            error: {
                serializedName: "error",
                readOnly: true,
                xmlName: "error",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            },
            trackedProperties: {
                serializedName: "trackedProperties",
                readOnly: true,
                xmlName: "trackedProperties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }
        }
    }
};
export const ContentLink = {
    serializedName: "ContentLink",
    type: {
        name: "Composite",
        className: "ContentLink",
        modelProperties: {
            uri: {
                serializedName: "uri",
                xmlName: "uri",
                type: {
                    name: "String"
                }
            },
            contentVersion: {
                serializedName: "contentVersion",
                readOnly: true,
                xmlName: "contentVersion",
                type: {
                    name: "String"
                }
            },
            contentSize: {
                serializedName: "contentSize",
                readOnly: true,
                xmlName: "contentSize",
                type: {
                    name: "Number"
                }
            },
            contentHash: {
                serializedName: "contentHash",
                xmlName: "contentHash",
                type: {
                    name: "Composite",
                    className: "ContentHash"
                }
            },
            metadata: {
                serializedName: "metadata",
                readOnly: true,
                xmlName: "metadata",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }
        }
    }
};
export const ContentHash = {
    serializedName: "ContentHash",
    type: {
        name: "Composite",
        className: "ContentHash",
        modelProperties: {
            algorithm: {
                serializedName: "algorithm",
                xmlName: "algorithm",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowParameter = {
    serializedName: "WorkflowParameter",
    type: {
        name: "Composite",
        className: "WorkflowParameter",
        modelProperties: {
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            },
            metadata: {
                serializedName: "metadata",
                xmlName: "metadata",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            },
            description: {
                serializedName: "description",
                xmlName: "description",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const SubResource = {
    serializedName: "SubResource",
    type: {
        name: "Composite",
        className: "SubResource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowRunActionListResult = {
    serializedName: "WorkflowRunActionListResult",
    type: {
        name: "Composite",
        className: "WorkflowRunActionListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                xmlName: "value",
                xmlElementName: "WorkflowRunAction",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WorkflowRunAction"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const RunCorrelation = {
    serializedName: "RunCorrelation",
    type: {
        name: "Composite",
        className: "RunCorrelation",
        modelProperties: {
            clientTrackingId: {
                serializedName: "clientTrackingId",
                xmlName: "clientTrackingId",
                type: {
                    name: "String"
                }
            },
            clientKeywords: {
                serializedName: "clientKeywords",
                xmlName: "clientKeywords",
                xmlElementName: "RunCorrelationClientKeywordsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }
        }
    }
};
export const RetryHistory = {
    serializedName: "RetryHistory",
    type: {
        name: "Composite",
        className: "RetryHistory",
        modelProperties: {
            startTime: {
                serializedName: "startTime",
                xmlName: "startTime",
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "endTime",
                xmlName: "endTime",
                type: {
                    name: "DateTime"
                }
            },
            code: {
                serializedName: "code",
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            clientRequestId: {
                serializedName: "clientRequestId",
                xmlName: "clientRequestId",
                type: {
                    name: "String"
                }
            },
            serviceRequestId: {
                serializedName: "serviceRequestId",
                xmlName: "serviceRequestId",
                type: {
                    name: "String"
                }
            },
            error: {
                serializedName: "error",
                xmlName: "error",
                type: {
                    name: "Composite",
                    className: "ErrorResponse"
                }
            }
        }
    }
};
export const ExpressionTraces = {
    serializedName: "ExpressionTraces",
    type: {
        name: "Composite",
        className: "ExpressionTraces",
        modelProperties: {
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "any"
                }
            },
            inputs: {
                serializedName: "inputs",
                xmlName: "inputs",
                xmlElementName: "ExpressionRoot",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ExpressionRoot"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Expression = {
    serializedName: "Expression",
    type: {
        name: "Composite",
        className: "Expression",
        modelProperties: {
            text: {
                serializedName: "text",
                xmlName: "text",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "any"
                }
            },
            subexpressions: {
                serializedName: "subexpressions",
                xmlName: "subexpressions",
                xmlElementName: "Expression",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Expression"
                        }
                    }
                }
            },
            error: {
                serializedName: "error",
                xmlName: "error",
                type: {
                    name: "Composite",
                    className: "AzureResourceErrorInfo"
                }
            }
        }
    }
};
export const ErrorInfo = {
    serializedName: "ErrorInfo",
    type: {
        name: "Composite",
        className: "ErrorInfo",
        modelProperties: {
            code: {
                serializedName: "code",
                required: true,
                xmlName: "code",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowRunActionRepetitionDefinitionCollection = {
    serializedName: "WorkflowRunActionRepetitionDefinitionCollection",
    type: {
        name: "Composite",
        className: "WorkflowRunActionRepetitionDefinitionCollection",
        modelProperties: {
            nextLink: {
                serializedName: "nextLink",
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                xmlElementName: "WorkflowRunActionRepetitionDefinition",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WorkflowRunActionRepetitionDefinition"
                        }
                    }
                }
            }
        }
    }
};
export const RepetitionIndex = {
    serializedName: "RepetitionIndex",
    type: {
        name: "Composite",
        className: "RepetitionIndex",
        modelProperties: {
            scopeName: {
                serializedName: "scopeName",
                xmlName: "scopeName",
                type: {
                    name: "String"
                }
            },
            itemIndex: {
                serializedName: "itemIndex",
                required: true,
                xmlName: "itemIndex",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const OperationResultProperties = {
    serializedName: "OperationResultProperties",
    type: {
        name: "Composite",
        className: "OperationResultProperties",
        modelProperties: {
            startTime: {
                serializedName: "startTime",
                xmlName: "startTime",
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "endTime",
                xmlName: "endTime",
                type: {
                    name: "DateTime"
                }
            },
            correlation: {
                serializedName: "correlation",
                xmlName: "correlation",
                type: {
                    name: "Composite",
                    className: "RunActionCorrelation"
                }
            },
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "String"
                }
            },
            code: {
                serializedName: "code",
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            error: {
                serializedName: "error",
                xmlName: "error",
                type: {
                    name: "any"
                }
            }
        }
    }
};
export const WorkflowResource = {
    serializedName: "WorkflowResource",
    type: {
        name: "Composite",
        className: "WorkflowResource",
        modelProperties: {
            id: {
                serializedName: "id",
                readOnly: true,
                xmlName: "id",
                type: {
                    name: "String"
                }
            },
            name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            location: {
                serializedName: "location",
                xmlName: "location",
                type: {
                    name: "String"
                }
            },
            tags: {
                serializedName: "tags",
                xmlName: "tags",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }
        }
    }
};
export const RequestHistoryListResult = {
    serializedName: "RequestHistoryListResult",
    type: {
        name: "Composite",
        className: "RequestHistoryListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                xmlName: "value",
                xmlElementName: "RequestHistory",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RequestHistory"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const RequestHistoryProperties = {
    serializedName: "RequestHistoryProperties",
    type: {
        name: "Composite",
        className: "RequestHistoryProperties",
        modelProperties: {
            startTime: {
                serializedName: "startTime",
                xmlName: "startTime",
                type: {
                    name: "DateTime"
                }
            },
            endTime: {
                serializedName: "endTime",
                xmlName: "endTime",
                type: {
                    name: "DateTime"
                }
            },
            request: {
                serializedName: "request",
                xmlName: "request",
                type: {
                    name: "Composite",
                    className: "Request"
                }
            },
            response: {
                serializedName: "response",
                xmlName: "response",
                type: {
                    name: "Composite",
                    className: "Response"
                }
            }
        }
    }
};
export const Request = {
    serializedName: "Request",
    type: {
        name: "Composite",
        className: "Request",
        modelProperties: {
            headers: {
                serializedName: "headers",
                xmlName: "headers",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            },
            uri: {
                serializedName: "uri",
                xmlName: "uri",
                type: {
                    name: "String"
                }
            },
            method: {
                serializedName: "method",
                xmlName: "method",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const Response = {
    serializedName: "Response",
    type: {
        name: "Composite",
        className: "Response",
        modelProperties: {
            headers: {
                serializedName: "headers",
                xmlName: "headers",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            },
            statusCode: {
                serializedName: "statusCode",
                xmlName: "statusCode",
                type: {
                    name: "Number"
                }
            },
            bodyLink: {
                serializedName: "bodyLink",
                xmlName: "bodyLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            }
        }
    }
};
export const WorkflowTriggerListResult = {
    serializedName: "WorkflowTriggerListResult",
    type: {
        name: "Composite",
        className: "WorkflowTriggerListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                xmlName: "value",
                xmlElementName: "WorkflowTrigger",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WorkflowTrigger"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowTriggerRecurrence = {
    serializedName: "WorkflowTriggerRecurrence",
    type: {
        name: "Composite",
        className: "WorkflowTriggerRecurrence",
        modelProperties: {
            frequency: {
                serializedName: "frequency",
                xmlName: "frequency",
                type: {
                    name: "String"
                }
            },
            interval: {
                serializedName: "interval",
                xmlName: "interval",
                type: {
                    name: "Number"
                }
            },
            startTime: {
                serializedName: "startTime",
                xmlName: "startTime",
                type: {
                    name: "String"
                }
            },
            endTime: {
                serializedName: "endTime",
                xmlName: "endTime",
                type: {
                    name: "String"
                }
            },
            timeZone: {
                serializedName: "timeZone",
                xmlName: "timeZone",
                type: {
                    name: "String"
                }
            },
            schedule: {
                serializedName: "schedule",
                xmlName: "schedule",
                type: {
                    name: "Composite",
                    className: "RecurrenceSchedule"
                }
            }
        }
    }
};
export const RecurrenceSchedule = {
    serializedName: "RecurrenceSchedule",
    type: {
        name: "Composite",
        className: "RecurrenceSchedule",
        modelProperties: {
            minutes: {
                serializedName: "minutes",
                xmlName: "minutes",
                xmlElementName: "ArrayItemschema",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Number"
                        }
                    }
                }
            },
            hours: {
                serializedName: "hours",
                xmlName: "hours",
                xmlElementName: "ArrayItemschema",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Number"
                        }
                    }
                }
            },
            weekDays: {
                serializedName: "weekDays",
                xmlName: "weekDays",
                xmlElementName: "DaysOfWeek",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Enum",
                            allowedValues: [
                                "Sunday",
                                "Monday",
                                "Tuesday",
                                "Wednesday",
                                "Thursday",
                                "Friday",
                                "Saturday"
                            ]
                        }
                    }
                }
            },
            monthDays: {
                serializedName: "monthDays",
                xmlName: "monthDays",
                xmlElementName: "ArrayItemschema",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Number"
                        }
                    }
                }
            },
            monthlyOccurrences: {
                serializedName: "monthlyOccurrences",
                xmlName: "monthlyOccurrences",
                xmlElementName: "RecurrenceScheduleOccurrence",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RecurrenceScheduleOccurrence"
                        }
                    }
                }
            }
        }
    }
};
export const RecurrenceScheduleOccurrence = {
    serializedName: "RecurrenceScheduleOccurrence",
    type: {
        name: "Composite",
        className: "RecurrenceScheduleOccurrence",
        modelProperties: {
            day: {
                serializedName: "day",
                xmlName: "day",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Sunday",
                        "Monday",
                        "Tuesday",
                        "Wednesday",
                        "Thursday",
                        "Friday",
                        "Saturday"
                    ]
                }
            },
            occurrence: {
                serializedName: "occurrence",
                xmlName: "occurrence",
                type: {
                    name: "Number"
                }
            }
        }
    }
};
export const WorkflowTriggerHistoryListResult = {
    serializedName: "WorkflowTriggerHistoryListResult",
    type: {
        name: "Composite",
        className: "WorkflowTriggerHistoryListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                xmlName: "value",
                xmlElementName: "WorkflowTriggerHistory",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WorkflowTriggerHistory"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowTriggerCallbackUrl = {
    serializedName: "WorkflowTriggerCallbackUrl",
    type: {
        name: "Composite",
        className: "WorkflowTriggerCallbackUrl",
        modelProperties: {
            value: {
                serializedName: "value",
                readOnly: true,
                xmlName: "value",
                type: {
                    name: "String"
                }
            },
            method: {
                serializedName: "method",
                readOnly: true,
                xmlName: "method",
                type: {
                    name: "String"
                }
            },
            basePath: {
                serializedName: "basePath",
                readOnly: true,
                xmlName: "basePath",
                type: {
                    name: "String"
                }
            },
            relativePath: {
                serializedName: "relativePath",
                readOnly: true,
                xmlName: "relativePath",
                type: {
                    name: "String"
                }
            },
            relativePathParameters: {
                serializedName: "relativePathParameters",
                xmlName: "relativePathParameters",
                xmlElementName: "WorkflowTriggerCallbackUrlRelativePathParametersItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            },
            queries: {
                serializedName: "queries",
                xmlName: "queries",
                type: {
                    name: "Composite",
                    className: "WorkflowTriggerListCallbackUrlQueries"
                }
            }
        }
    }
};
export const WorkflowTriggerListCallbackUrlQueries = {
    serializedName: "WorkflowTriggerListCallbackUrlQueries",
    type: {
        name: "Composite",
        className: "WorkflowTriggerListCallbackUrlQueries",
        modelProperties: {
            apiVersion: {
                serializedName: "api-version",
                xmlName: "api-version",
                type: {
                    name: "String"
                }
            },
            sp: {
                serializedName: "sp",
                xmlName: "sp",
                type: {
                    name: "String"
                }
            },
            sv: {
                serializedName: "sv",
                xmlName: "sv",
                type: {
                    name: "String"
                }
            },
            sig: {
                serializedName: "sig",
                xmlName: "sig",
                type: {
                    name: "String"
                }
            },
            se: {
                serializedName: "se",
                xmlName: "se",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const JsonSchema = {
    serializedName: "JsonSchema",
    type: {
        name: "Composite",
        className: "JsonSchema",
        modelProperties: {
            title: {
                serializedName: "title",
                xmlName: "title",
                type: {
                    name: "String"
                }
            },
            content: {
                serializedName: "content",
                xmlName: "content",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const FlowEndpointsConfiguration = {
    serializedName: "FlowEndpointsConfiguration",
    type: {
        name: "Composite",
        className: "FlowEndpointsConfiguration",
        modelProperties: {
            workflow: {
                serializedName: "workflow",
                xmlName: "workflow",
                type: {
                    name: "Composite",
                    className: "FlowEndpoints"
                }
            },
            connector: {
                serializedName: "connector",
                xmlName: "connector",
                type: {
                    name: "Composite",
                    className: "FlowEndpoints"
                }
            }
        }
    }
};
export const FlowEndpoints = {
    serializedName: "FlowEndpoints",
    type: {
        name: "Composite",
        className: "FlowEndpoints",
        modelProperties: {
            outgoingIpAddresses: {
                serializedName: "outgoingIpAddresses",
                xmlName: "outgoingIpAddresses",
                xmlElementName: "IpAddress",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "IpAddress"
                        }
                    }
                }
            },
            accessEndpointIpAddresses: {
                serializedName: "accessEndpointIpAddresses",
                xmlName: "accessEndpointIpAddresses",
                xmlElementName: "IpAddress",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "IpAddress"
                        }
                    }
                }
            }
        }
    }
};
export const IpAddress = {
    serializedName: "IpAddress",
    type: {
        name: "Composite",
        className: "IpAddress",
        modelProperties: {
            address: {
                serializedName: "address",
                xmlName: "address",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const FlowAccessControlConfiguration = {
    serializedName: "FlowAccessControlConfiguration",
    type: {
        name: "Composite",
        className: "FlowAccessControlConfiguration",
        modelProperties: {
            triggers: {
                serializedName: "triggers",
                xmlName: "triggers",
                type: {
                    name: "Composite",
                    className: "FlowAccessControlConfigurationPolicy"
                }
            },
            contents: {
                serializedName: "contents",
                xmlName: "contents",
                type: {
                    name: "Composite",
                    className: "FlowAccessControlConfigurationPolicy"
                }
            },
            actions: {
                serializedName: "actions",
                xmlName: "actions",
                type: {
                    name: "Composite",
                    className: "FlowAccessControlConfigurationPolicy"
                }
            },
            workflowManagement: {
                serializedName: "workflowManagement",
                xmlName: "workflowManagement",
                type: {
                    name: "Composite",
                    className: "FlowAccessControlConfigurationPolicy"
                }
            }
        }
    }
};
export const FlowAccessControlConfigurationPolicy = {
    serializedName: "FlowAccessControlConfigurationPolicy",
    type: {
        name: "Composite",
        className: "FlowAccessControlConfigurationPolicy",
        modelProperties: {
            allowedCallerIpAddresses: {
                serializedName: "allowedCallerIpAddresses",
                xmlName: "allowedCallerIpAddresses",
                xmlElementName: "IpAddressRange",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "IpAddressRange"
                        }
                    }
                }
            },
            openAuthenticationPolicies: {
                serializedName: "openAuthenticationPolicies",
                xmlName: "openAuthenticationPolicies",
                type: {
                    name: "Composite",
                    className: "OpenAuthenticationAccessPolicies"
                }
            }
        }
    }
};
export const IpAddressRange = {
    serializedName: "IpAddressRange",
    type: {
        name: "Composite",
        className: "IpAddressRange",
        modelProperties: {
            addressRange: {
                serializedName: "addressRange",
                xmlName: "addressRange",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const OpenAuthenticationAccessPolicies = {
    serializedName: "OpenAuthenticationAccessPolicies",
    type: {
        name: "Composite",
        className: "OpenAuthenticationAccessPolicies",
        modelProperties: {
            policies: {
                serializedName: "policies",
                xmlName: "policies",
                type: {
                    name: "Dictionary",
                    value: {
                        type: {
                            name: "Composite",
                            className: "OpenAuthenticationAccessPolicy"
                        }
                    }
                }
            }
        }
    }
};
export const OpenAuthenticationAccessPolicy = {
    serializedName: "OpenAuthenticationAccessPolicy",
    type: {
        name: "Composite",
        className: "OpenAuthenticationAccessPolicy",
        modelProperties: {
            type: {
                serializedName: "type",
                xmlName: "type",
                type: {
                    name: "String"
                }
            },
            claims: {
                serializedName: "claims",
                xmlName: "claims",
                xmlElementName: "OpenAuthenticationPolicyClaim",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "OpenAuthenticationPolicyClaim"
                        }
                    }
                }
            }
        }
    }
};
export const OpenAuthenticationPolicyClaim = {
    serializedName: "OpenAuthenticationPolicyClaim",
    type: {
        name: "Composite",
        className: "OpenAuthenticationPolicyClaim",
        modelProperties: {
            name: {
                serializedName: "name",
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            value: {
                serializedName: "value",
                xmlName: "value",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowSku = {
    serializedName: "WorkflowSku",
    type: {
        name: "Composite",
        className: "WorkflowSku",
        modelProperties: {
            name: {
                serializedName: "name",
                required: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            },
            plan: {
                serializedName: "plan",
                xmlName: "plan",
                type: {
                    name: "Composite",
                    className: "ResourceReference"
                }
            }
        }
    }
};
export const WorkflowVersionListResult = {
    serializedName: "WorkflowVersionListResult",
    type: {
        name: "Composite",
        className: "WorkflowVersionListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                xmlName: "value",
                xmlElementName: "WorkflowVersion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WorkflowVersion"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AppserviceGithubToken = {
    serializedName: "AppserviceGithubToken",
    type: {
        name: "Composite",
        className: "AppserviceGithubToken",
        modelProperties: {
            accessToken: {
                serializedName: "accessToken",
                xmlName: "accessToken",
                type: {
                    name: "String"
                }
            },
            scope: {
                serializedName: "scope",
                xmlName: "scope",
                type: {
                    name: "String"
                }
            },
            tokenType: {
                serializedName: "tokenType",
                xmlName: "tokenType",
                type: {
                    name: "String"
                }
            },
            gotToken: {
                serializedName: "gotToken",
                xmlName: "gotToken",
                type: {
                    name: "Boolean"
                }
            },
            errorMessage: {
                serializedName: "errorMessage",
                xmlName: "errorMessage",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AppserviceGithubTokenRequest = {
    serializedName: "AppserviceGithubTokenRequest",
    type: {
        name: "Composite",
        className: "AppserviceGithubTokenRequest",
        modelProperties: {
            code: {
                serializedName: "code",
                required: true,
                xmlName: "code",
                type: {
                    name: "String"
                }
            },
            state: {
                serializedName: "state",
                required: true,
                xmlName: "state",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowFilter = {
    serializedName: "WorkflowFilter",
    type: {
        name: "Composite",
        className: "WorkflowFilter",
        modelProperties: {
            state: {
                serializedName: "state",
                xmlName: "state",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowListResult = {
    serializedName: "WorkflowListResult",
    type: {
        name: "Composite",
        className: "WorkflowListResult",
        modelProperties: {
            value: {
                serializedName: "value",
                xmlName: "value",
                xmlElementName: "Workflow",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Workflow"
                        }
                    }
                }
            },
            nextLink: {
                serializedName: "nextLink",
                xmlName: "nextLink",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowRunActionFilter = {
    serializedName: "WorkflowRunActionFilter",
    type: {
        name: "Composite",
        className: "WorkflowRunActionFilter",
        modelProperties: {
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowRunFilter = {
    serializedName: "WorkflowRunFilter",
    type: {
        name: "Composite",
        className: "WorkflowRunFilter",
        modelProperties: {
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowTriggerFilter = {
    serializedName: "WorkflowTriggerFilter",
    type: {
        name: "Composite",
        className: "WorkflowTriggerFilter",
        modelProperties: {
            state: {
                serializedName: "state",
                xmlName: "state",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const WorkflowTriggerHistoryFilter = {
    serializedName: "WorkflowTriggerHistoryFilter",
    type: {
        name: "Composite",
        className: "WorkflowTriggerHistoryFilter",
        modelProperties: {
            status: {
                serializedName: "status",
                xmlName: "status",
                type: {
                    name: "String"
                }
            }
        }
    }
};
export const AppServiceCertificateOrder = {
    serializedName: "AppServiceCertificateOrder",
    type: {
        name: "Composite",
        className: "AppServiceCertificateOrder",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { certificates: {
                serializedName: "properties.certificates",
                xmlName: "properties.certificates",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Composite", className: "AppServiceCertificate" }
                    }
                }
            }, distinguishedName: {
                serializedName: "properties.distinguishedName",
                xmlName: "properties.distinguishedName",
                type: {
                    name: "String"
                }
            }, domainVerificationToken: {
                serializedName: "properties.domainVerificationToken",
                readOnly: true,
                xmlName: "properties.domainVerificationToken",
                type: {
                    name: "String"
                }
            }, validityInYears: {
                defaultValue: 1,
                serializedName: "properties.validityInYears",
                xmlName: "properties.validityInYears",
                type: {
                    name: "Number"
                }
            }, keySize: {
                defaultValue: 2048,
                serializedName: "properties.keySize",
                xmlName: "properties.keySize",
                type: {
                    name: "Number"
                }
            }, productType: {
                serializedName: "properties.productType",
                xmlName: "properties.productType",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "StandardDomainValidatedSsl",
                        "StandardDomainValidatedWildCardSsl"
                    ]
                }
            }, autoRenew: {
                defaultValue: true,
                serializedName: "properties.autoRenew",
                xmlName: "properties.autoRenew",
                type: {
                    name: "Boolean"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                    ]
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Pendingissuance",
                        "Issued",
                        "Revoked",
                        "Canceled",
                        "Denied",
                        "Pendingrevocation",
                        "PendingRekey",
                        "Unused",
                        "Expired",
                        "NotSubmitted"
                    ]
                }
            }, signedCertificate: {
                serializedName: "properties.signedCertificate",
                xmlName: "properties.signedCertificate",
                type: {
                    name: "Composite",
                    className: "CertificateDetails"
                }
            }, csr: {
                serializedName: "properties.csr",
                xmlName: "properties.csr",
                type: {
                    name: "String"
                }
            }, intermediate: {
                serializedName: "properties.intermediate",
                xmlName: "properties.intermediate",
                type: {
                    name: "Composite",
                    className: "CertificateDetails"
                }
            }, root: {
                serializedName: "properties.root",
                xmlName: "properties.root",
                type: {
                    name: "Composite",
                    className: "CertificateDetails"
                }
            }, serialNumber: {
                serializedName: "properties.serialNumber",
                readOnly: true,
                xmlName: "properties.serialNumber",
                type: {
                    name: "String"
                }
            }, lastCertificateIssuanceTime: {
                serializedName: "properties.lastCertificateIssuanceTime",
                readOnly: true,
                xmlName: "properties.lastCertificateIssuanceTime",
                type: {
                    name: "DateTime"
                }
            }, expirationTime: {
                serializedName: "properties.expirationTime",
                readOnly: true,
                xmlName: "properties.expirationTime",
                type: {
                    name: "DateTime"
                }
            }, isPrivateKeyExternal: {
                serializedName: "properties.isPrivateKeyExternal",
                readOnly: true,
                xmlName: "properties.isPrivateKeyExternal",
                type: {
                    name: "Boolean"
                }
            }, appServiceCertificateNotRenewableReasons: {
                serializedName: "properties.appServiceCertificateNotRenewableReasons",
                readOnly: true,
                xmlName: "properties.appServiceCertificateNotRenewableReasons",
                xmlElementName: "ResourceNotRenewableReason",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, nextAutoRenewalTimeStamp: {
                serializedName: "properties.nextAutoRenewalTimeStamp",
                readOnly: true,
                xmlName: "properties.nextAutoRenewalTimeStamp",
                type: {
                    name: "DateTime"
                }
            }, contact: {
                serializedName: "properties.contact",
                xmlName: "properties.contact",
                type: {
                    name: "Composite",
                    className: "CertificateOrderContact"
                }
            } })
    }
};
export const AppServiceCertificateResource = {
    serializedName: "AppServiceCertificateResource",
    type: {
        name: "Composite",
        className: "AppServiceCertificateResource",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { keyVaultId: {
                serializedName: "properties.keyVaultId",
                xmlName: "properties.keyVaultId",
                type: {
                    name: "String"
                }
            }, keyVaultSecretName: {
                serializedName: "properties.keyVaultSecretName",
                xmlName: "properties.keyVaultSecretName",
                type: {
                    name: "String"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Initialized",
                        "WaitingOnCertificateOrder",
                        "Succeeded",
                        "CertificateOrderFailed",
                        "OperationNotPermittedOnKeyVault",
                        "AzureServiceUnauthorizedToAccessKeyVault",
                        "KeyVaultDoesNotExist",
                        "KeyVaultSecretDoesNotExist",
                        "UnknownError",
                        "ExternalPrivateKey",
                        "Unknown"
                    ]
                }
            } })
    }
};
export const Domain = {
    serializedName: "Domain",
    type: {
        name: "Composite",
        className: "Domain",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { contactAdmin: {
                serializedName: "properties.contactAdmin",
                xmlName: "properties.contactAdmin",
                type: {
                    name: "Composite",
                    className: "Contact"
                }
            }, contactBilling: {
                serializedName: "properties.contactBilling",
                xmlName: "properties.contactBilling",
                type: {
                    name: "Composite",
                    className: "Contact"
                }
            }, contactRegistrant: {
                serializedName: "properties.contactRegistrant",
                xmlName: "properties.contactRegistrant",
                type: {
                    name: "Composite",
                    className: "Contact"
                }
            }, contactTech: {
                serializedName: "properties.contactTech",
                xmlName: "properties.contactTech",
                type: {
                    name: "Composite",
                    className: "Contact"
                }
            }, registrationStatus: {
                serializedName: "properties.registrationStatus",
                readOnly: true,
                xmlName: "properties.registrationStatus",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Active",
                        "Awaiting",
                        "Cancelled",
                        "Confiscated",
                        "Disabled",
                        "Excluded",
                        "Expired",
                        "Failed",
                        "Held",
                        "Locked",
                        "Parked",
                        "Pending",
                        "Reserved",
                        "Reverted",
                        "Suspended",
                        "Transferred",
                        "Unknown",
                        "Unlocked",
                        "Unparked",
                        "Updated",
                        "JsonConverterFailed"
                    ]
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                    ]
                }
            }, nameServers: {
                serializedName: "properties.nameServers",
                readOnly: true,
                xmlName: "properties.nameServers",
                xmlElementName: "DomainPropertiesNameServersItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, privacy: {
                serializedName: "properties.privacy",
                xmlName: "properties.privacy",
                type: {
                    name: "Boolean"
                }
            }, createdTime: {
                serializedName: "properties.createdTime",
                readOnly: true,
                xmlName: "properties.createdTime",
                type: {
                    name: "DateTime"
                }
            }, expirationTime: {
                serializedName: "properties.expirationTime",
                readOnly: true,
                xmlName: "properties.expirationTime",
                type: {
                    name: "DateTime"
                }
            }, lastRenewedTime: {
                serializedName: "properties.lastRenewedTime",
                readOnly: true,
                xmlName: "properties.lastRenewedTime",
                type: {
                    name: "DateTime"
                }
            }, autoRenew: {
                defaultValue: true,
                serializedName: "properties.autoRenew",
                xmlName: "properties.autoRenew",
                type: {
                    name: "Boolean"
                }
            }, readyForDnsRecordManagement: {
                serializedName: "properties.readyForDnsRecordManagement",
                readOnly: true,
                xmlName: "properties.readyForDnsRecordManagement",
                type: {
                    name: "Boolean"
                }
            }, managedHostNames: {
                serializedName: "properties.managedHostNames",
                readOnly: true,
                xmlName: "properties.managedHostNames",
                xmlElementName: "HostName",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HostName"
                        }
                    }
                }
            }, consent: {
                serializedName: "properties.consent",
                xmlName: "properties.consent",
                type: {
                    name: "Composite",
                    className: "DomainPurchaseConsent"
                }
            }, domainNotRenewableReasons: {
                serializedName: "properties.domainNotRenewableReasons",
                readOnly: true,
                xmlName: "properties.domainNotRenewableReasons",
                xmlElementName: "ResourceNotRenewableReason",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, dnsType: {
                serializedName: "properties.dnsType",
                xmlName: "properties.dnsType",
                type: {
                    name: "Enum",
                    allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"]
                }
            }, dnsZoneId: {
                serializedName: "properties.dnsZoneId",
                xmlName: "properties.dnsZoneId",
                type: {
                    name: "String"
                }
            }, targetDnsType: {
                serializedName: "properties.targetDnsType",
                xmlName: "properties.targetDnsType",
                type: {
                    name: "Enum",
                    allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"]
                }
            }, authCode: {
                serializedName: "properties.authCode",
                xmlName: "properties.authCode",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AppServiceEnvironmentResource = {
    serializedName: "AppServiceEnvironmentResource",
    type: {
        name: "Composite",
        className: "AppServiceEnvironmentResource",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                    ]
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "Enum",
                    allowedValues: ["Preparing", "Ready", "Scaling", "Deleting"]
                }
            }, virtualNetwork: {
                serializedName: "properties.virtualNetwork",
                xmlName: "properties.virtualNetwork",
                type: {
                    name: "Composite",
                    className: "VirtualNetworkProfile"
                }
            }, internalLoadBalancingMode: {
                serializedName: "properties.internalLoadBalancingMode",
                xmlName: "properties.internalLoadBalancingMode",
                type: {
                    name: "String"
                }
            }, multiSize: {
                serializedName: "properties.multiSize",
                xmlName: "properties.multiSize",
                type: {
                    name: "String"
                }
            }, multiRoleCount: {
                serializedName: "properties.multiRoleCount",
                readOnly: true,
                xmlName: "properties.multiRoleCount",
                type: {
                    name: "Number"
                }
            }, ipsslAddressCount: {
                serializedName: "properties.ipsslAddressCount",
                xmlName: "properties.ipsslAddressCount",
                type: {
                    name: "Number"
                }
            }, dnsSuffix: {
                serializedName: "properties.dnsSuffix",
                xmlName: "properties.dnsSuffix",
                type: {
                    name: "String"
                }
            }, maximumNumberOfMachines: {
                serializedName: "properties.maximumNumberOfMachines",
                readOnly: true,
                xmlName: "properties.maximumNumberOfMachines",
                type: {
                    name: "Number"
                }
            }, frontEndScaleFactor: {
                serializedName: "properties.frontEndScaleFactor",
                xmlName: "properties.frontEndScaleFactor",
                type: {
                    name: "Number"
                }
            }, suspended: {
                serializedName: "properties.suspended",
                readOnly: true,
                xmlName: "properties.suspended",
                type: {
                    name: "Boolean"
                }
            }, clusterSettings: {
                serializedName: "properties.clusterSettings",
                xmlName: "properties.clusterSettings",
                xmlElementName: "NameValuePair",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "NameValuePair"
                        }
                    }
                }
            }, userWhitelistedIpRanges: {
                serializedName: "properties.userWhitelistedIpRanges",
                xmlName: "properties.userWhitelistedIpRanges",
                xmlElementName: "AppServiceEnvironmentUserWhitelistedIpRangesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, hasLinuxWorkers: {
                serializedName: "properties.hasLinuxWorkers",
                readOnly: true,
                xmlName: "properties.hasLinuxWorkers",
                type: {
                    name: "Boolean"
                }
            }, upgradePreference: {
                defaultValue: "None",
                serializedName: "properties.upgradePreference",
                xmlName: "properties.upgradePreference",
                type: {
                    name: "String"
                }
            }, dedicatedHostCount: {
                serializedName: "properties.dedicatedHostCount",
                xmlName: "properties.dedicatedHostCount",
                type: {
                    name: "Number"
                }
            }, zoneRedundant: {
                serializedName: "properties.zoneRedundant",
                xmlName: "properties.zoneRedundant",
                type: {
                    name: "Boolean"
                }
            }, customDnsSuffixConfiguration: {
                serializedName: "properties.customDnsSuffixConfiguration",
                xmlName: "properties.customDnsSuffixConfiguration",
                type: {
                    name: "Composite",
                    className: "CustomDnsSuffixConfiguration"
                }
            }, networkingConfiguration: {
                serializedName: "properties.networkingConfiguration",
                xmlName: "properties.networkingConfiguration",
                type: {
                    name: "Composite",
                    className: "AseV3NetworkingConfiguration"
                }
            }, upgradeAvailability: {
                serializedName: "properties.upgradeAvailability",
                readOnly: true,
                xmlName: "properties.upgradeAvailability",
                type: {
                    name: "String"
                }
            } })
    }
};
export const Site = {
    serializedName: "Site",
    type: {
        name: "Composite",
        className: "Site",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { identity: {
                serializedName: "identity",
                xmlName: "identity",
                type: {
                    name: "Composite",
                    className: "ManagedServiceIdentity"
                }
            }, extendedLocation: {
                serializedName: "extendedLocation",
                xmlName: "extendedLocation",
                type: {
                    name: "Composite",
                    className: "ExtendedLocation"
                }
            }, state: {
                serializedName: "properties.state",
                readOnly: true,
                xmlName: "properties.state",
                type: {
                    name: "String"
                }
            }, hostNames: {
                serializedName: "properties.hostNames",
                readOnly: true,
                xmlName: "properties.hostNames",
                xmlElementName: "SitePropertiesHostNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, repositorySiteName: {
                serializedName: "properties.repositorySiteName",
                readOnly: true,
                xmlName: "properties.repositorySiteName",
                type: {
                    name: "String"
                }
            }, usageState: {
                serializedName: "properties.usageState",
                readOnly: true,
                xmlName: "properties.usageState",
                type: {
                    name: "Enum",
                    allowedValues: ["Normal", "Exceeded"]
                }
            }, enabled: {
                serializedName: "properties.enabled",
                xmlName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }, enabledHostNames: {
                serializedName: "properties.enabledHostNames",
                readOnly: true,
                xmlName: "properties.enabledHostNames",
                xmlElementName: "SitePropertiesEnabledHostNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, availabilityState: {
                serializedName: "properties.availabilityState",
                readOnly: true,
                xmlName: "properties.availabilityState",
                type: {
                    name: "Enum",
                    allowedValues: ["Normal", "Limited", "DisasterRecoveryMode"]
                }
            }, hostNameSslStates: {
                serializedName: "properties.hostNameSslStates",
                xmlName: "properties.hostNameSslStates",
                xmlElementName: "HostNameSslState",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HostNameSslState"
                        }
                    }
                }
            }, serverFarmId: {
                serializedName: "properties.serverFarmId",
                xmlName: "properties.serverFarmId",
                type: {
                    name: "String"
                }
            }, reserved: {
                defaultValue: false,
                serializedName: "properties.reserved",
                xmlName: "properties.reserved",
                type: {
                    name: "Boolean"
                }
            }, isXenon: {
                defaultValue: false,
                serializedName: "properties.isXenon",
                xmlName: "properties.isXenon",
                type: {
                    name: "Boolean"
                }
            }, hyperV: {
                defaultValue: false,
                serializedName: "properties.hyperV",
                xmlName: "properties.hyperV",
                type: {
                    name: "Boolean"
                }
            }, lastModifiedTimeUtc: {
                serializedName: "properties.lastModifiedTimeUtc",
                readOnly: true,
                xmlName: "properties.lastModifiedTimeUtc",
                type: {
                    name: "DateTime"
                }
            }, vnetRouteAllEnabled: {
                serializedName: "properties.vnetRouteAllEnabled",
                xmlName: "properties.vnetRouteAllEnabled",
                type: {
                    name: "Boolean"
                }
            }, vnetImagePullEnabled: {
                serializedName: "properties.vnetImagePullEnabled",
                xmlName: "properties.vnetImagePullEnabled",
                type: {
                    name: "Boolean"
                }
            }, vnetContentShareEnabled: {
                serializedName: "properties.vnetContentShareEnabled",
                xmlName: "properties.vnetContentShareEnabled",
                type: {
                    name: "Boolean"
                }
            }, siteConfig: {
                serializedName: "properties.siteConfig",
                xmlName: "properties.siteConfig",
                type: {
                    name: "Composite",
                    className: "SiteConfig"
                }
            }, daprConfig: {
                serializedName: "properties.daprConfig",
                xmlName: "properties.daprConfig",
                type: {
                    name: "Composite",
                    className: "DaprConfig"
                }
            }, workloadProfileName: {
                serializedName: "properties.workloadProfileName",
                xmlName: "properties.workloadProfileName",
                type: {
                    name: "String"
                }
            }, resourceConfig: {
                serializedName: "properties.resourceConfig",
                xmlName: "properties.resourceConfig",
                type: {
                    name: "Composite",
                    className: "ResourceConfig"
                }
            }, trafficManagerHostNames: {
                serializedName: "properties.trafficManagerHostNames",
                readOnly: true,
                xmlName: "properties.trafficManagerHostNames",
                xmlElementName: "SitePropertiesTrafficManagerHostNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, scmSiteAlsoStopped: {
                defaultValue: false,
                serializedName: "properties.scmSiteAlsoStopped",
                xmlName: "properties.scmSiteAlsoStopped",
                type: {
                    name: "Boolean"
                }
            }, targetSwapSlot: {
                serializedName: "properties.targetSwapSlot",
                readOnly: true,
                xmlName: "properties.targetSwapSlot",
                type: {
                    name: "String"
                }
            }, hostingEnvironmentProfile: {
                serializedName: "properties.hostingEnvironmentProfile",
                xmlName: "properties.hostingEnvironmentProfile",
                type: {
                    name: "Composite",
                    className: "HostingEnvironmentProfile"
                }
            }, clientAffinityEnabled: {
                serializedName: "properties.clientAffinityEnabled",
                xmlName: "properties.clientAffinityEnabled",
                type: {
                    name: "Boolean"
                }
            }, clientCertEnabled: {
                serializedName: "properties.clientCertEnabled",
                xmlName: "properties.clientCertEnabled",
                type: {
                    name: "Boolean"
                }
            }, clientCertMode: {
                serializedName: "properties.clientCertMode",
                xmlName: "properties.clientCertMode",
                type: {
                    name: "Enum",
                    allowedValues: ["Required", "Optional", "OptionalInteractiveUser"]
                }
            }, clientCertExclusionPaths: {
                serializedName: "properties.clientCertExclusionPaths",
                xmlName: "properties.clientCertExclusionPaths",
                type: {
                    name: "String"
                }
            }, hostNamesDisabled: {
                serializedName: "properties.hostNamesDisabled",
                xmlName: "properties.hostNamesDisabled",
                type: {
                    name: "Boolean"
                }
            }, customDomainVerificationId: {
                serializedName: "properties.customDomainVerificationId",
                xmlName: "properties.customDomainVerificationId",
                type: {
                    name: "String"
                }
            }, outboundIpAddresses: {
                serializedName: "properties.outboundIpAddresses",
                readOnly: true,
                xmlName: "properties.outboundIpAddresses",
                type: {
                    name: "String"
                }
            }, possibleOutboundIpAddresses: {
                serializedName: "properties.possibleOutboundIpAddresses",
                readOnly: true,
                xmlName: "properties.possibleOutboundIpAddresses",
                type: {
                    name: "String"
                }
            }, containerSize: {
                serializedName: "properties.containerSize",
                xmlName: "properties.containerSize",
                type: {
                    name: "Number"
                }
            }, dailyMemoryTimeQuota: {
                serializedName: "properties.dailyMemoryTimeQuota",
                xmlName: "properties.dailyMemoryTimeQuota",
                type: {
                    name: "Number"
                }
            }, suspendedTill: {
                serializedName: "properties.suspendedTill",
                readOnly: true,
                xmlName: "properties.suspendedTill",
                type: {
                    name: "DateTime"
                }
            }, maxNumberOfWorkers: {
                serializedName: "properties.maxNumberOfWorkers",
                readOnly: true,
                xmlName: "properties.maxNumberOfWorkers",
                type: {
                    name: "Number"
                }
            }, cloningInfo: {
                serializedName: "properties.cloningInfo",
                xmlName: "properties.cloningInfo",
                type: {
                    name: "Composite",
                    className: "CloningInfo"
                }
            }, resourceGroup: {
                serializedName: "properties.resourceGroup",
                readOnly: true,
                xmlName: "properties.resourceGroup",
                type: {
                    name: "String"
                }
            }, isDefaultContainer: {
                serializedName: "properties.isDefaultContainer",
                readOnly: true,
                xmlName: "properties.isDefaultContainer",
                type: {
                    name: "Boolean"
                }
            }, defaultHostName: {
                serializedName: "properties.defaultHostName",
                readOnly: true,
                xmlName: "properties.defaultHostName",
                type: {
                    name: "String"
                }
            }, slotSwapStatus: {
                serializedName: "properties.slotSwapStatus",
                xmlName: "properties.slotSwapStatus",
                type: {
                    name: "Composite",
                    className: "SlotSwapStatus"
                }
            }, httpsOnly: {
                serializedName: "properties.httpsOnly",
                xmlName: "properties.httpsOnly",
                type: {
                    name: "Boolean"
                }
            }, redundancyMode: {
                serializedName: "properties.redundancyMode",
                xmlName: "properties.redundancyMode",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "None",
                        "Manual",
                        "Failover",
                        "ActiveActive",
                        "GeoRedundant"
                    ]
                }
            }, inProgressOperationId: {
                serializedName: "properties.inProgressOperationId",
                readOnly: true,
                xmlName: "properties.inProgressOperationId",
                type: {
                    name: "Uuid"
                }
            }, publicNetworkAccess: {
                serializedName: "properties.publicNetworkAccess",
                xmlName: "properties.publicNetworkAccess",
                type: {
                    name: "String"
                }
            }, storageAccountRequired: {
                serializedName: "properties.storageAccountRequired",
                xmlName: "properties.storageAccountRequired",
                type: {
                    name: "Boolean"
                }
            }, keyVaultReferenceIdentity: {
                serializedName: "properties.keyVaultReferenceIdentity",
                xmlName: "properties.keyVaultReferenceIdentity",
                type: {
                    name: "String"
                }
            }, virtualNetworkSubnetId: {
                serializedName: "properties.virtualNetworkSubnetId",
                xmlName: "properties.virtualNetworkSubnetId",
                type: {
                    name: "String"
                }
            }, managedEnvironmentId: {
                serializedName: "properties.managedEnvironmentId",
                xmlName: "properties.managedEnvironmentId",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AppServicePlan = {
    serializedName: "AppServicePlan",
    type: {
        name: "Composite",
        className: "AppServicePlan",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { sku: {
                serializedName: "sku",
                xmlName: "sku",
                type: {
                    name: "Composite",
                    className: "SkuDescription"
                }
            }, extendedLocation: {
                serializedName: "extendedLocation",
                xmlName: "extendedLocation",
                type: {
                    name: "Composite",
                    className: "ExtendedLocation"
                }
            }, workerTierName: {
                serializedName: "properties.workerTierName",
                xmlName: "properties.workerTierName",
                type: {
                    name: "String"
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "Enum",
                    allowedValues: ["Ready", "Pending", "Creating"]
                }
            }, subscription: {
                serializedName: "properties.subscription",
                readOnly: true,
                xmlName: "properties.subscription",
                type: {
                    name: "String"
                }
            }, hostingEnvironmentProfile: {
                serializedName: "properties.hostingEnvironmentProfile",
                xmlName: "properties.hostingEnvironmentProfile",
                type: {
                    name: "Composite",
                    className: "HostingEnvironmentProfile"
                }
            }, maximumNumberOfWorkers: {
                serializedName: "properties.maximumNumberOfWorkers",
                readOnly: true,
                xmlName: "properties.maximumNumberOfWorkers",
                type: {
                    name: "Number"
                }
            }, numberOfWorkers: {
                serializedName: "properties.numberOfWorkers",
                readOnly: true,
                xmlName: "properties.numberOfWorkers",
                type: {
                    name: "Number"
                }
            }, geoRegion: {
                serializedName: "properties.geoRegion",
                readOnly: true,
                xmlName: "properties.geoRegion",
                type: {
                    name: "String"
                }
            }, perSiteScaling: {
                defaultValue: false,
                serializedName: "properties.perSiteScaling",
                xmlName: "properties.perSiteScaling",
                type: {
                    name: "Boolean"
                }
            }, elasticScaleEnabled: {
                serializedName: "properties.elasticScaleEnabled",
                xmlName: "properties.elasticScaleEnabled",
                type: {
                    name: "Boolean"
                }
            }, maximumElasticWorkerCount: {
                serializedName: "properties.maximumElasticWorkerCount",
                xmlName: "properties.maximumElasticWorkerCount",
                type: {
                    name: "Number"
                }
            }, numberOfSites: {
                serializedName: "properties.numberOfSites",
                readOnly: true,
                xmlName: "properties.numberOfSites",
                type: {
                    name: "Number"
                }
            }, isSpot: {
                serializedName: "properties.isSpot",
                xmlName: "properties.isSpot",
                type: {
                    name: "Boolean"
                }
            }, spotExpirationTime: {
                serializedName: "properties.spotExpirationTime",
                xmlName: "properties.spotExpirationTime",
                type: {
                    name: "DateTime"
                }
            }, freeOfferExpirationTime: {
                serializedName: "properties.freeOfferExpirationTime",
                xmlName: "properties.freeOfferExpirationTime",
                type: {
                    name: "DateTime"
                }
            }, resourceGroup: {
                serializedName: "properties.resourceGroup",
                readOnly: true,
                xmlName: "properties.resourceGroup",
                type: {
                    name: "String"
                }
            }, reserved: {
                defaultValue: false,
                serializedName: "properties.reserved",
                xmlName: "properties.reserved",
                type: {
                    name: "Boolean"
                }
            }, isXenon: {
                defaultValue: false,
                serializedName: "properties.isXenon",
                xmlName: "properties.isXenon",
                type: {
                    name: "Boolean"
                }
            }, hyperV: {
                defaultValue: false,
                serializedName: "properties.hyperV",
                xmlName: "properties.hyperV",
                type: {
                    name: "Boolean"
                }
            }, targetWorkerCount: {
                serializedName: "properties.targetWorkerCount",
                xmlName: "properties.targetWorkerCount",
                type: {
                    name: "Number"
                }
            }, targetWorkerSizeId: {
                serializedName: "properties.targetWorkerSizeId",
                xmlName: "properties.targetWorkerSizeId",
                type: {
                    name: "Number"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                    ]
                }
            }, kubeEnvironmentProfile: {
                serializedName: "properties.kubeEnvironmentProfile",
                xmlName: "properties.kubeEnvironmentProfile",
                type: {
                    name: "Composite",
                    className: "KubeEnvironmentProfile"
                }
            }, zoneRedundant: {
                defaultValue: false,
                serializedName: "properties.zoneRedundant",
                xmlName: "properties.zoneRedundant",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const Certificate = {
    serializedName: "Certificate",
    type: {
        name: "Composite",
        className: "Certificate",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { password: {
                serializedName: "properties.password",
                xmlName: "properties.password",
                type: {
                    name: "String"
                }
            }, friendlyName: {
                serializedName: "properties.friendlyName",
                readOnly: true,
                xmlName: "properties.friendlyName",
                type: {
                    name: "String"
                }
            }, subjectName: {
                serializedName: "properties.subjectName",
                readOnly: true,
                xmlName: "properties.subjectName",
                type: {
                    name: "String"
                }
            }, hostNames: {
                serializedName: "properties.hostNames",
                xmlName: "properties.hostNames",
                xmlElementName: "CertificatePropertiesHostNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, pfxBlob: {
                serializedName: "properties.pfxBlob",
                xmlName: "properties.pfxBlob",
                type: {
                    name: "ByteArray"
                }
            }, siteName: {
                serializedName: "properties.siteName",
                readOnly: true,
                xmlName: "properties.siteName",
                type: {
                    name: "String"
                }
            }, selfLink: {
                serializedName: "properties.selfLink",
                readOnly: true,
                xmlName: "properties.selfLink",
                type: {
                    name: "String"
                }
            }, issuer: {
                serializedName: "properties.issuer",
                readOnly: true,
                xmlName: "properties.issuer",
                type: {
                    name: "String"
                }
            }, issueDate: {
                serializedName: "properties.issueDate",
                readOnly: true,
                xmlName: "properties.issueDate",
                type: {
                    name: "DateTime"
                }
            }, expirationDate: {
                serializedName: "properties.expirationDate",
                readOnly: true,
                xmlName: "properties.expirationDate",
                type: {
                    name: "DateTime"
                }
            }, thumbprint: {
                serializedName: "properties.thumbprint",
                readOnly: true,
                xmlName: "properties.thumbprint",
                type: {
                    name: "String"
                }
            }, valid: {
                serializedName: "properties.valid",
                readOnly: true,
                xmlName: "properties.valid",
                type: {
                    name: "Boolean"
                }
            }, cerBlob: {
                serializedName: "properties.cerBlob",
                readOnly: true,
                xmlName: "properties.cerBlob",
                type: {
                    name: "ByteArray"
                }
            }, publicKeyHash: {
                serializedName: "properties.publicKeyHash",
                readOnly: true,
                xmlName: "properties.publicKeyHash",
                type: {
                    name: "String"
                }
            }, hostingEnvironmentProfile: {
                serializedName: "properties.hostingEnvironmentProfile",
                xmlName: "properties.hostingEnvironmentProfile",
                type: {
                    name: "Composite",
                    className: "HostingEnvironmentProfile"
                }
            }, keyVaultId: {
                serializedName: "properties.keyVaultId",
                xmlName: "properties.keyVaultId",
                type: {
                    name: "String"
                }
            }, keyVaultSecretName: {
                serializedName: "properties.keyVaultSecretName",
                xmlName: "properties.keyVaultSecretName",
                type: {
                    name: "String"
                }
            }, keyVaultSecretStatus: {
                serializedName: "properties.keyVaultSecretStatus",
                readOnly: true,
                xmlName: "properties.keyVaultSecretStatus",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Initialized",
                        "WaitingOnCertificateOrder",
                        "Succeeded",
                        "CertificateOrderFailed",
                        "OperationNotPermittedOnKeyVault",
                        "AzureServiceUnauthorizedToAccessKeyVault",
                        "KeyVaultDoesNotExist",
                        "KeyVaultSecretDoesNotExist",
                        "UnknownError",
                        "ExternalPrivateKey",
                        "Unknown"
                    ]
                }
            }, serverFarmId: {
                serializedName: "properties.serverFarmId",
                xmlName: "properties.serverFarmId",
                type: {
                    name: "String"
                }
            }, canonicalName: {
                serializedName: "properties.canonicalName",
                xmlName: "properties.canonicalName",
                type: {
                    name: "String"
                }
            }, domainValidationMethod: {
                serializedName: "properties.domainValidationMethod",
                xmlName: "properties.domainValidationMethod",
                type: {
                    name: "String"
                }
            } })
    }
};
export const ContainerApp = {
    serializedName: "ContainerApp",
    type: {
        name: "Composite",
        className: "ContainerApp",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            }, kubeEnvironmentId: {
                serializedName: "properties.kubeEnvironmentId",
                xmlName: "properties.kubeEnvironmentId",
                type: {
                    name: "String"
                }
            }, latestRevisionName: {
                serializedName: "properties.latestRevisionName",
                readOnly: true,
                xmlName: "properties.latestRevisionName",
                type: {
                    name: "String"
                }
            }, latestRevisionFqdn: {
                serializedName: "properties.latestRevisionFqdn",
                readOnly: true,
                xmlName: "properties.latestRevisionFqdn",
                type: {
                    name: "String"
                }
            }, configuration: {
                serializedName: "properties.configuration",
                xmlName: "properties.configuration",
                type: {
                    name: "Composite",
                    className: "Configuration"
                }
            }, template: {
                serializedName: "properties.template",
                xmlName: "properties.template",
                type: {
                    name: "Composite",
                    className: "Template"
                }
            } })
    }
};
export const Revision = {
    serializedName: "Revision",
    type: {
        name: "Composite",
        className: "Revision",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { createdTime: {
                serializedName: "properties.createdTime",
                readOnly: true,
                xmlName: "properties.createdTime",
                type: {
                    name: "DateTime"
                }
            }, fqdn: {
                serializedName: "properties.fqdn",
                readOnly: true,
                xmlName: "properties.fqdn",
                type: {
                    name: "String"
                }
            }, template: {
                serializedName: "properties.template",
                xmlName: "properties.template",
                type: {
                    name: "Composite",
                    className: "Template"
                }
            }, active: {
                serializedName: "properties.active",
                readOnly: true,
                xmlName: "properties.active",
                type: {
                    name: "Boolean"
                }
            }, replicas: {
                serializedName: "properties.replicas",
                readOnly: true,
                xmlName: "properties.replicas",
                type: {
                    name: "Number"
                }
            }, trafficWeight: {
                serializedName: "properties.trafficWeight",
                readOnly: true,
                xmlName: "properties.trafficWeight",
                type: {
                    name: "Number"
                }
            }, provisioningError: {
                serializedName: "properties.provisioningError",
                readOnly: true,
                xmlName: "properties.provisioningError",
                type: {
                    name: "String"
                }
            }, healthState: {
                serializedName: "properties.healthState",
                readOnly: true,
                xmlName: "properties.healthState",
                type: {
                    name: "String"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            } })
    }
};
export const KubeEnvironment = {
    serializedName: "KubeEnvironment",
    type: {
        name: "Composite",
        className: "KubeEnvironment",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { extendedLocation: {
                serializedName: "extendedLocation",
                xmlName: "extendedLocation",
                type: {
                    name: "Composite",
                    className: "ExtendedLocation"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "Waiting",
                        "InitializationInProgress",
                        "InfrastructureSetupInProgress",
                        "InfrastructureSetupComplete",
                        "ScheduledForDelete",
                        "UpgradeRequested",
                        "UpgradeFailed"
                    ]
                }
            }, deploymentErrors: {
                serializedName: "properties.deploymentErrors",
                readOnly: true,
                xmlName: "properties.deploymentErrors",
                type: {
                    name: "String"
                }
            }, internalLoadBalancerEnabled: {
                serializedName: "properties.internalLoadBalancerEnabled",
                xmlName: "properties.internalLoadBalancerEnabled",
                type: {
                    name: "Boolean"
                }
            }, defaultDomain: {
                serializedName: "properties.defaultDomain",
                readOnly: true,
                xmlName: "properties.defaultDomain",
                type: {
                    name: "String"
                }
            }, staticIp: {
                serializedName: "properties.staticIp",
                xmlName: "properties.staticIp",
                type: {
                    name: "String"
                }
            }, environmentType: {
                serializedName: "properties.environmentType",
                xmlName: "properties.environmentType",
                type: {
                    name: "String"
                }
            }, arcConfiguration: {
                serializedName: "properties.arcConfiguration",
                xmlName: "properties.arcConfiguration",
                type: {
                    name: "Composite",
                    className: "ArcConfiguration"
                }
            }, appLogsConfiguration: {
                serializedName: "properties.appLogsConfiguration",
                xmlName: "properties.appLogsConfiguration",
                type: {
                    name: "Composite",
                    className: "AppLogsConfiguration"
                }
            }, containerAppsConfiguration: {
                serializedName: "properties.containerAppsConfiguration",
                xmlName: "properties.containerAppsConfiguration",
                type: {
                    name: "Composite",
                    className: "ContainerAppsConfiguration"
                }
            }, aksResourceID: {
                serializedName: "properties.aksResourceID",
                xmlName: "properties.aksResourceID",
                type: {
                    name: "String"
                }
            } })
    }
};
export const StaticSiteARMResource = {
    serializedName: "StaticSiteARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteARMResource",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { sku: {
                serializedName: "sku",
                xmlName: "sku",
                type: {
                    name: "Composite",
                    className: "SkuDescription"
                }
            }, identity: {
                serializedName: "identity",
                xmlName: "identity",
                type: {
                    name: "Composite",
                    className: "ManagedServiceIdentity"
                }
            }, defaultHostname: {
                serializedName: "properties.defaultHostname",
                readOnly: true,
                xmlName: "properties.defaultHostname",
                type: {
                    name: "String"
                }
            }, repositoryUrl: {
                serializedName: "properties.repositoryUrl",
                xmlName: "properties.repositoryUrl",
                type: {
                    name: "String"
                }
            }, branch: {
                serializedName: "properties.branch",
                xmlName: "properties.branch",
                type: {
                    name: "String"
                }
            }, customDomains: {
                serializedName: "properties.customDomains",
                readOnly: true,
                xmlName: "properties.customDomains",
                xmlElementName: "StaticSiteCustomDomainsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, repositoryToken: {
                serializedName: "properties.repositoryToken",
                xmlName: "properties.repositoryToken",
                type: {
                    name: "String"
                }
            }, buildProperties: {
                serializedName: "properties.buildProperties",
                xmlName: "properties.buildProperties",
                type: {
                    name: "Composite",
                    className: "StaticSiteBuildProperties"
                }
            }, privateEndpointConnections: {
                serializedName: "properties.privateEndpointConnections",
                readOnly: true,
                xmlName: "properties.privateEndpointConnections",
                xmlElementName: "ResponseMessageEnvelopeRemotePrivateEndpointConnection",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ResponseMessageEnvelopeRemotePrivateEndpointConnection"
                        }
                    }
                }
            }, stagingEnvironmentPolicy: {
                serializedName: "properties.stagingEnvironmentPolicy",
                xmlName: "properties.stagingEnvironmentPolicy",
                type: {
                    name: "Enum",
                    allowedValues: ["Enabled", "Disabled"]
                }
            }, allowConfigFileUpdates: {
                serializedName: "properties.allowConfigFileUpdates",
                xmlName: "properties.allowConfigFileUpdates",
                type: {
                    name: "Boolean"
                }
            }, templateProperties: {
                serializedName: "properties.templateProperties",
                xmlName: "properties.templateProperties",
                type: {
                    name: "Composite",
                    className: "StaticSiteTemplateOptions"
                }
            }, contentDistributionEndpoint: {
                serializedName: "properties.contentDistributionEndpoint",
                readOnly: true,
                xmlName: "properties.contentDistributionEndpoint",
                type: {
                    name: "String"
                }
            }, keyVaultReferenceIdentity: {
                serializedName: "properties.keyVaultReferenceIdentity",
                readOnly: true,
                xmlName: "properties.keyVaultReferenceIdentity",
                type: {
                    name: "String"
                }
            }, userProvidedFunctionApps: {
                serializedName: "properties.userProvidedFunctionApps",
                readOnly: true,
                xmlName: "properties.userProvidedFunctionApps",
                xmlElementName: "StaticSiteUserProvidedFunctionApp",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteUserProvidedFunctionApp"
                        }
                    }
                }
            }, linkedBackends: {
                serializedName: "properties.linkedBackends",
                readOnly: true,
                xmlName: "properties.linkedBackends",
                xmlElementName: "StaticSiteLinkedBackend",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteLinkedBackend"
                        }
                    }
                }
            }, provider: {
                serializedName: "properties.provider",
                xmlName: "properties.provider",
                type: {
                    name: "String"
                }
            }, enterpriseGradeCdnStatus: {
                serializedName: "properties.enterpriseGradeCdnStatus",
                xmlName: "properties.enterpriseGradeCdnStatus",
                type: {
                    name: "String"
                }
            }, publicNetworkAccess: {
                serializedName: "properties.publicNetworkAccess",
                xmlName: "properties.publicNetworkAccess",
                type: {
                    name: "String"
                }
            }, databaseConnections: {
                serializedName: "properties.databaseConnections",
                readOnly: true,
                xmlName: "properties.databaseConnections",
                xmlElementName: "DatabaseConnectionOverview",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DatabaseConnectionOverview"
                        }
                    }
                }
            } })
    }
};
export const PremierAddOn = {
    serializedName: "PremierAddOn",
    type: {
        name: "Composite",
        className: "PremierAddOn",
        modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { sku: {
                serializedName: "properties.sku",
                xmlName: "properties.sku",
                type: {
                    name: "String"
                }
            }, product: {
                serializedName: "properties.product",
                xmlName: "properties.product",
                type: {
                    name: "String"
                }
            }, vendor: {
                serializedName: "properties.vendor",
                xmlName: "properties.vendor",
                type: {
                    name: "String"
                }
            }, marketplacePublisher: {
                serializedName: "properties.marketplacePublisher",
                xmlName: "properties.marketplacePublisher",
                type: {
                    name: "String"
                }
            }, marketplaceOffer: {
                serializedName: "properties.marketplaceOffer",
                xmlName: "properties.marketplaceOffer",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AppServiceCertificateOrderPatchResource = {
    serializedName: "AppServiceCertificateOrderPatchResource",
    type: {
        name: "Composite",
        className: "AppServiceCertificateOrderPatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { certificates: {
                serializedName: "properties.certificates",
                xmlName: "properties.certificates",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Composite", className: "AppServiceCertificate" }
                    }
                }
            }, distinguishedName: {
                serializedName: "properties.distinguishedName",
                xmlName: "properties.distinguishedName",
                type: {
                    name: "String"
                }
            }, domainVerificationToken: {
                serializedName: "properties.domainVerificationToken",
                readOnly: true,
                xmlName: "properties.domainVerificationToken",
                type: {
                    name: "String"
                }
            }, validityInYears: {
                defaultValue: 1,
                serializedName: "properties.validityInYears",
                xmlName: "properties.validityInYears",
                type: {
                    name: "Number"
                }
            }, keySize: {
                defaultValue: 2048,
                serializedName: "properties.keySize",
                xmlName: "properties.keySize",
                type: {
                    name: "Number"
                }
            }, productType: {
                serializedName: "properties.productType",
                xmlName: "properties.productType",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "StandardDomainValidatedSsl",
                        "StandardDomainValidatedWildCardSsl"
                    ]
                }
            }, autoRenew: {
                defaultValue: true,
                serializedName: "properties.autoRenew",
                xmlName: "properties.autoRenew",
                type: {
                    name: "Boolean"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                    ]
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Pendingissuance",
                        "Issued",
                        "Revoked",
                        "Canceled",
                        "Denied",
                        "Pendingrevocation",
                        "PendingRekey",
                        "Unused",
                        "Expired",
                        "NotSubmitted"
                    ]
                }
            }, signedCertificate: {
                serializedName: "properties.signedCertificate",
                xmlName: "properties.signedCertificate",
                type: {
                    name: "Composite",
                    className: "CertificateDetails"
                }
            }, csr: {
                serializedName: "properties.csr",
                xmlName: "properties.csr",
                type: {
                    name: "String"
                }
            }, intermediate: {
                serializedName: "properties.intermediate",
                xmlName: "properties.intermediate",
                type: {
                    name: "Composite",
                    className: "CertificateDetails"
                }
            }, root: {
                serializedName: "properties.root",
                xmlName: "properties.root",
                type: {
                    name: "Composite",
                    className: "CertificateDetails"
                }
            }, serialNumber: {
                serializedName: "properties.serialNumber",
                readOnly: true,
                xmlName: "properties.serialNumber",
                type: {
                    name: "String"
                }
            }, lastCertificateIssuanceTime: {
                serializedName: "properties.lastCertificateIssuanceTime",
                readOnly: true,
                xmlName: "properties.lastCertificateIssuanceTime",
                type: {
                    name: "DateTime"
                }
            }, expirationTime: {
                serializedName: "properties.expirationTime",
                readOnly: true,
                xmlName: "properties.expirationTime",
                type: {
                    name: "DateTime"
                }
            }, isPrivateKeyExternal: {
                serializedName: "properties.isPrivateKeyExternal",
                readOnly: true,
                xmlName: "properties.isPrivateKeyExternal",
                type: {
                    name: "Boolean"
                }
            }, appServiceCertificateNotRenewableReasons: {
                serializedName: "properties.appServiceCertificateNotRenewableReasons",
                readOnly: true,
                xmlName: "properties.appServiceCertificateNotRenewableReasons",
                xmlElementName: "ResourceNotRenewableReason",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, nextAutoRenewalTimeStamp: {
                serializedName: "properties.nextAutoRenewalTimeStamp",
                readOnly: true,
                xmlName: "properties.nextAutoRenewalTimeStamp",
                type: {
                    name: "DateTime"
                }
            }, contact: {
                serializedName: "properties.contact",
                xmlName: "properties.contact",
                type: {
                    name: "Composite",
                    className: "CertificateOrderContact"
                }
            } })
    }
};
export const AppServiceCertificatePatchResource = {
    serializedName: "AppServiceCertificatePatchResource",
    type: {
        name: "Composite",
        className: "AppServiceCertificatePatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { keyVaultId: {
                serializedName: "properties.keyVaultId",
                xmlName: "properties.keyVaultId",
                type: {
                    name: "String"
                }
            }, keyVaultSecretName: {
                serializedName: "properties.keyVaultSecretName",
                xmlName: "properties.keyVaultSecretName",
                type: {
                    name: "String"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Initialized",
                        "WaitingOnCertificateOrder",
                        "Succeeded",
                        "CertificateOrderFailed",
                        "OperationNotPermittedOnKeyVault",
                        "AzureServiceUnauthorizedToAccessKeyVault",
                        "KeyVaultDoesNotExist",
                        "KeyVaultSecretDoesNotExist",
                        "UnknownError",
                        "ExternalPrivateKey",
                        "Unknown"
                    ]
                }
            } })
    }
};
export const ReissueCertificateOrderRequest = {
    serializedName: "ReissueCertificateOrderRequest",
    type: {
        name: "Composite",
        className: "ReissueCertificateOrderRequest",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { keySize: {
                serializedName: "properties.keySize",
                xmlName: "properties.keySize",
                type: {
                    name: "Number"
                }
            }, delayExistingRevokeInHours: {
                serializedName: "properties.delayExistingRevokeInHours",
                xmlName: "properties.delayExistingRevokeInHours",
                type: {
                    name: "Number"
                }
            }, csr: {
                serializedName: "properties.csr",
                xmlName: "properties.csr",
                type: {
                    name: "String"
                }
            }, isPrivateKeyExternal: {
                serializedName: "properties.isPrivateKeyExternal",
                xmlName: "properties.isPrivateKeyExternal",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const RenewCertificateOrderRequest = {
    serializedName: "RenewCertificateOrderRequest",
    type: {
        name: "Composite",
        className: "RenewCertificateOrderRequest",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { keySize: {
                serializedName: "properties.keySize",
                xmlName: "properties.keySize",
                type: {
                    name: "Number"
                }
            }, csr: {
                serializedName: "properties.csr",
                xmlName: "properties.csr",
                type: {
                    name: "String"
                }
            }, isPrivateKeyExternal: {
                serializedName: "properties.isPrivateKeyExternal",
                xmlName: "properties.isPrivateKeyExternal",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const DetectorResponse = {
    serializedName: "DetectorResponse",
    type: {
        name: "Composite",
        className: "DetectorResponse",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { metadata: {
                serializedName: "properties.metadata",
                xmlName: "properties.metadata",
                type: {
                    name: "Composite",
                    className: "DetectorInfo"
                }
            }, dataset: {
                serializedName: "properties.dataset",
                xmlName: "properties.dataset",
                xmlElementName: "DiagnosticData",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DiagnosticData"
                        }
                    }
                }
            }, status: {
                serializedName: "properties.status",
                xmlName: "properties.status",
                type: {
                    name: "Composite",
                    className: "Status"
                }
            }, dataProvidersMetadata: {
                serializedName: "properties.dataProvidersMetadata",
                xmlName: "properties.dataProvidersMetadata",
                xmlElementName: "DataProviderMetadata",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DataProviderMetadata"
                        }
                    }
                }
            }, suggestedUtterances: {
                serializedName: "properties.suggestedUtterances",
                xmlName: "properties.suggestedUtterances",
                type: {
                    name: "Composite",
                    className: "QueryUtterancesResults"
                }
            } })
    }
};
export const DomainPatchResource = {
    serializedName: "DomainPatchResource",
    type: {
        name: "Composite",
        className: "DomainPatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { contactAdmin: {
                serializedName: "properties.contactAdmin",
                xmlName: "properties.contactAdmin",
                type: {
                    name: "Composite",
                    className: "Contact"
                }
            }, contactBilling: {
                serializedName: "properties.contactBilling",
                xmlName: "properties.contactBilling",
                type: {
                    name: "Composite",
                    className: "Contact"
                }
            }, contactRegistrant: {
                serializedName: "properties.contactRegistrant",
                xmlName: "properties.contactRegistrant",
                type: {
                    name: "Composite",
                    className: "Contact"
                }
            }, contactTech: {
                serializedName: "properties.contactTech",
                xmlName: "properties.contactTech",
                type: {
                    name: "Composite",
                    className: "Contact"
                }
            }, registrationStatus: {
                serializedName: "properties.registrationStatus",
                readOnly: true,
                xmlName: "properties.registrationStatus",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Active",
                        "Awaiting",
                        "Cancelled",
                        "Confiscated",
                        "Disabled",
                        "Excluded",
                        "Expired",
                        "Failed",
                        "Held",
                        "Locked",
                        "Parked",
                        "Pending",
                        "Reserved",
                        "Reverted",
                        "Suspended",
                        "Transferred",
                        "Unknown",
                        "Unlocked",
                        "Unparked",
                        "Updated",
                        "JsonConverterFailed"
                    ]
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                    ]
                }
            }, nameServers: {
                serializedName: "properties.nameServers",
                readOnly: true,
                xmlName: "properties.nameServers",
                xmlElementName: "DomainPatchResourcePropertiesNameServersItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, privacy: {
                serializedName: "properties.privacy",
                xmlName: "properties.privacy",
                type: {
                    name: "Boolean"
                }
            }, createdTime: {
                serializedName: "properties.createdTime",
                readOnly: true,
                xmlName: "properties.createdTime",
                type: {
                    name: "DateTime"
                }
            }, expirationTime: {
                serializedName: "properties.expirationTime",
                readOnly: true,
                xmlName: "properties.expirationTime",
                type: {
                    name: "DateTime"
                }
            }, lastRenewedTime: {
                serializedName: "properties.lastRenewedTime",
                readOnly: true,
                xmlName: "properties.lastRenewedTime",
                type: {
                    name: "DateTime"
                }
            }, autoRenew: {
                defaultValue: true,
                serializedName: "properties.autoRenew",
                xmlName: "properties.autoRenew",
                type: {
                    name: "Boolean"
                }
            }, readyForDnsRecordManagement: {
                serializedName: "properties.readyForDnsRecordManagement",
                readOnly: true,
                xmlName: "properties.readyForDnsRecordManagement",
                type: {
                    name: "Boolean"
                }
            }, managedHostNames: {
                serializedName: "properties.managedHostNames",
                readOnly: true,
                xmlName: "properties.managedHostNames",
                xmlElementName: "HostName",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HostName"
                        }
                    }
                }
            }, consent: {
                serializedName: "properties.consent",
                xmlName: "properties.consent",
                type: {
                    name: "Composite",
                    className: "DomainPurchaseConsent"
                }
            }, domainNotRenewableReasons: {
                serializedName: "properties.domainNotRenewableReasons",
                readOnly: true,
                xmlName: "properties.domainNotRenewableReasons",
                xmlElementName: "ResourceNotRenewableReason",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, dnsType: {
                serializedName: "properties.dnsType",
                xmlName: "properties.dnsType",
                type: {
                    name: "Enum",
                    allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"]
                }
            }, dnsZoneId: {
                serializedName: "properties.dnsZoneId",
                xmlName: "properties.dnsZoneId",
                type: {
                    name: "String"
                }
            }, targetDnsType: {
                serializedName: "properties.targetDnsType",
                xmlName: "properties.targetDnsType",
                type: {
                    name: "Enum",
                    allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"]
                }
            }, authCode: {
                serializedName: "properties.authCode",
                xmlName: "properties.authCode",
                type: {
                    name: "String"
                }
            } })
    }
};
export const DomainOwnershipIdentifier = {
    serializedName: "DomainOwnershipIdentifier",
    type: {
        name: "Composite",
        className: "DomainOwnershipIdentifier",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { ownershipId: {
                serializedName: "properties.ownershipId",
                xmlName: "properties.ownershipId",
                type: {
                    name: "String"
                }
            } })
    }
};
export const TopLevelDomain = {
    serializedName: "TopLevelDomain",
    type: {
        name: "Composite",
        className: "TopLevelDomain",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { privacy: {
                serializedName: "properties.privacy",
                xmlName: "properties.privacy",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const CustomDnsSuffixConfiguration = {
    serializedName: "CustomDnsSuffixConfiguration",
    type: {
        name: "Composite",
        className: "CustomDnsSuffixConfiguration",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: ["Succeeded", "Failed", "Degraded", "InProgress"]
                }
            }, provisioningDetails: {
                serializedName: "properties.provisioningDetails",
                readOnly: true,
                xmlName: "properties.provisioningDetails",
                type: {
                    name: "String"
                }
            }, dnsSuffix: {
                serializedName: "properties.dnsSuffix",
                xmlName: "properties.dnsSuffix",
                type: {
                    name: "String"
                }
            }, certificateUrl: {
                serializedName: "properties.certificateUrl",
                xmlName: "properties.certificateUrl",
                type: {
                    name: "String"
                }
            }, keyVaultReferenceIdentity: {
                serializedName: "properties.keyVaultReferenceIdentity",
                xmlName: "properties.keyVaultReferenceIdentity",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AseV3NetworkingConfiguration = {
    serializedName: "AseV3NetworkingConfiguration",
    type: {
        name: "Composite",
        className: "AseV3NetworkingConfiguration",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { windowsOutboundIpAddresses: {
                serializedName: "properties.windowsOutboundIpAddresses",
                readOnly: true,
                xmlName: "properties.windowsOutboundIpAddresses",
                xmlElementName: "AseV3NetworkingConfigurationPropertiesWindowsOutboundIpAddressesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, linuxOutboundIpAddresses: {
                serializedName: "properties.linuxOutboundIpAddresses",
                readOnly: true,
                xmlName: "properties.linuxOutboundIpAddresses",
                xmlElementName: "AseV3NetworkingConfigurationPropertiesLinuxOutboundIpAddressesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, externalInboundIpAddresses: {
                serializedName: "properties.externalInboundIpAddresses",
                readOnly: true,
                xmlName: "properties.externalInboundIpAddresses",
                xmlElementName: "AseV3NetworkingConfigurationPropertiesExternalInboundIpAddressesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, internalInboundIpAddresses: {
                serializedName: "properties.internalInboundIpAddresses",
                readOnly: true,
                xmlName: "properties.internalInboundIpAddresses",
                xmlElementName: "AseV3NetworkingConfigurationPropertiesInternalInboundIpAddressesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, allowNewPrivateEndpointConnections: {
                serializedName: "properties.allowNewPrivateEndpointConnections",
                xmlName: "properties.allowNewPrivateEndpointConnections",
                type: {
                    name: "Boolean"
                }
            }, ftpEnabled: {
                serializedName: "properties.ftpEnabled",
                xmlName: "properties.ftpEnabled",
                type: {
                    name: "Boolean"
                }
            }, remoteDebugEnabled: {
                serializedName: "properties.remoteDebugEnabled",
                xmlName: "properties.remoteDebugEnabled",
                type: {
                    name: "Boolean"
                }
            }, inboundIpAddressOverride: {
                serializedName: "properties.inboundIpAddressOverride",
                xmlName: "properties.inboundIpAddressOverride",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AppServiceEnvironmentPatchResource = {
    serializedName: "AppServiceEnvironmentPatchResource",
    type: {
        name: "Composite",
        className: "AppServiceEnvironmentPatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                    ]
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "Enum",
                    allowedValues: ["Preparing", "Ready", "Scaling", "Deleting"]
                }
            }, virtualNetwork: {
                serializedName: "properties.virtualNetwork",
                xmlName: "properties.virtualNetwork",
                type: {
                    name: "Composite",
                    className: "VirtualNetworkProfile"
                }
            }, internalLoadBalancingMode: {
                serializedName: "properties.internalLoadBalancingMode",
                xmlName: "properties.internalLoadBalancingMode",
                type: {
                    name: "String"
                }
            }, multiSize: {
                serializedName: "properties.multiSize",
                xmlName: "properties.multiSize",
                type: {
                    name: "String"
                }
            }, multiRoleCount: {
                serializedName: "properties.multiRoleCount",
                readOnly: true,
                xmlName: "properties.multiRoleCount",
                type: {
                    name: "Number"
                }
            }, ipsslAddressCount: {
                serializedName: "properties.ipsslAddressCount",
                xmlName: "properties.ipsslAddressCount",
                type: {
                    name: "Number"
                }
            }, dnsSuffix: {
                serializedName: "properties.dnsSuffix",
                xmlName: "properties.dnsSuffix",
                type: {
                    name: "String"
                }
            }, maximumNumberOfMachines: {
                serializedName: "properties.maximumNumberOfMachines",
                readOnly: true,
                xmlName: "properties.maximumNumberOfMachines",
                type: {
                    name: "Number"
                }
            }, frontEndScaleFactor: {
                serializedName: "properties.frontEndScaleFactor",
                xmlName: "properties.frontEndScaleFactor",
                type: {
                    name: "Number"
                }
            }, suspended: {
                serializedName: "properties.suspended",
                readOnly: true,
                xmlName: "properties.suspended",
                type: {
                    name: "Boolean"
                }
            }, clusterSettings: {
                serializedName: "properties.clusterSettings",
                xmlName: "properties.clusterSettings",
                xmlElementName: "NameValuePair",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "NameValuePair"
                        }
                    }
                }
            }, userWhitelistedIpRanges: {
                serializedName: "properties.userWhitelistedIpRanges",
                xmlName: "properties.userWhitelistedIpRanges",
                xmlElementName: "AppServiceEnvironmentUserWhitelistedIpRangesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, hasLinuxWorkers: {
                serializedName: "properties.hasLinuxWorkers",
                readOnly: true,
                xmlName: "properties.hasLinuxWorkers",
                type: {
                    name: "Boolean"
                }
            }, upgradePreference: {
                defaultValue: "None",
                serializedName: "properties.upgradePreference",
                xmlName: "properties.upgradePreference",
                type: {
                    name: "String"
                }
            }, dedicatedHostCount: {
                serializedName: "properties.dedicatedHostCount",
                xmlName: "properties.dedicatedHostCount",
                type: {
                    name: "Number"
                }
            }, zoneRedundant: {
                serializedName: "properties.zoneRedundant",
                xmlName: "properties.zoneRedundant",
                type: {
                    name: "Boolean"
                }
            }, customDnsSuffixConfiguration: {
                serializedName: "properties.customDnsSuffixConfiguration",
                xmlName: "properties.customDnsSuffixConfiguration",
                type: {
                    name: "Composite",
                    className: "CustomDnsSuffixConfiguration"
                }
            }, networkingConfiguration: {
                serializedName: "properties.networkingConfiguration",
                xmlName: "properties.networkingConfiguration",
                type: {
                    name: "Composite",
                    className: "AseV3NetworkingConfiguration"
                }
            }, upgradeAvailability: {
                serializedName: "properties.upgradeAvailability",
                readOnly: true,
                xmlName: "properties.upgradeAvailability",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AddressResponse = {
    serializedName: "AddressResponse",
    type: {
        name: "Composite",
        className: "AddressResponse",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { serviceIpAddress: {
                serializedName: "properties.serviceIpAddress",
                xmlName: "properties.serviceIpAddress",
                type: {
                    name: "String"
                }
            }, internalIpAddress: {
                serializedName: "properties.internalIpAddress",
                xmlName: "properties.internalIpAddress",
                type: {
                    name: "String"
                }
            }, outboundIpAddresses: {
                serializedName: "properties.outboundIpAddresses",
                xmlName: "properties.outboundIpAddresses",
                xmlElementName: "AddressResponsePropertiesOutboundIpAddressesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, vipMappings: {
                serializedName: "properties.vipMappings",
                xmlName: "properties.vipMappings",
                xmlElementName: "VirtualIPMapping",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VirtualIPMapping"
                        }
                    }
                }
            } })
    }
};
export const PushSettings = {
    serializedName: "PushSettings",
    type: {
        name: "Composite",
        className: "PushSettings",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { isPushEnabled: {
                serializedName: "properties.isPushEnabled",
                xmlName: "properties.isPushEnabled",
                type: {
                    name: "Boolean"
                }
            }, tagWhitelistJson: {
                serializedName: "properties.tagWhitelistJson",
                xmlName: "properties.tagWhitelistJson",
                type: {
                    name: "String"
                }
            }, tagsRequiringAuth: {
                serializedName: "properties.tagsRequiringAuth",
                xmlName: "properties.tagsRequiringAuth",
                type: {
                    name: "String"
                }
            }, dynamicTagsJson: {
                serializedName: "properties.dynamicTagsJson",
                xmlName: "properties.dynamicTagsJson",
                type: {
                    name: "String"
                }
            } })
    }
};
export const WorkerPoolResource = {
    serializedName: "WorkerPoolResource",
    type: {
        name: "Composite",
        className: "WorkerPoolResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { sku: {
                serializedName: "sku",
                xmlName: "sku",
                type: {
                    name: "Composite",
                    className: "SkuDescription"
                }
            }, workerSizeId: {
                serializedName: "properties.workerSizeId",
                xmlName: "properties.workerSizeId",
                type: {
                    name: "Number"
                }
            }, computeMode: {
                serializedName: "properties.computeMode",
                xmlName: "properties.computeMode",
                type: {
                    name: "Enum",
                    allowedValues: ["Shared", "Dedicated", "Dynamic"]
                }
            }, workerSize: {
                serializedName: "properties.workerSize",
                xmlName: "properties.workerSize",
                type: {
                    name: "String"
                }
            }, workerCount: {
                serializedName: "properties.workerCount",
                xmlName: "properties.workerCount",
                type: {
                    name: "Number"
                }
            }, instanceNames: {
                serializedName: "properties.instanceNames",
                readOnly: true,
                xmlName: "properties.instanceNames",
                xmlElementName: "WorkerPoolInstanceNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            } })
    }
};
export const ResourceMetricDefinition = {
    serializedName: "ResourceMetricDefinition",
    type: {
        name: "Composite",
        className: "ResourceMetricDefinition",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { unit: {
                serializedName: "properties.unit",
                readOnly: true,
                xmlName: "properties.unit",
                type: {
                    name: "String"
                }
            }, primaryAggregationType: {
                serializedName: "properties.primaryAggregationType",
                readOnly: true,
                xmlName: "properties.primaryAggregationType",
                type: {
                    name: "String"
                }
            }, metricAvailabilities: {
                serializedName: "properties.metricAvailabilities",
                readOnly: true,
                xmlName: "properties.metricAvailabilities",
                xmlElementName: "ResourceMetricAvailability",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ResourceMetricAvailability"
                        }
                    }
                }
            }, resourceUri: {
                serializedName: "properties.resourceUri",
                readOnly: true,
                xmlName: "properties.resourceUri",
                type: {
                    name: "String"
                }
            }, properties: {
                serializedName: "properties.properties",
                readOnly: true,
                xmlName: "properties.properties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            } })
    }
};
export const Usage = {
    serializedName: "Usage",
    type: {
        name: "Composite",
        className: "Usage",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { displayName: {
                serializedName: "properties.displayName",
                readOnly: true,
                xmlName: "properties.displayName",
                type: {
                    name: "String"
                }
            }, resourceName: {
                serializedName: "properties.resourceName",
                readOnly: true,
                xmlName: "properties.resourceName",
                type: {
                    name: "String"
                }
            }, unit: {
                serializedName: "properties.unit",
                readOnly: true,
                xmlName: "properties.unit",
                type: {
                    name: "String"
                }
            }, currentValue: {
                serializedName: "properties.currentValue",
                readOnly: true,
                xmlName: "properties.currentValue",
                type: {
                    name: "Number"
                }
            }, limit: {
                serializedName: "properties.limit",
                readOnly: true,
                xmlName: "properties.limit",
                type: {
                    name: "Number"
                }
            }, nextResetTime: {
                serializedName: "properties.nextResetTime",
                readOnly: true,
                xmlName: "properties.nextResetTime",
                type: {
                    name: "DateTime"
                }
            }, computeMode: {
                serializedName: "properties.computeMode",
                readOnly: true,
                xmlName: "properties.computeMode",
                type: {
                    name: "Enum",
                    allowedValues: ["Shared", "Dedicated", "Dynamic"]
                }
            }, siteMode: {
                serializedName: "properties.siteMode",
                readOnly: true,
                xmlName: "properties.siteMode",
                type: {
                    name: "String"
                }
            } })
    }
};
export const RemotePrivateEndpointConnectionARMResource = {
    serializedName: "RemotePrivateEndpointConnectionARMResource",
    type: {
        name: "Composite",
        className: "RemotePrivateEndpointConnectionARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            }, privateEndpoint: {
                serializedName: "properties.privateEndpoint",
                xmlName: "properties.privateEndpoint",
                type: {
                    name: "Composite",
                    className: "ArmIdWrapper"
                }
            }, privateLinkServiceConnectionState: {
                serializedName: "properties.privateLinkServiceConnectionState",
                xmlName: "properties.privateLinkServiceConnectionState",
                type: {
                    name: "Composite",
                    className: "PrivateLinkConnectionState"
                }
            }, ipAddresses: {
                serializedName: "properties.ipAddresses",
                xmlName: "properties.ipAddresses",
                xmlElementName: "RemotePrivateEndpointConnectionARMResourcePropertiesIpAddressesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            } })
    }
};
export const PrivateLinkConnectionApprovalRequestResource = {
    serializedName: "PrivateLinkConnectionApprovalRequestResource",
    type: {
        name: "Composite",
        className: "PrivateLinkConnectionApprovalRequestResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { privateLinkServiceConnectionState: {
                serializedName: "properties.privateLinkServiceConnectionState",
                xmlName: "properties.privateLinkServiceConnectionState",
                type: {
                    name: "Composite",
                    className: "PrivateLinkConnectionState"
                }
            } })
    }
};
export const AppServicePlanPatchResource = {
    serializedName: "AppServicePlanPatchResource",
    type: {
        name: "Composite",
        className: "AppServicePlanPatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { workerTierName: {
                serializedName: "properties.workerTierName",
                xmlName: "properties.workerTierName",
                type: {
                    name: "String"
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "Enum",
                    allowedValues: ["Ready", "Pending", "Creating"]
                }
            }, subscription: {
                serializedName: "properties.subscription",
                readOnly: true,
                xmlName: "properties.subscription",
                type: {
                    name: "String"
                }
            }, hostingEnvironmentProfile: {
                serializedName: "properties.hostingEnvironmentProfile",
                xmlName: "properties.hostingEnvironmentProfile",
                type: {
                    name: "Composite",
                    className: "HostingEnvironmentProfile"
                }
            }, maximumNumberOfWorkers: {
                serializedName: "properties.maximumNumberOfWorkers",
                readOnly: true,
                xmlName: "properties.maximumNumberOfWorkers",
                type: {
                    name: "Number"
                }
            }, numberOfWorkers: {
                serializedName: "properties.numberOfWorkers",
                readOnly: true,
                xmlName: "properties.numberOfWorkers",
                type: {
                    name: "Number"
                }
            }, geoRegion: {
                serializedName: "properties.geoRegion",
                readOnly: true,
                xmlName: "properties.geoRegion",
                type: {
                    name: "String"
                }
            }, perSiteScaling: {
                defaultValue: false,
                serializedName: "properties.perSiteScaling",
                xmlName: "properties.perSiteScaling",
                type: {
                    name: "Boolean"
                }
            }, elasticScaleEnabled: {
                serializedName: "properties.elasticScaleEnabled",
                xmlName: "properties.elasticScaleEnabled",
                type: {
                    name: "Boolean"
                }
            }, maximumElasticWorkerCount: {
                serializedName: "properties.maximumElasticWorkerCount",
                xmlName: "properties.maximumElasticWorkerCount",
                type: {
                    name: "Number"
                }
            }, numberOfSites: {
                serializedName: "properties.numberOfSites",
                readOnly: true,
                xmlName: "properties.numberOfSites",
                type: {
                    name: "Number"
                }
            }, isSpot: {
                serializedName: "properties.isSpot",
                xmlName: "properties.isSpot",
                type: {
                    name: "Boolean"
                }
            }, spotExpirationTime: {
                serializedName: "properties.spotExpirationTime",
                xmlName: "properties.spotExpirationTime",
                type: {
                    name: "DateTime"
                }
            }, freeOfferExpirationTime: {
                serializedName: "properties.freeOfferExpirationTime",
                xmlName: "properties.freeOfferExpirationTime",
                type: {
                    name: "DateTime"
                }
            }, resourceGroup: {
                serializedName: "properties.resourceGroup",
                readOnly: true,
                xmlName: "properties.resourceGroup",
                type: {
                    name: "String"
                }
            }, reserved: {
                defaultValue: false,
                serializedName: "properties.reserved",
                xmlName: "properties.reserved",
                type: {
                    name: "Boolean"
                }
            }, isXenon: {
                defaultValue: false,
                serializedName: "properties.isXenon",
                xmlName: "properties.isXenon",
                type: {
                    name: "Boolean"
                }
            }, hyperV: {
                defaultValue: false,
                serializedName: "properties.hyperV",
                xmlName: "properties.hyperV",
                type: {
                    name: "Boolean"
                }
            }, targetWorkerCount: {
                serializedName: "properties.targetWorkerCount",
                xmlName: "properties.targetWorkerCount",
                type: {
                    name: "Number"
                }
            }, targetWorkerSizeId: {
                serializedName: "properties.targetWorkerSizeId",
                xmlName: "properties.targetWorkerSizeId",
                type: {
                    name: "Number"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                    ]
                }
            }, kubeEnvironmentProfile: {
                serializedName: "properties.kubeEnvironmentProfile",
                xmlName: "properties.kubeEnvironmentProfile",
                type: {
                    name: "Composite",
                    className: "KubeEnvironmentProfile"
                }
            }, zoneRedundant: {
                defaultValue: false,
                serializedName: "properties.zoneRedundant",
                xmlName: "properties.zoneRedundant",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const HybridConnection = {
    serializedName: "HybridConnection",
    type: {
        name: "Composite",
        className: "HybridConnection",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { serviceBusNamespace: {
                serializedName: "properties.serviceBusNamespace",
                xmlName: "properties.serviceBusNamespace",
                type: {
                    name: "String"
                }
            }, relayName: {
                serializedName: "properties.relayName",
                xmlName: "properties.relayName",
                type: {
                    name: "String"
                }
            }, relayArmUri: {
                serializedName: "properties.relayArmUri",
                xmlName: "properties.relayArmUri",
                type: {
                    name: "String"
                }
            }, hostname: {
                serializedName: "properties.hostname",
                xmlName: "properties.hostname",
                type: {
                    name: "String"
                }
            }, port: {
                serializedName: "properties.port",
                xmlName: "properties.port",
                type: {
                    name: "Number"
                }
            }, sendKeyName: {
                serializedName: "properties.sendKeyName",
                xmlName: "properties.sendKeyName",
                type: {
                    name: "String"
                }
            }, sendKeyValue: {
                serializedName: "properties.sendKeyValue",
                xmlName: "properties.sendKeyValue",
                type: {
                    name: "String"
                }
            }, serviceBusSuffix: {
                serializedName: "properties.serviceBusSuffix",
                xmlName: "properties.serviceBusSuffix",
                type: {
                    name: "String"
                }
            } })
    }
};
export const HybridConnectionKey = {
    serializedName: "HybridConnectionKey",
    type: {
        name: "Composite",
        className: "HybridConnectionKey",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { sendKeyName: {
                serializedName: "properties.sendKeyName",
                readOnly: true,
                xmlName: "properties.sendKeyName",
                type: {
                    name: "String"
                }
            }, sendKeyValue: {
                serializedName: "properties.sendKeyValue",
                readOnly: true,
                xmlName: "properties.sendKeyValue",
                type: {
                    name: "String"
                }
            } })
    }
};
export const HybridConnectionLimits = {
    serializedName: "HybridConnectionLimits",
    type: {
        name: "Composite",
        className: "HybridConnectionLimits",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { current: {
                serializedName: "properties.current",
                readOnly: true,
                xmlName: "properties.current",
                type: {
                    name: "Number"
                }
            }, maximum: {
                serializedName: "properties.maximum",
                readOnly: true,
                xmlName: "properties.maximum",
                type: {
                    name: "Number"
                }
            } })
    }
};
export const VnetRoute = {
    serializedName: "VnetRoute",
    type: {
        name: "Composite",
        className: "VnetRoute",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { startAddress: {
                serializedName: "properties.startAddress",
                xmlName: "properties.startAddress",
                type: {
                    name: "String"
                }
            }, endAddress: {
                serializedName: "properties.endAddress",
                xmlName: "properties.endAddress",
                type: {
                    name: "String"
                }
            }, routeType: {
                serializedName: "properties.routeType",
                xmlName: "properties.routeType",
                type: {
                    name: "String"
                }
            } })
    }
};
export const VnetInfoResource = {
    serializedName: "VnetInfoResource",
    type: {
        name: "Composite",
        className: "VnetInfoResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { vnetResourceId: {
                serializedName: "properties.vnetResourceId",
                xmlName: "properties.vnetResourceId",
                type: {
                    name: "String"
                }
            }, certThumbprint: {
                serializedName: "properties.certThumbprint",
                readOnly: true,
                xmlName: "properties.certThumbprint",
                type: {
                    name: "String"
                }
            }, certBlob: {
                serializedName: "properties.certBlob",
                xmlName: "properties.certBlob",
                type: {
                    name: "String"
                }
            }, routes: {
                serializedName: "properties.routes",
                readOnly: true,
                xmlName: "properties.routes",
                xmlElementName: "VnetRoute",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VnetRoute"
                        }
                    }
                }
            }, resyncRequired: {
                serializedName: "properties.resyncRequired",
                readOnly: true,
                xmlName: "properties.resyncRequired",
                type: {
                    name: "Boolean"
                }
            }, dnsServers: {
                serializedName: "properties.dnsServers",
                xmlName: "properties.dnsServers",
                type: {
                    name: "String"
                }
            }, isSwift: {
                serializedName: "properties.isSwift",
                xmlName: "properties.isSwift",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const VnetGateway = {
    serializedName: "VnetGateway",
    type: {
        name: "Composite",
        className: "VnetGateway",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { vnetName: {
                serializedName: "properties.vnetName",
                xmlName: "properties.vnetName",
                type: {
                    name: "String"
                }
            }, vpnPackageUri: {
                serializedName: "properties.vpnPackageUri",
                xmlName: "properties.vpnPackageUri",
                type: {
                    name: "String"
                }
            } })
    }
};
export const CertificatePatchResource = {
    serializedName: "CertificatePatchResource",
    type: {
        name: "Composite",
        className: "CertificatePatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { password: {
                serializedName: "properties.password",
                xmlName: "properties.password",
                type: {
                    name: "String"
                }
            }, friendlyName: {
                serializedName: "properties.friendlyName",
                readOnly: true,
                xmlName: "properties.friendlyName",
                type: {
                    name: "String"
                }
            }, subjectName: {
                serializedName: "properties.subjectName",
                readOnly: true,
                xmlName: "properties.subjectName",
                type: {
                    name: "String"
                }
            }, hostNames: {
                serializedName: "properties.hostNames",
                xmlName: "properties.hostNames",
                xmlElementName: "CertificatePatchResourcePropertiesHostNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, pfxBlob: {
                serializedName: "properties.pfxBlob",
                xmlName: "properties.pfxBlob",
                type: {
                    name: "ByteArray"
                }
            }, siteName: {
                serializedName: "properties.siteName",
                readOnly: true,
                xmlName: "properties.siteName",
                type: {
                    name: "String"
                }
            }, selfLink: {
                serializedName: "properties.selfLink",
                readOnly: true,
                xmlName: "properties.selfLink",
                type: {
                    name: "String"
                }
            }, issuer: {
                serializedName: "properties.issuer",
                readOnly: true,
                xmlName: "properties.issuer",
                type: {
                    name: "String"
                }
            }, issueDate: {
                serializedName: "properties.issueDate",
                readOnly: true,
                xmlName: "properties.issueDate",
                type: {
                    name: "DateTime"
                }
            }, expirationDate: {
                serializedName: "properties.expirationDate",
                readOnly: true,
                xmlName: "properties.expirationDate",
                type: {
                    name: "DateTime"
                }
            }, thumbprint: {
                serializedName: "properties.thumbprint",
                readOnly: true,
                xmlName: "properties.thumbprint",
                type: {
                    name: "String"
                }
            }, valid: {
                serializedName: "properties.valid",
                readOnly: true,
                xmlName: "properties.valid",
                type: {
                    name: "Boolean"
                }
            }, cerBlob: {
                serializedName: "properties.cerBlob",
                readOnly: true,
                xmlName: "properties.cerBlob",
                type: {
                    name: "ByteArray"
                }
            }, publicKeyHash: {
                serializedName: "properties.publicKeyHash",
                readOnly: true,
                xmlName: "properties.publicKeyHash",
                type: {
                    name: "String"
                }
            }, hostingEnvironmentProfile: {
                serializedName: "properties.hostingEnvironmentProfile",
                xmlName: "properties.hostingEnvironmentProfile",
                type: {
                    name: "Composite",
                    className: "HostingEnvironmentProfile"
                }
            }, keyVaultId: {
                serializedName: "properties.keyVaultId",
                xmlName: "properties.keyVaultId",
                type: {
                    name: "String"
                }
            }, keyVaultSecretName: {
                serializedName: "properties.keyVaultSecretName",
                xmlName: "properties.keyVaultSecretName",
                type: {
                    name: "String"
                }
            }, keyVaultSecretStatus: {
                serializedName: "properties.keyVaultSecretStatus",
                readOnly: true,
                xmlName: "properties.keyVaultSecretStatus",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Initialized",
                        "WaitingOnCertificateOrder",
                        "Succeeded",
                        "CertificateOrderFailed",
                        "OperationNotPermittedOnKeyVault",
                        "AzureServiceUnauthorizedToAccessKeyVault",
                        "KeyVaultDoesNotExist",
                        "KeyVaultSecretDoesNotExist",
                        "UnknownError",
                        "ExternalPrivateKey",
                        "Unknown"
                    ]
                }
            }, serverFarmId: {
                serializedName: "properties.serverFarmId",
                xmlName: "properties.serverFarmId",
                type: {
                    name: "String"
                }
            }, canonicalName: {
                serializedName: "properties.canonicalName",
                xmlName: "properties.canonicalName",
                type: {
                    name: "String"
                }
            }, domainValidationMethod: {
                serializedName: "properties.domainValidationMethod",
                xmlName: "properties.domainValidationMethod",
                type: {
                    name: "String"
                }
            } })
    }
};
export const DeletedSite = {
    serializedName: "DeletedSite",
    type: {
        name: "Composite",
        className: "DeletedSite",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { deletedSiteId: {
                serializedName: "properties.deletedSiteId",
                readOnly: true,
                xmlName: "properties.deletedSiteId",
                type: {
                    name: "Number"
                }
            }, deletedTimestamp: {
                serializedName: "properties.deletedTimestamp",
                readOnly: true,
                xmlName: "properties.deletedTimestamp",
                type: {
                    name: "String"
                }
            }, subscription: {
                serializedName: "properties.subscription",
                readOnly: true,
                xmlName: "properties.subscription",
                type: {
                    name: "String"
                }
            }, resourceGroup: {
                serializedName: "properties.resourceGroup",
                readOnly: true,
                xmlName: "properties.resourceGroup",
                type: {
                    name: "String"
                }
            }, deletedSiteName: {
                serializedName: "properties.deletedSiteName",
                readOnly: true,
                xmlName: "properties.deletedSiteName",
                type: {
                    name: "String"
                }
            }, slot: {
                serializedName: "properties.slot",
                readOnly: true,
                xmlName: "properties.slot",
                type: {
                    name: "String"
                }
            }, kindPropertiesKind: {
                serializedName: "properties.kind",
                readOnly: true,
                xmlName: "properties.kind",
                type: {
                    name: "String"
                }
            }, geoRegionName: {
                serializedName: "properties.geoRegionName",
                readOnly: true,
                xmlName: "properties.geoRegionName",
                type: {
                    name: "String"
                }
            } })
    }
};
export const DiagnosticCategory = {
    serializedName: "DiagnosticCategory",
    type: {
        name: "Composite",
        className: "DiagnosticCategory",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { description: {
                serializedName: "properties.description",
                readOnly: true,
                xmlName: "properties.description",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AnalysisDefinition = {
    serializedName: "AnalysisDefinition",
    type: {
        name: "Composite",
        className: "AnalysisDefinition",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { description: {
                serializedName: "properties.description",
                readOnly: true,
                xmlName: "properties.description",
                type: {
                    name: "String"
                }
            } })
    }
};
export const DiagnosticAnalysis = {
    serializedName: "DiagnosticAnalysis",
    type: {
        name: "Composite",
        className: "DiagnosticAnalysis",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { startTime: {
                serializedName: "properties.startTime",
                xmlName: "properties.startTime",
                type: {
                    name: "DateTime"
                }
            }, endTime: {
                serializedName: "properties.endTime",
                xmlName: "properties.endTime",
                type: {
                    name: "DateTime"
                }
            }, abnormalTimePeriods: {
                serializedName: "properties.abnormalTimePeriods",
                xmlName: "properties.abnormalTimePeriods",
                xmlElementName: "AbnormalTimePeriod",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AbnormalTimePeriod"
                        }
                    }
                }
            }, payload: {
                serializedName: "properties.payload",
                xmlName: "properties.payload",
                xmlElementName: "AnalysisData",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AnalysisData"
                        }
                    }
                }
            }, nonCorrelatedDetectors: {
                serializedName: "properties.nonCorrelatedDetectors",
                xmlName: "properties.nonCorrelatedDetectors",
                xmlElementName: "DetectorDefinition",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DetectorDefinition"
                        }
                    }
                }
            } })
    }
};
export const DetectorDefinitionResource = {
    serializedName: "DetectorDefinitionResource",
    type: {
        name: "Composite",
        className: "DetectorDefinitionResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { displayName: {
                serializedName: "properties.displayName",
                readOnly: true,
                xmlName: "properties.displayName",
                type: {
                    name: "String"
                }
            }, description: {
                serializedName: "properties.description",
                readOnly: true,
                xmlName: "properties.description",
                type: {
                    name: "String"
                }
            }, rank: {
                serializedName: "properties.rank",
                readOnly: true,
                xmlName: "properties.rank",
                type: {
                    name: "Number"
                }
            }, isEnabled: {
                serializedName: "properties.isEnabled",
                readOnly: true,
                xmlName: "properties.isEnabled",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const DiagnosticDetectorResponse = {
    serializedName: "DiagnosticDetectorResponse",
    type: {
        name: "Composite",
        className: "DiagnosticDetectorResponse",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { startTime: {
                serializedName: "properties.startTime",
                xmlName: "properties.startTime",
                type: {
                    name: "DateTime"
                }
            }, endTime: {
                serializedName: "properties.endTime",
                xmlName: "properties.endTime",
                type: {
                    name: "DateTime"
                }
            }, issueDetected: {
                serializedName: "properties.issueDetected",
                xmlName: "properties.issueDetected",
                type: {
                    name: "Boolean"
                }
            }, detectorDefinition: {
                serializedName: "properties.detectorDefinition",
                xmlName: "properties.detectorDefinition",
                type: {
                    name: "Composite",
                    className: "DetectorDefinition"
                }
            }, metrics: {
                serializedName: "properties.metrics",
                xmlName: "properties.metrics",
                xmlElementName: "DiagnosticMetricSet",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DiagnosticMetricSet"
                        }
                    }
                }
            }, abnormalTimePeriods: {
                serializedName: "properties.abnormalTimePeriods",
                xmlName: "properties.abnormalTimePeriods",
                xmlElementName: "DetectorAbnormalTimePeriod",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DetectorAbnormalTimePeriod"
                        }
                    }
                }
            }, data: {
                serializedName: "properties.data",
                xmlName: "properties.data",
                xmlElementName: "DiagnosticDetectorResponsePropertiesDataItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Sequence",
                            element: {
                                type: {
                                    name: "Composite",
                                    className: "NameValuePair"
                                }
                            }
                        }
                    }
                }
            }, responseMetaData: {
                serializedName: "properties.responseMetaData",
                xmlName: "properties.responseMetaData",
                type: {
                    name: "Composite",
                    className: "ResponseMetaData"
                }
            } })
    }
};
export const Snapshot = {
    serializedName: "Snapshot",
    type: {
        name: "Composite",
        className: "Snapshot",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { time: {
                serializedName: "properties.time",
                readOnly: true,
                xmlName: "properties.time",
                type: {
                    name: "String"
                }
            } })
    }
};
export const KubeEnvironmentPatchResource = {
    serializedName: "KubeEnvironmentPatchResource",
    type: {
        name: "Composite",
        className: "KubeEnvironmentPatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "Waiting",
                        "InitializationInProgress",
                        "InfrastructureSetupInProgress",
                        "InfrastructureSetupComplete",
                        "ScheduledForDelete",
                        "UpgradeRequested",
                        "UpgradeFailed"
                    ]
                }
            }, deploymentErrors: {
                serializedName: "properties.deploymentErrors",
                readOnly: true,
                xmlName: "properties.deploymentErrors",
                type: {
                    name: "String"
                }
            }, internalLoadBalancerEnabled: {
                serializedName: "properties.internalLoadBalancerEnabled",
                xmlName: "properties.internalLoadBalancerEnabled",
                type: {
                    name: "Boolean"
                }
            }, defaultDomain: {
                serializedName: "properties.defaultDomain",
                readOnly: true,
                xmlName: "properties.defaultDomain",
                type: {
                    name: "String"
                }
            }, staticIp: {
                serializedName: "properties.staticIp",
                xmlName: "properties.staticIp",
                type: {
                    name: "String"
                }
            }, arcConfiguration: {
                serializedName: "properties.arcConfiguration",
                xmlName: "properties.arcConfiguration",
                type: {
                    name: "Composite",
                    className: "ArcConfiguration"
                }
            }, appLogsConfiguration: {
                serializedName: "properties.appLogsConfiguration",
                xmlName: "properties.appLogsConfiguration",
                type: {
                    name: "Composite",
                    className: "AppLogsConfiguration"
                }
            }, containerAppsConfiguration: {
                serializedName: "properties.containerAppsConfiguration",
                xmlName: "properties.containerAppsConfiguration",
                type: {
                    name: "Composite",
                    className: "ContainerAppsConfiguration"
                }
            }, aksResourceID: {
                serializedName: "properties.aksResourceID",
                xmlName: "properties.aksResourceID",
                type: {
                    name: "String"
                }
            } })
    }
};
export const ApplicationStackResource = {
    serializedName: "ApplicationStackResource",
    type: {
        name: "Composite",
        className: "ApplicationStackResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { namePropertiesName: {
                serializedName: "properties.name",
                xmlName: "properties.name",
                type: {
                    name: "String"
                }
            }, display: {
                serializedName: "properties.display",
                xmlName: "properties.display",
                type: {
                    name: "String"
                }
            }, dependency: {
                serializedName: "properties.dependency",
                xmlName: "properties.dependency",
                type: {
                    name: "String"
                }
            }, majorVersions: {
                serializedName: "properties.majorVersions",
                xmlName: "properties.majorVersions",
                xmlElementName: "StackMajorVersion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StackMajorVersion"
                        }
                    }
                }
            }, frameworks: {
                serializedName: "properties.frameworks",
                xmlName: "properties.frameworks",
                xmlElementName: "ApplicationStack",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ApplicationStack"
                        }
                    }
                }
            }, isDeprecated: {
                serializedName: "properties.isDeprecated",
                xmlName: "properties.isDeprecated",
                xmlElementName: "ApplicationStack",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ApplicationStack"
                        }
                    }
                }
            } })
    }
};
export const FunctionAppStack = {
    serializedName: "FunctionAppStack",
    type: {
        name: "Composite",
        className: "FunctionAppStack",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { location: {
                serializedName: "location",
                readOnly: true,
                xmlName: "location",
                type: {
                    name: "String"
                }
            }, displayText: {
                serializedName: "properties.displayText",
                readOnly: true,
                xmlName: "properties.displayText",
                type: {
                    name: "String"
                }
            }, value: {
                serializedName: "properties.value",
                readOnly: true,
                xmlName: "properties.value",
                type: {
                    name: "String"
                }
            }, majorVersions: {
                serializedName: "properties.majorVersions",
                readOnly: true,
                xmlName: "properties.majorVersions",
                xmlElementName: "FunctionAppMajorVersion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "FunctionAppMajorVersion"
                        }
                    }
                }
            }, preferredOs: {
                serializedName: "properties.preferredOs",
                readOnly: true,
                xmlName: "properties.preferredOs",
                type: {
                    name: "Enum",
                    allowedValues: ["Windows", "Linux"]
                }
            } })
    }
};
export const WebAppStack = {
    serializedName: "WebAppStack",
    type: {
        name: "Composite",
        className: "WebAppStack",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { location: {
                serializedName: "location",
                readOnly: true,
                xmlName: "location",
                type: {
                    name: "String"
                }
            }, displayText: {
                serializedName: "properties.displayText",
                readOnly: true,
                xmlName: "properties.displayText",
                type: {
                    name: "String"
                }
            }, value: {
                serializedName: "properties.value",
                readOnly: true,
                xmlName: "properties.value",
                type: {
                    name: "String"
                }
            }, majorVersions: {
                serializedName: "properties.majorVersions",
                readOnly: true,
                xmlName: "properties.majorVersions",
                xmlElementName: "WebAppMajorVersion",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "WebAppMajorVersion"
                        }
                    }
                }
            }, preferredOs: {
                serializedName: "properties.preferredOs",
                readOnly: true,
                xmlName: "properties.preferredOs",
                type: {
                    name: "Enum",
                    allowedValues: ["Windows", "Linux"]
                }
            } })
    }
};
export const Recommendation = {
    serializedName: "Recommendation",
    type: {
        name: "Composite",
        className: "Recommendation",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { creationTime: {
                serializedName: "properties.creationTime",
                xmlName: "properties.creationTime",
                type: {
                    name: "DateTime"
                }
            }, recommendationId: {
                serializedName: "properties.recommendationId",
                xmlName: "properties.recommendationId",
                type: {
                    name: "Uuid"
                }
            }, resourceId: {
                serializedName: "properties.resourceId",
                xmlName: "properties.resourceId",
                type: {
                    name: "String"
                }
            }, resourceScope: {
                serializedName: "properties.resourceScope",
                xmlName: "properties.resourceScope",
                type: {
                    name: "String"
                }
            }, ruleName: {
                serializedName: "properties.ruleName",
                xmlName: "properties.ruleName",
                type: {
                    name: "String"
                }
            }, displayName: {
                serializedName: "properties.displayName",
                xmlName: "properties.displayName",
                type: {
                    name: "String"
                }
            }, message: {
                serializedName: "properties.message",
                xmlName: "properties.message",
                type: {
                    name: "String"
                }
            }, level: {
                serializedName: "properties.level",
                xmlName: "properties.level",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Critical",
                        "Warning",
                        "Information",
                        "NonUrgentSuggestion"
                    ]
                }
            }, channels: {
                serializedName: "properties.channels",
                xmlName: "properties.channels",
                type: {
                    name: "Enum",
                    allowedValues: ["Notification", "Api", "Email", "Webhook", "All"]
                }
            }, categoryTags: {
                serializedName: "properties.categoryTags",
                readOnly: true,
                xmlName: "properties.categoryTags",
                xmlElementName: "RecommendationPropertiesCategoryTagsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, actionName: {
                serializedName: "properties.actionName",
                xmlName: "properties.actionName",
                type: {
                    name: "String"
                }
            }, enabled: {
                serializedName: "properties.enabled",
                xmlName: "properties.enabled",
                type: {
                    name: "Number"
                }
            }, states: {
                serializedName: "properties.states",
                xmlName: "properties.states",
                xmlElementName: "RecommendationPropertiesStatesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, startTime: {
                serializedName: "properties.startTime",
                xmlName: "properties.startTime",
                type: {
                    name: "DateTime"
                }
            }, endTime: {
                serializedName: "properties.endTime",
                xmlName: "properties.endTime",
                type: {
                    name: "DateTime"
                }
            }, nextNotificationTime: {
                serializedName: "properties.nextNotificationTime",
                xmlName: "properties.nextNotificationTime",
                type: {
                    name: "DateTime"
                }
            }, notificationExpirationTime: {
                serializedName: "properties.notificationExpirationTime",
                xmlName: "properties.notificationExpirationTime",
                type: {
                    name: "DateTime"
                }
            }, notifiedTime: {
                serializedName: "properties.notifiedTime",
                xmlName: "properties.notifiedTime",
                type: {
                    name: "DateTime"
                }
            }, score: {
                serializedName: "properties.score",
                xmlName: "properties.score",
                type: {
                    name: "Number"
                }
            }, isDynamic: {
                serializedName: "properties.isDynamic",
                xmlName: "properties.isDynamic",
                type: {
                    name: "Boolean"
                }
            }, extensionName: {
                serializedName: "properties.extensionName",
                xmlName: "properties.extensionName",
                type: {
                    name: "String"
                }
            }, bladeName: {
                serializedName: "properties.bladeName",
                xmlName: "properties.bladeName",
                type: {
                    name: "String"
                }
            }, forwardLink: {
                serializedName: "properties.forwardLink",
                xmlName: "properties.forwardLink",
                type: {
                    name: "String"
                }
            } })
    }
};
export const RecommendationRule = {
    serializedName: "RecommendationRule",
    type: {
        name: "Composite",
        className: "RecommendationRule",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { recommendationName: {
                serializedName: "properties.recommendationName",
                xmlName: "properties.recommendationName",
                type: {
                    name: "String"
                }
            }, displayName: {
                serializedName: "properties.displayName",
                xmlName: "properties.displayName",
                type: {
                    name: "String"
                }
            }, message: {
                serializedName: "properties.message",
                xmlName: "properties.message",
                type: {
                    name: "String"
                }
            }, recommendationId: {
                serializedName: "properties.recommendationId",
                xmlName: "properties.recommendationId",
                type: {
                    name: "Uuid"
                }
            }, description: {
                serializedName: "properties.description",
                xmlName: "properties.description",
                type: {
                    name: "String"
                }
            }, actionName: {
                serializedName: "properties.actionName",
                xmlName: "properties.actionName",
                type: {
                    name: "String"
                }
            }, level: {
                serializedName: "properties.level",
                xmlName: "properties.level",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Critical",
                        "Warning",
                        "Information",
                        "NonUrgentSuggestion"
                    ]
                }
            }, channels: {
                serializedName: "properties.channels",
                xmlName: "properties.channels",
                type: {
                    name: "Enum",
                    allowedValues: ["Notification", "Api", "Email", "Webhook", "All"]
                }
            }, categoryTags: {
                serializedName: "properties.categoryTags",
                readOnly: true,
                xmlName: "properties.categoryTags",
                xmlElementName: "RecommendationRulePropertiesCategoryTagsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, isDynamic: {
                serializedName: "properties.isDynamic",
                xmlName: "properties.isDynamic",
                type: {
                    name: "Boolean"
                }
            }, extensionName: {
                serializedName: "properties.extensionName",
                xmlName: "properties.extensionName",
                type: {
                    name: "String"
                }
            }, bladeName: {
                serializedName: "properties.bladeName",
                xmlName: "properties.bladeName",
                type: {
                    name: "String"
                }
            }, forwardLink: {
                serializedName: "properties.forwardLink",
                xmlName: "properties.forwardLink",
                type: {
                    name: "String"
                }
            } })
    }
};
export const ResourceHealthMetadata = {
    serializedName: "ResourceHealthMetadata",
    type: {
        name: "Composite",
        className: "ResourceHealthMetadata",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { category: {
                serializedName: "properties.category",
                xmlName: "properties.category",
                type: {
                    name: "String"
                }
            }, signalAvailability: {
                serializedName: "properties.signalAvailability",
                xmlName: "properties.signalAvailability",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const User = {
    serializedName: "User",
    type: {
        name: "Composite",
        className: "User",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { publishingUserName: {
                serializedName: "properties.publishingUserName",
                xmlName: "properties.publishingUserName",
                type: {
                    name: "String"
                }
            }, publishingPassword: {
                serializedName: "properties.publishingPassword",
                xmlName: "properties.publishingPassword",
                type: {
                    name: "String"
                }
            }, publishingPasswordHash: {
                serializedName: "properties.publishingPasswordHash",
                xmlName: "properties.publishingPasswordHash",
                type: {
                    name: "String"
                }
            }, publishingPasswordHashSalt: {
                serializedName: "properties.publishingPasswordHashSalt",
                xmlName: "properties.publishingPasswordHashSalt",
                type: {
                    name: "String"
                }
            }, scmUri: {
                serializedName: "properties.scmUri",
                xmlName: "properties.scmUri",
                type: {
                    name: "String"
                }
            } })
    }
};
export const SourceControl = {
    serializedName: "SourceControl",
    type: {
        name: "Composite",
        className: "SourceControl",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { token: {
                serializedName: "properties.token",
                xmlName: "properties.token",
                type: {
                    name: "String"
                }
            }, tokenSecret: {
                serializedName: "properties.tokenSecret",
                xmlName: "properties.tokenSecret",
                type: {
                    name: "String"
                }
            }, refreshToken: {
                serializedName: "properties.refreshToken",
                xmlName: "properties.refreshToken",
                type: {
                    name: "String"
                }
            }, expirationTime: {
                serializedName: "properties.expirationTime",
                xmlName: "properties.expirationTime",
                type: {
                    name: "DateTime"
                }
            } })
    }
};
export const BillingMeter = {
    serializedName: "BillingMeter",
    type: {
        name: "Composite",
        className: "BillingMeter",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { meterId: {
                serializedName: "properties.meterId",
                xmlName: "properties.meterId",
                type: {
                    name: "String"
                }
            }, billingLocation: {
                serializedName: "properties.billingLocation",
                xmlName: "properties.billingLocation",
                type: {
                    name: "String"
                }
            }, shortName: {
                serializedName: "properties.shortName",
                xmlName: "properties.shortName",
                type: {
                    name: "String"
                }
            }, friendlyName: {
                serializedName: "properties.friendlyName",
                xmlName: "properties.friendlyName",
                type: {
                    name: "String"
                }
            }, resourceType: {
                serializedName: "properties.resourceType",
                xmlName: "properties.resourceType",
                type: {
                    name: "String"
                }
            }, osType: {
                serializedName: "properties.osType",
                xmlName: "properties.osType",
                type: {
                    name: "String"
                }
            }, multiplier: {
                serializedName: "properties.multiplier",
                xmlName: "properties.multiplier",
                type: {
                    name: "Number"
                }
            } })
    }
};
export const Identifier = {
    serializedName: "Identifier",
    type: {
        name: "Composite",
        className: "Identifier",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { value: {
                serializedName: "properties.id",
                xmlName: "properties.id",
                type: {
                    name: "String"
                }
            } })
    }
};
export const CustomHostnameSites = {
    serializedName: "CustomHostnameSites",
    type: {
        name: "Composite",
        className: "CustomHostnameSites",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { customHostname: {
                serializedName: "properties.customHostname",
                xmlName: "properties.customHostname",
                type: {
                    name: "String"
                }
            }, region: {
                serializedName: "properties.region",
                xmlName: "properties.region",
                type: {
                    name: "String"
                }
            }, siteResourceIds: {
                serializedName: "properties.siteResourceIds",
                xmlName: "properties.siteResourceIds",
                xmlElementName: "Identifier",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "Identifier"
                        }
                    }
                }
            } })
    }
};
export const GeoRegion = {
    serializedName: "GeoRegion",
    type: {
        name: "Composite",
        className: "GeoRegion",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { description: {
                serializedName: "properties.description",
                readOnly: true,
                xmlName: "properties.description",
                type: {
                    name: "String"
                }
            }, displayName: {
                serializedName: "properties.displayName",
                readOnly: true,
                xmlName: "properties.displayName",
                type: {
                    name: "String"
                }
            }, orgDomain: {
                serializedName: "properties.orgDomain",
                readOnly: true,
                xmlName: "properties.orgDomain",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AseRegion = {
    serializedName: "AseRegion",
    type: {
        name: "Composite",
        className: "AseRegion",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { displayName: {
                serializedName: "properties.displayName",
                readOnly: true,
                xmlName: "properties.displayName",
                type: {
                    name: "String"
                }
            }, standard: {
                serializedName: "properties.standard",
                readOnly: true,
                xmlName: "properties.standard",
                type: {
                    name: "Boolean"
                }
            }, dedicatedHost: {
                serializedName: "properties.dedicatedHost",
                readOnly: true,
                xmlName: "properties.dedicatedHost",
                type: {
                    name: "Boolean"
                }
            }, zoneRedundant: {
                serializedName: "properties.zoneRedundant",
                readOnly: true,
                xmlName: "properties.zoneRedundant",
                type: {
                    name: "Boolean"
                }
            }, availableSku: {
                serializedName: "properties.availableSku",
                xmlName: "properties.availableSku",
                xmlElementName: "AseRegionPropertiesAvailableSkuItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, availableOS: {
                serializedName: "properties.availableOS",
                xmlName: "properties.availableOS",
                xmlElementName: "AseRegionPropertiesAvailableOSItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            } })
    }
};
export const PremierAddOnOffer = {
    serializedName: "PremierAddOnOffer",
    type: {
        name: "Composite",
        className: "PremierAddOnOffer",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { sku: {
                serializedName: "properties.sku",
                xmlName: "properties.sku",
                type: {
                    name: "String"
                }
            }, product: {
                serializedName: "properties.product",
                xmlName: "properties.product",
                type: {
                    name: "String"
                }
            }, vendor: {
                serializedName: "properties.vendor",
                xmlName: "properties.vendor",
                type: {
                    name: "String"
                }
            }, promoCodeRequired: {
                serializedName: "properties.promoCodeRequired",
                xmlName: "properties.promoCodeRequired",
                type: {
                    name: "Boolean"
                }
            }, quota: {
                serializedName: "properties.quota",
                xmlName: "properties.quota",
                type: {
                    name: "Number"
                }
            }, webHostingPlanRestrictions: {
                serializedName: "properties.webHostingPlanRestrictions",
                xmlName: "properties.webHostingPlanRestrictions",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "None",
                        "Free",
                        "Shared",
                        "Basic",
                        "Standard",
                        "Premium"
                    ]
                }
            }, privacyPolicyUrl: {
                serializedName: "properties.privacyPolicyUrl",
                xmlName: "properties.privacyPolicyUrl",
                type: {
                    name: "String"
                }
            }, legalTermsUrl: {
                serializedName: "properties.legalTermsUrl",
                xmlName: "properties.legalTermsUrl",
                type: {
                    name: "String"
                }
            }, marketplacePublisher: {
                serializedName: "properties.marketplacePublisher",
                xmlName: "properties.marketplacePublisher",
                type: {
                    name: "String"
                }
            }, marketplaceOffer: {
                serializedName: "properties.marketplaceOffer",
                xmlName: "properties.marketplaceOffer",
                type: {
                    name: "String"
                }
            } })
    }
};
export const VnetParameters = {
    serializedName: "VnetParameters",
    type: {
        name: "Composite",
        className: "VnetParameters",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { vnetResourceGroup: {
                serializedName: "properties.vnetResourceGroup",
                xmlName: "properties.vnetResourceGroup",
                type: {
                    name: "String"
                }
            }, vnetName: {
                serializedName: "properties.vnetName",
                xmlName: "properties.vnetName",
                type: {
                    name: "String"
                }
            }, vnetSubnetName: {
                serializedName: "properties.vnetSubnetName",
                xmlName: "properties.vnetSubnetName",
                type: {
                    name: "String"
                }
            }, subnetResourceId: {
                serializedName: "properties.subnetResourceId",
                xmlName: "properties.subnetResourceId",
                type: {
                    name: "String"
                }
            } })
    }
};
export const VnetValidationTestFailure = {
    serializedName: "VnetValidationTestFailure",
    type: {
        name: "Composite",
        className: "VnetValidationTestFailure",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { testName: {
                serializedName: "properties.testName",
                xmlName: "properties.testName",
                type: {
                    name: "String"
                }
            }, details: {
                serializedName: "properties.details",
                xmlName: "properties.details",
                type: {
                    name: "String"
                }
            } })
    }
};
export const VnetValidationFailureDetails = {
    serializedName: "VnetValidationFailureDetails",
    type: {
        name: "Composite",
        className: "VnetValidationFailureDetails",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { message: {
                serializedName: "properties.message",
                xmlName: "properties.message",
                type: {
                    name: "String"
                }
            }, failed: {
                serializedName: "properties.failed",
                xmlName: "properties.failed",
                type: {
                    name: "Boolean"
                }
            }, failedTests: {
                serializedName: "properties.failedTests",
                xmlName: "properties.failedTests",
                xmlElementName: "VnetValidationTestFailure",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VnetValidationTestFailure"
                        }
                    }
                }
            }, warnings: {
                serializedName: "properties.warnings",
                xmlName: "properties.warnings",
                xmlElementName: "VnetValidationTestFailure",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VnetValidationTestFailure"
                        }
                    }
                }
            } })
    }
};
export const StaticSitesWorkflowPreviewRequest = {
    serializedName: "StaticSitesWorkflowPreviewRequest",
    type: {
        name: "Composite",
        className: "StaticSitesWorkflowPreviewRequest",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { repositoryUrl: {
                serializedName: "properties.repositoryUrl",
                xmlName: "properties.repositoryUrl",
                type: {
                    name: "String"
                }
            }, branch: {
                serializedName: "properties.branch",
                xmlName: "properties.branch",
                type: {
                    name: "String"
                }
            }, buildProperties: {
                serializedName: "properties.buildProperties",
                xmlName: "properties.buildProperties",
                type: {
                    name: "Composite",
                    className: "StaticSiteBuildProperties"
                }
            } })
    }
};
export const StaticSitesWorkflowPreview = {
    serializedName: "StaticSitesWorkflowPreview",
    type: {
        name: "Composite",
        className: "StaticSitesWorkflowPreview",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { path: {
                serializedName: "properties.path",
                readOnly: true,
                xmlName: "properties.path",
                type: {
                    name: "String"
                }
            }, contents: {
                serializedName: "properties.contents",
                readOnly: true,
                xmlName: "properties.contents",
                type: {
                    name: "String"
                }
            } })
    }
};
export const RemotePrivateEndpointConnection = {
    serializedName: "RemotePrivateEndpointConnection",
    type: {
        name: "Composite",
        className: "RemotePrivateEndpointConnection",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            }, privateEndpoint: {
                serializedName: "properties.privateEndpoint",
                xmlName: "properties.privateEndpoint",
                type: {
                    name: "Composite",
                    className: "ArmIdWrapper"
                }
            }, privateLinkServiceConnectionState: {
                serializedName: "properties.privateLinkServiceConnectionState",
                xmlName: "properties.privateLinkServiceConnectionState",
                type: {
                    name: "Composite",
                    className: "PrivateLinkConnectionState"
                }
            }, ipAddresses: {
                serializedName: "properties.ipAddresses",
                xmlName: "properties.ipAddresses",
                xmlElementName: "RemotePrivateEndpointConnectionPropertiesIpAddressesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            } })
    }
};
export const StaticSiteUserProvidedFunctionApp = {
    serializedName: "StaticSiteUserProvidedFunctionApp",
    type: {
        name: "Composite",
        className: "StaticSiteUserProvidedFunctionApp",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { functionAppResourceId: {
                serializedName: "properties.functionAppResourceId",
                xmlName: "properties.functionAppResourceId",
                type: {
                    name: "String"
                }
            }, functionAppRegion: {
                serializedName: "properties.functionAppRegion",
                xmlName: "properties.functionAppRegion",
                type: {
                    name: "String"
                }
            }, createdOn: {
                serializedName: "properties.createdOn",
                readOnly: true,
                xmlName: "properties.createdOn",
                type: {
                    name: "DateTime"
                }
            } })
    }
};
export const StaticSitePatchResource = {
    serializedName: "StaticSitePatchResource",
    type: {
        name: "Composite",
        className: "StaticSitePatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { defaultHostname: {
                serializedName: "properties.defaultHostname",
                readOnly: true,
                xmlName: "properties.defaultHostname",
                type: {
                    name: "String"
                }
            }, repositoryUrl: {
                serializedName: "properties.repositoryUrl",
                xmlName: "properties.repositoryUrl",
                type: {
                    name: "String"
                }
            }, branch: {
                serializedName: "properties.branch",
                xmlName: "properties.branch",
                type: {
                    name: "String"
                }
            }, customDomains: {
                serializedName: "properties.customDomains",
                readOnly: true,
                xmlName: "properties.customDomains",
                xmlElementName: "StaticSiteCustomDomainsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, repositoryToken: {
                serializedName: "properties.repositoryToken",
                xmlName: "properties.repositoryToken",
                type: {
                    name: "String"
                }
            }, buildProperties: {
                serializedName: "properties.buildProperties",
                xmlName: "properties.buildProperties",
                type: {
                    name: "Composite",
                    className: "StaticSiteBuildProperties"
                }
            }, privateEndpointConnections: {
                serializedName: "properties.privateEndpointConnections",
                readOnly: true,
                xmlName: "properties.privateEndpointConnections",
                xmlElementName: "ResponseMessageEnvelopeRemotePrivateEndpointConnection",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ResponseMessageEnvelopeRemotePrivateEndpointConnection"
                        }
                    }
                }
            }, stagingEnvironmentPolicy: {
                serializedName: "properties.stagingEnvironmentPolicy",
                xmlName: "properties.stagingEnvironmentPolicy",
                type: {
                    name: "Enum",
                    allowedValues: ["Enabled", "Disabled"]
                }
            }, allowConfigFileUpdates: {
                serializedName: "properties.allowConfigFileUpdates",
                xmlName: "properties.allowConfigFileUpdates",
                type: {
                    name: "Boolean"
                }
            }, templateProperties: {
                serializedName: "properties.templateProperties",
                xmlName: "properties.templateProperties",
                type: {
                    name: "Composite",
                    className: "StaticSiteTemplateOptions"
                }
            }, contentDistributionEndpoint: {
                serializedName: "properties.contentDistributionEndpoint",
                readOnly: true,
                xmlName: "properties.contentDistributionEndpoint",
                type: {
                    name: "String"
                }
            }, keyVaultReferenceIdentity: {
                serializedName: "properties.keyVaultReferenceIdentity",
                readOnly: true,
                xmlName: "properties.keyVaultReferenceIdentity",
                type: {
                    name: "String"
                }
            }, userProvidedFunctionApps: {
                serializedName: "properties.userProvidedFunctionApps",
                readOnly: true,
                xmlName: "properties.userProvidedFunctionApps",
                xmlElementName: "StaticSiteUserProvidedFunctionApp",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteUserProvidedFunctionApp"
                        }
                    }
                }
            }, linkedBackends: {
                serializedName: "properties.linkedBackends",
                readOnly: true,
                xmlName: "properties.linkedBackends",
                xmlElementName: "StaticSiteLinkedBackend",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteLinkedBackend"
                        }
                    }
                }
            }, provider: {
                serializedName: "properties.provider",
                xmlName: "properties.provider",
                type: {
                    name: "String"
                }
            }, enterpriseGradeCdnStatus: {
                serializedName: "properties.enterpriseGradeCdnStatus",
                xmlName: "properties.enterpriseGradeCdnStatus",
                type: {
                    name: "String"
                }
            }, publicNetworkAccess: {
                serializedName: "properties.publicNetworkAccess",
                xmlName: "properties.publicNetworkAccess",
                type: {
                    name: "String"
                }
            }, databaseConnections: {
                serializedName: "properties.databaseConnections",
                readOnly: true,
                xmlName: "properties.databaseConnections",
                xmlElementName: "DatabaseConnectionOverview",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DatabaseConnectionOverview"
                        }
                    }
                }
            } })
    }
};
export const StaticSiteUserARMResource = {
    serializedName: "StaticSiteUserARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteUserARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { provider: {
                serializedName: "properties.provider",
                readOnly: true,
                xmlName: "properties.provider",
                type: {
                    name: "String"
                }
            }, userId: {
                serializedName: "properties.userId",
                readOnly: true,
                xmlName: "properties.userId",
                type: {
                    name: "String"
                }
            }, displayName: {
                serializedName: "properties.displayName",
                readOnly: true,
                xmlName: "properties.displayName",
                type: {
                    name: "String"
                }
            }, roles: {
                serializedName: "properties.roles",
                xmlName: "properties.roles",
                type: {
                    name: "String"
                }
            } })
    }
};
export const StaticSiteBuildARMResource = {
    serializedName: "StaticSiteBuildARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteBuildARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { buildId: {
                serializedName: "properties.buildId",
                readOnly: true,
                xmlName: "properties.buildId",
                type: {
                    name: "String"
                }
            }, sourceBranch: {
                serializedName: "properties.sourceBranch",
                readOnly: true,
                xmlName: "properties.sourceBranch",
                type: {
                    name: "String"
                }
            }, pullRequestTitle: {
                serializedName: "properties.pullRequestTitle",
                readOnly: true,
                xmlName: "properties.pullRequestTitle",
                type: {
                    name: "String"
                }
            }, hostname: {
                serializedName: "properties.hostname",
                readOnly: true,
                xmlName: "properties.hostname",
                type: {
                    name: "String"
                }
            }, createdTimeUtc: {
                serializedName: "properties.createdTimeUtc",
                readOnly: true,
                xmlName: "properties.createdTimeUtc",
                type: {
                    name: "DateTime"
                }
            }, lastUpdatedOn: {
                serializedName: "properties.lastUpdatedOn",
                readOnly: true,
                xmlName: "properties.lastUpdatedOn",
                type: {
                    name: "DateTime"
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "String"
                }
            }, userProvidedFunctionApps: {
                serializedName: "properties.userProvidedFunctionApps",
                readOnly: true,
                xmlName: "properties.userProvidedFunctionApps",
                xmlElementName: "StaticSiteUserProvidedFunctionApp",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteUserProvidedFunctionApp"
                        }
                    }
                }
            }, linkedBackends: {
                serializedName: "properties.linkedBackends",
                readOnly: true,
                xmlName: "properties.linkedBackends",
                xmlElementName: "StaticSiteLinkedBackend",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteLinkedBackend"
                        }
                    }
                }
            }, databaseConnections: {
                serializedName: "properties.databaseConnections",
                readOnly: true,
                xmlName: "properties.databaseConnections",
                xmlElementName: "DatabaseConnectionOverview",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DatabaseConnectionOverview"
                        }
                    }
                }
            } })
    }
};
export const StringDictionary = {
    serializedName: "StringDictionary",
    type: {
        name: "Composite",
        className: "StringDictionary",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { properties: {
                serializedName: "properties",
                xmlName: "properties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            } })
    }
};
export const DatabaseConnection = {
    serializedName: "DatabaseConnection",
    type: {
        name: "Composite",
        className: "DatabaseConnection",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { resourceId: {
                serializedName: "properties.resourceId",
                xmlName: "properties.resourceId",
                type: {
                    name: "String"
                }
            }, connectionIdentity: {
                serializedName: "properties.connectionIdentity",
                xmlName: "properties.connectionIdentity",
                type: {
                    name: "String"
                }
            }, connectionString: {
                serializedName: "properties.connectionString",
                xmlName: "properties.connectionString",
                type: {
                    name: "String"
                }
            }, region: {
                serializedName: "properties.region",
                xmlName: "properties.region",
                type: {
                    name: "String"
                }
            }, configurationFiles: {
                serializedName: "properties.configurationFiles",
                readOnly: true,
                xmlName: "properties.configurationFiles",
                xmlElementName: "StaticSiteDatabaseConnectionConfigurationFileOverview",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "StaticSiteDatabaseConnectionConfigurationFileOverview"
                        }
                    }
                }
            } })
    }
};
export const StaticSiteFunctionOverviewARMResource = {
    serializedName: "StaticSiteFunctionOverviewARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteFunctionOverviewARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { functionName: {
                serializedName: "properties.functionName",
                readOnly: true,
                xmlName: "properties.functionName",
                type: {
                    name: "String"
                }
            }, triggerType: {
                serializedName: "properties.triggerType",
                readOnly: true,
                xmlName: "properties.triggerType",
                type: {
                    name: "String"
                }
            } })
    }
};
export const StaticSiteUserProvidedFunctionAppARMResource = {
    serializedName: "StaticSiteUserProvidedFunctionAppARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteUserProvidedFunctionAppARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { functionAppResourceId: {
                serializedName: "properties.functionAppResourceId",
                xmlName: "properties.functionAppResourceId",
                type: {
                    name: "String"
                }
            }, functionAppRegion: {
                serializedName: "properties.functionAppRegion",
                xmlName: "properties.functionAppRegion",
                type: {
                    name: "String"
                }
            }, createdOn: {
                serializedName: "properties.createdOn",
                readOnly: true,
                xmlName: "properties.createdOn",
                type: {
                    name: "DateTime"
                }
            } })
    }
};
export const StaticSiteZipDeploymentARMResource = {
    serializedName: "StaticSiteZipDeploymentARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteZipDeploymentARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { appZipUrl: {
                serializedName: "properties.appZipUrl",
                xmlName: "properties.appZipUrl",
                type: {
                    name: "String"
                }
            }, apiZipUrl: {
                serializedName: "properties.apiZipUrl",
                xmlName: "properties.apiZipUrl",
                type: {
                    name: "String"
                }
            }, deploymentTitle: {
                serializedName: "properties.deploymentTitle",
                xmlName: "properties.deploymentTitle",
                type: {
                    name: "String"
                }
            }, provider: {
                serializedName: "properties.provider",
                xmlName: "properties.provider",
                type: {
                    name: "String"
                }
            }, functionLanguage: {
                serializedName: "properties.functionLanguage",
                xmlName: "properties.functionLanguage",
                type: {
                    name: "String"
                }
            } })
    }
};
export const StaticSiteBasicAuthPropertiesARMResource = {
    serializedName: "StaticSiteBasicAuthPropertiesARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteBasicAuthPropertiesARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { password: {
                serializedName: "properties.password",
                xmlName: "properties.password",
                type: {
                    name: "String"
                }
            }, secretUrl: {
                serializedName: "properties.secretUrl",
                xmlName: "properties.secretUrl",
                type: {
                    name: "String"
                }
            }, applicableEnvironmentsMode: {
                serializedName: "properties.applicableEnvironmentsMode",
                xmlName: "properties.applicableEnvironmentsMode",
                type: {
                    name: "String"
                }
            }, environments: {
                serializedName: "properties.environments",
                xmlName: "properties.environments",
                xmlElementName: "StaticSiteBasicAuthPropertiesARMResourcePropertiesEnvironmentsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, secretState: {
                serializedName: "properties.secretState",
                readOnly: true,
                xmlName: "properties.secretState",
                type: {
                    name: "String"
                }
            } })
    }
};
export const StaticSiteUserInvitationRequestResource = {
    serializedName: "StaticSiteUserInvitationRequestResource",
    type: {
        name: "Composite",
        className: "StaticSiteUserInvitationRequestResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { domain: {
                serializedName: "properties.domain",
                xmlName: "properties.domain",
                type: {
                    name: "String"
                }
            }, provider: {
                serializedName: "properties.provider",
                xmlName: "properties.provider",
                type: {
                    name: "String"
                }
            }, userDetails: {
                serializedName: "properties.userDetails",
                xmlName: "properties.userDetails",
                type: {
                    name: "String"
                }
            }, roles: {
                serializedName: "properties.roles",
                xmlName: "properties.roles",
                type: {
                    name: "String"
                }
            }, numHoursToExpiration: {
                serializedName: "properties.numHoursToExpiration",
                xmlName: "properties.numHoursToExpiration",
                type: {
                    name: "Number"
                }
            } })
    }
};
export const StaticSiteUserInvitationResponseResource = {
    serializedName: "StaticSiteUserInvitationResponseResource",
    type: {
        name: "Composite",
        className: "StaticSiteUserInvitationResponseResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { expiresOn: {
                serializedName: "properties.expiresOn",
                readOnly: true,
                xmlName: "properties.expiresOn",
                type: {
                    name: "DateTime"
                }
            }, invitationUrl: {
                serializedName: "properties.invitationUrl",
                readOnly: true,
                xmlName: "properties.invitationUrl",
                type: {
                    name: "String"
                }
            } })
    }
};
export const StaticSiteCustomDomainOverviewARMResource = {
    serializedName: "StaticSiteCustomDomainOverviewARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteCustomDomainOverviewARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { domainName: {
                serializedName: "properties.domainName",
                readOnly: true,
                xmlName: "properties.domainName",
                type: {
                    name: "String"
                }
            }, createdOn: {
                serializedName: "properties.createdOn",
                readOnly: true,
                xmlName: "properties.createdOn",
                type: {
                    name: "DateTime"
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "String"
                }
            }, validationToken: {
                serializedName: "properties.validationToken",
                readOnly: true,
                xmlName: "properties.validationToken",
                type: {
                    name: "String"
                }
            }, errorMessage: {
                serializedName: "properties.errorMessage",
                readOnly: true,
                xmlName: "properties.errorMessage",
                type: {
                    name: "String"
                }
            } })
    }
};
export const StaticSiteCustomDomainRequestPropertiesARMResource = {
    serializedName: "StaticSiteCustomDomainRequestPropertiesARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteCustomDomainRequestPropertiesARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { validationMethod: {
                defaultValue: "cname-delegation",
                serializedName: "properties.validationMethod",
                xmlName: "properties.validationMethod",
                type: {
                    name: "String"
                }
            } })
    }
};
export const StringList = {
    serializedName: "StringList",
    type: {
        name: "Composite",
        className: "StringList",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { properties: {
                serializedName: "properties",
                xmlName: "properties",
                xmlElementName: "StringListPropertiesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            } })
    }
};
export const StaticSiteResetPropertiesARMResource = {
    serializedName: "StaticSiteResetPropertiesARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteResetPropertiesARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { repositoryToken: {
                serializedName: "properties.repositoryToken",
                xmlName: "properties.repositoryToken",
                type: {
                    name: "String"
                }
            }, shouldUpdateRepository: {
                serializedName: "properties.shouldUpdateRepository",
                xmlName: "properties.shouldUpdateRepository",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const StaticSiteLinkedBackendARMResource = {
    serializedName: "StaticSiteLinkedBackendARMResource",
    type: {
        name: "Composite",
        className: "StaticSiteLinkedBackendARMResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { backendResourceId: {
                serializedName: "properties.backendResourceId",
                xmlName: "properties.backendResourceId",
                type: {
                    name: "String"
                }
            }, region: {
                serializedName: "properties.region",
                xmlName: "properties.region",
                type: {
                    name: "String"
                }
            }, createdOn: {
                serializedName: "properties.createdOn",
                readOnly: true,
                xmlName: "properties.createdOn",
                type: {
                    name: "DateTime"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            } })
    }
};
export const SitePatchResource = {
    serializedName: "SitePatchResource",
    type: {
        name: "Composite",
        className: "SitePatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { identity: {
                serializedName: "identity",
                xmlName: "identity",
                type: {
                    name: "Composite",
                    className: "ManagedServiceIdentity"
                }
            }, state: {
                serializedName: "properties.state",
                readOnly: true,
                xmlName: "properties.state",
                type: {
                    name: "String"
                }
            }, hostNames: {
                serializedName: "properties.hostNames",
                readOnly: true,
                xmlName: "properties.hostNames",
                xmlElementName: "SitePatchResourcePropertiesHostNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, repositorySiteName: {
                serializedName: "properties.repositorySiteName",
                readOnly: true,
                xmlName: "properties.repositorySiteName",
                type: {
                    name: "String"
                }
            }, usageState: {
                serializedName: "properties.usageState",
                readOnly: true,
                xmlName: "properties.usageState",
                type: {
                    name: "Enum",
                    allowedValues: ["Normal", "Exceeded"]
                }
            }, enabled: {
                serializedName: "properties.enabled",
                xmlName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }, enabledHostNames: {
                serializedName: "properties.enabledHostNames",
                readOnly: true,
                xmlName: "properties.enabledHostNames",
                xmlElementName: "SitePatchResourcePropertiesEnabledHostNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, availabilityState: {
                serializedName: "properties.availabilityState",
                readOnly: true,
                xmlName: "properties.availabilityState",
                type: {
                    name: "Enum",
                    allowedValues: ["Normal", "Limited", "DisasterRecoveryMode"]
                }
            }, hostNameSslStates: {
                serializedName: "properties.hostNameSslStates",
                xmlName: "properties.hostNameSslStates",
                xmlElementName: "HostNameSslState",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HostNameSslState"
                        }
                    }
                }
            }, serverFarmId: {
                serializedName: "properties.serverFarmId",
                xmlName: "properties.serverFarmId",
                type: {
                    name: "String"
                }
            }, reserved: {
                defaultValue: false,
                serializedName: "properties.reserved",
                xmlName: "properties.reserved",
                type: {
                    name: "Boolean"
                }
            }, isXenon: {
                defaultValue: false,
                serializedName: "properties.isXenon",
                xmlName: "properties.isXenon",
                type: {
                    name: "Boolean"
                }
            }, hyperV: {
                defaultValue: false,
                serializedName: "properties.hyperV",
                xmlName: "properties.hyperV",
                type: {
                    name: "Boolean"
                }
            }, lastModifiedTimeUtc: {
                serializedName: "properties.lastModifiedTimeUtc",
                readOnly: true,
                xmlName: "properties.lastModifiedTimeUtc",
                type: {
                    name: "DateTime"
                }
            }, siteConfig: {
                serializedName: "properties.siteConfig",
                xmlName: "properties.siteConfig",
                type: {
                    name: "Composite",
                    className: "SiteConfig"
                }
            }, trafficManagerHostNames: {
                serializedName: "properties.trafficManagerHostNames",
                readOnly: true,
                xmlName: "properties.trafficManagerHostNames",
                xmlElementName: "SitePatchResourcePropertiesTrafficManagerHostNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, scmSiteAlsoStopped: {
                defaultValue: false,
                serializedName: "properties.scmSiteAlsoStopped",
                xmlName: "properties.scmSiteAlsoStopped",
                type: {
                    name: "Boolean"
                }
            }, targetSwapSlot: {
                serializedName: "properties.targetSwapSlot",
                readOnly: true,
                xmlName: "properties.targetSwapSlot",
                type: {
                    name: "String"
                }
            }, hostingEnvironmentProfile: {
                serializedName: "properties.hostingEnvironmentProfile",
                xmlName: "properties.hostingEnvironmentProfile",
                type: {
                    name: "Composite",
                    className: "HostingEnvironmentProfile"
                }
            }, clientAffinityEnabled: {
                serializedName: "properties.clientAffinityEnabled",
                xmlName: "properties.clientAffinityEnabled",
                type: {
                    name: "Boolean"
                }
            }, clientCertEnabled: {
                serializedName: "properties.clientCertEnabled",
                xmlName: "properties.clientCertEnabled",
                type: {
                    name: "Boolean"
                }
            }, clientCertMode: {
                serializedName: "properties.clientCertMode",
                xmlName: "properties.clientCertMode",
                type: {
                    name: "Enum",
                    allowedValues: ["Required", "Optional", "OptionalInteractiveUser"]
                }
            }, clientCertExclusionPaths: {
                serializedName: "properties.clientCertExclusionPaths",
                xmlName: "properties.clientCertExclusionPaths",
                type: {
                    name: "String"
                }
            }, hostNamesDisabled: {
                serializedName: "properties.hostNamesDisabled",
                xmlName: "properties.hostNamesDisabled",
                type: {
                    name: "Boolean"
                }
            }, customDomainVerificationId: {
                serializedName: "properties.customDomainVerificationId",
                xmlName: "properties.customDomainVerificationId",
                type: {
                    name: "String"
                }
            }, outboundIpAddresses: {
                serializedName: "properties.outboundIpAddresses",
                readOnly: true,
                xmlName: "properties.outboundIpAddresses",
                type: {
                    name: "String"
                }
            }, possibleOutboundIpAddresses: {
                serializedName: "properties.possibleOutboundIpAddresses",
                readOnly: true,
                xmlName: "properties.possibleOutboundIpAddresses",
                type: {
                    name: "String"
                }
            }, containerSize: {
                serializedName: "properties.containerSize",
                xmlName: "properties.containerSize",
                type: {
                    name: "Number"
                }
            }, dailyMemoryTimeQuota: {
                serializedName: "properties.dailyMemoryTimeQuota",
                xmlName: "properties.dailyMemoryTimeQuota",
                type: {
                    name: "Number"
                }
            }, suspendedTill: {
                serializedName: "properties.suspendedTill",
                readOnly: true,
                xmlName: "properties.suspendedTill",
                type: {
                    name: "DateTime"
                }
            }, maxNumberOfWorkers: {
                serializedName: "properties.maxNumberOfWorkers",
                readOnly: true,
                xmlName: "properties.maxNumberOfWorkers",
                type: {
                    name: "Number"
                }
            }, cloningInfo: {
                serializedName: "properties.cloningInfo",
                xmlName: "properties.cloningInfo",
                type: {
                    name: "Composite",
                    className: "CloningInfo"
                }
            }, resourceGroup: {
                serializedName: "properties.resourceGroup",
                readOnly: true,
                xmlName: "properties.resourceGroup",
                type: {
                    name: "String"
                }
            }, isDefaultContainer: {
                serializedName: "properties.isDefaultContainer",
                readOnly: true,
                xmlName: "properties.isDefaultContainer",
                type: {
                    name: "Boolean"
                }
            }, defaultHostName: {
                serializedName: "properties.defaultHostName",
                readOnly: true,
                xmlName: "properties.defaultHostName",
                type: {
                    name: "String"
                }
            }, slotSwapStatus: {
                serializedName: "properties.slotSwapStatus",
                xmlName: "properties.slotSwapStatus",
                type: {
                    name: "Composite",
                    className: "SlotSwapStatus"
                }
            }, httpsOnly: {
                serializedName: "properties.httpsOnly",
                xmlName: "properties.httpsOnly",
                type: {
                    name: "Boolean"
                }
            }, redundancyMode: {
                serializedName: "properties.redundancyMode",
                xmlName: "properties.redundancyMode",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "None",
                        "Manual",
                        "Failover",
                        "ActiveActive",
                        "GeoRedundant"
                    ]
                }
            }, inProgressOperationId: {
                serializedName: "properties.inProgressOperationId",
                readOnly: true,
                xmlName: "properties.inProgressOperationId",
                type: {
                    name: "Uuid"
                }
            }, storageAccountRequired: {
                serializedName: "properties.storageAccountRequired",
                xmlName: "properties.storageAccountRequired",
                type: {
                    name: "Boolean"
                }
            }, keyVaultReferenceIdentity: {
                serializedName: "properties.keyVaultReferenceIdentity",
                xmlName: "properties.keyVaultReferenceIdentity",
                type: {
                    name: "String"
                }
            }, virtualNetworkSubnetId: {
                serializedName: "properties.virtualNetworkSubnetId",
                xmlName: "properties.virtualNetworkSubnetId",
                type: {
                    name: "String"
                }
            } })
    }
};
export const CustomHostnameAnalysisResult = {
    serializedName: "CustomHostnameAnalysisResult",
    type: {
        name: "Composite",
        className: "CustomHostnameAnalysisResult",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { isHostnameAlreadyVerified: {
                serializedName: "properties.isHostnameAlreadyVerified",
                readOnly: true,
                xmlName: "properties.isHostnameAlreadyVerified",
                type: {
                    name: "Boolean"
                }
            }, customDomainVerificationTest: {
                serializedName: "properties.customDomainVerificationTest",
                readOnly: true,
                xmlName: "properties.customDomainVerificationTest",
                type: {
                    name: "Enum",
                    allowedValues: ["Passed", "Failed", "Skipped"]
                }
            }, customDomainVerificationFailureInfo: {
                serializedName: "properties.customDomainVerificationFailureInfo",
                xmlName: "properties.customDomainVerificationFailureInfo",
                type: {
                    name: "Composite",
                    className: "ErrorEntity"
                }
            }, hasConflictOnScaleUnit: {
                serializedName: "properties.hasConflictOnScaleUnit",
                readOnly: true,
                xmlName: "properties.hasConflictOnScaleUnit",
                type: {
                    name: "Boolean"
                }
            }, hasConflictAcrossSubscription: {
                serializedName: "properties.hasConflictAcrossSubscription",
                readOnly: true,
                xmlName: "properties.hasConflictAcrossSubscription",
                type: {
                    name: "Boolean"
                }
            }, conflictingAppResourceId: {
                serializedName: "properties.conflictingAppResourceId",
                readOnly: true,
                xmlName: "properties.conflictingAppResourceId",
                type: {
                    name: "String"
                }
            }, cNameRecords: {
                serializedName: "properties.cNameRecords",
                xmlName: "properties.cNameRecords",
                xmlElementName: "CustomHostnameAnalysisResultPropertiesCNameRecordsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, txtRecords: {
                serializedName: "properties.txtRecords",
                xmlName: "properties.txtRecords",
                xmlElementName: "CustomHostnameAnalysisResultPropertiesTxtRecordsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, aRecords: {
                serializedName: "properties.aRecords",
                xmlName: "properties.aRecords",
                xmlElementName: "CustomHostnameAnalysisResultPropertiesARecordsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, alternateCNameRecords: {
                serializedName: "properties.alternateCNameRecords",
                xmlName: "properties.alternateCNameRecords",
                xmlElementName: "CustomHostnameAnalysisResultPropertiesAlternateCNameRecordsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, alternateTxtRecords: {
                serializedName: "properties.alternateTxtRecords",
                xmlName: "properties.alternateTxtRecords",
                xmlElementName: "CustomHostnameAnalysisResultPropertiesAlternateTxtRecordsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            } })
    }
};
export const BackupRequest = {
    serializedName: "BackupRequest",
    type: {
        name: "Composite",
        className: "BackupRequest",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { backupName: {
                serializedName: "properties.backupName",
                xmlName: "properties.backupName",
                type: {
                    name: "String"
                }
            }, enabled: {
                serializedName: "properties.enabled",
                xmlName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }, storageAccountUrl: {
                serializedName: "properties.storageAccountUrl",
                xmlName: "properties.storageAccountUrl",
                type: {
                    name: "String"
                }
            }, backupSchedule: {
                serializedName: "properties.backupSchedule",
                xmlName: "properties.backupSchedule",
                type: {
                    name: "Composite",
                    className: "BackupSchedule"
                }
            }, databases: {
                serializedName: "properties.databases",
                xmlName: "properties.databases",
                xmlElementName: "DatabaseBackupSetting",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DatabaseBackupSetting"
                        }
                    }
                }
            } })
    }
};
export const BackupItem = {
    serializedName: "BackupItem",
    type: {
        name: "Composite",
        className: "BackupItem",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { backupId: {
                serializedName: "properties.id",
                readOnly: true,
                xmlName: "properties.id",
                type: {
                    name: "Number"
                }
            }, storageAccountUrl: {
                serializedName: "properties.storageAccountUrl",
                readOnly: true,
                xmlName: "properties.storageAccountUrl",
                type: {
                    name: "String"
                }
            }, blobName: {
                serializedName: "properties.blobName",
                readOnly: true,
                xmlName: "properties.blobName",
                type: {
                    name: "String"
                }
            }, namePropertiesName: {
                serializedName: "properties.name",
                readOnly: true,
                xmlName: "properties.name",
                type: {
                    name: "String"
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "InProgress",
                        "Failed",
                        "Succeeded",
                        "TimedOut",
                        "Created",
                        "Skipped",
                        "PartiallySucceeded",
                        "DeleteInProgress",
                        "DeleteFailed",
                        "Deleted"
                    ]
                }
            }, sizeInBytes: {
                serializedName: "properties.sizeInBytes",
                readOnly: true,
                xmlName: "properties.sizeInBytes",
                type: {
                    name: "Number"
                }
            }, created: {
                serializedName: "properties.created",
                readOnly: true,
                xmlName: "properties.created",
                type: {
                    name: "DateTime"
                }
            }, log: {
                serializedName: "properties.log",
                readOnly: true,
                xmlName: "properties.log",
                type: {
                    name: "String"
                }
            }, databases: {
                serializedName: "properties.databases",
                readOnly: true,
                xmlName: "properties.databases",
                xmlElementName: "DatabaseBackupSetting",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DatabaseBackupSetting"
                        }
                    }
                }
            }, scheduled: {
                serializedName: "properties.scheduled",
                readOnly: true,
                xmlName: "properties.scheduled",
                type: {
                    name: "Boolean"
                }
            }, lastRestoreTimeStamp: {
                serializedName: "properties.lastRestoreTimeStamp",
                readOnly: true,
                xmlName: "properties.lastRestoreTimeStamp",
                type: {
                    name: "DateTime"
                }
            }, finishedTimeStamp: {
                serializedName: "properties.finishedTimeStamp",
                readOnly: true,
                xmlName: "properties.finishedTimeStamp",
                type: {
                    name: "DateTime"
                }
            }, correlationId: {
                serializedName: "properties.correlationId",
                readOnly: true,
                xmlName: "properties.correlationId",
                type: {
                    name: "String"
                }
            }, websiteSizeInBytes: {
                serializedName: "properties.websiteSizeInBytes",
                readOnly: true,
                xmlName: "properties.websiteSizeInBytes",
                type: {
                    name: "Number"
                }
            } })
    }
};
export const RestoreRequest = {
    serializedName: "RestoreRequest",
    type: {
        name: "Composite",
        className: "RestoreRequest",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { storageAccountUrl: {
                serializedName: "properties.storageAccountUrl",
                xmlName: "properties.storageAccountUrl",
                type: {
                    name: "String"
                }
            }, blobName: {
                serializedName: "properties.blobName",
                xmlName: "properties.blobName",
                type: {
                    name: "String"
                }
            }, overwrite: {
                serializedName: "properties.overwrite",
                xmlName: "properties.overwrite",
                type: {
                    name: "Boolean"
                }
            }, siteName: {
                serializedName: "properties.siteName",
                xmlName: "properties.siteName",
                type: {
                    name: "String"
                }
            }, databases: {
                serializedName: "properties.databases",
                xmlName: "properties.databases",
                xmlElementName: "DatabaseBackupSetting",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "DatabaseBackupSetting"
                        }
                    }
                }
            }, ignoreConflictingHostNames: {
                defaultValue: false,
                serializedName: "properties.ignoreConflictingHostNames",
                xmlName: "properties.ignoreConflictingHostNames",
                type: {
                    name: "Boolean"
                }
            }, ignoreDatabases: {
                defaultValue: false,
                serializedName: "properties.ignoreDatabases",
                xmlName: "properties.ignoreDatabases",
                type: {
                    name: "Boolean"
                }
            }, appServicePlan: {
                serializedName: "properties.appServicePlan",
                xmlName: "properties.appServicePlan",
                type: {
                    name: "String"
                }
            }, operationType: {
                defaultValue: "Default",
                serializedName: "properties.operationType",
                xmlName: "properties.operationType",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Default",
                        "Clone",
                        "Relocation",
                        "Snapshot",
                        "CloudFS"
                    ]
                }
            }, adjustConnectionStrings: {
                serializedName: "properties.adjustConnectionStrings",
                xmlName: "properties.adjustConnectionStrings",
                type: {
                    name: "Boolean"
                }
            }, hostingEnvironment: {
                serializedName: "properties.hostingEnvironment",
                xmlName: "properties.hostingEnvironment",
                type: {
                    name: "String"
                }
            } })
    }
};
export const CsmPublishingCredentialsPoliciesEntity = {
    serializedName: "CsmPublishingCredentialsPoliciesEntity",
    type: {
        name: "Composite",
        className: "CsmPublishingCredentialsPoliciesEntity",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { allow: {
                serializedName: "properties.allow",
                xmlName: "properties.allow",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const SiteConfigResource = {
    serializedName: "SiteConfigResource",
    type: {
        name: "Composite",
        className: "SiteConfigResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { numberOfWorkers: {
                serializedName: "properties.numberOfWorkers",
                xmlName: "properties.numberOfWorkers",
                type: {
                    name: "Number"
                }
            }, defaultDocuments: {
                serializedName: "properties.defaultDocuments",
                xmlName: "properties.defaultDocuments",
                xmlElementName: "SiteConfigDefaultDocumentsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, netFrameworkVersion: {
                defaultValue: "v4.6",
                serializedName: "properties.netFrameworkVersion",
                xmlName: "properties.netFrameworkVersion",
                type: {
                    name: "String"
                }
            }, phpVersion: {
                serializedName: "properties.phpVersion",
                xmlName: "properties.phpVersion",
                type: {
                    name: "String"
                }
            }, pythonVersion: {
                serializedName: "properties.pythonVersion",
                xmlName: "properties.pythonVersion",
                type: {
                    name: "String"
                }
            }, nodeVersion: {
                serializedName: "properties.nodeVersion",
                xmlName: "properties.nodeVersion",
                type: {
                    name: "String"
                }
            }, powerShellVersion: {
                serializedName: "properties.powerShellVersion",
                xmlName: "properties.powerShellVersion",
                type: {
                    name: "String"
                }
            }, linuxFxVersion: {
                serializedName: "properties.linuxFxVersion",
                xmlName: "properties.linuxFxVersion",
                type: {
                    name: "String"
                }
            }, windowsFxVersion: {
                serializedName: "properties.windowsFxVersion",
                xmlName: "properties.windowsFxVersion",
                type: {
                    name: "String"
                }
            }, requestTracingEnabled: {
                serializedName: "properties.requestTracingEnabled",
                xmlName: "properties.requestTracingEnabled",
                type: {
                    name: "Boolean"
                }
            }, requestTracingExpirationTime: {
                serializedName: "properties.requestTracingExpirationTime",
                xmlName: "properties.requestTracingExpirationTime",
                type: {
                    name: "DateTime"
                }
            }, remoteDebuggingEnabled: {
                serializedName: "properties.remoteDebuggingEnabled",
                xmlName: "properties.remoteDebuggingEnabled",
                type: {
                    name: "Boolean"
                }
            }, remoteDebuggingVersion: {
                serializedName: "properties.remoteDebuggingVersion",
                xmlName: "properties.remoteDebuggingVersion",
                type: {
                    name: "String"
                }
            }, httpLoggingEnabled: {
                serializedName: "properties.httpLoggingEnabled",
                xmlName: "properties.httpLoggingEnabled",
                type: {
                    name: "Boolean"
                }
            }, acrUseManagedIdentityCreds: {
                serializedName: "properties.acrUseManagedIdentityCreds",
                xmlName: "properties.acrUseManagedIdentityCreds",
                type: {
                    name: "Boolean"
                }
            }, acrUserManagedIdentityID: {
                serializedName: "properties.acrUserManagedIdentityID",
                xmlName: "properties.acrUserManagedIdentityID",
                type: {
                    name: "String"
                }
            }, logsDirectorySizeLimit: {
                serializedName: "properties.logsDirectorySizeLimit",
                xmlName: "properties.logsDirectorySizeLimit",
                type: {
                    name: "Number"
                }
            }, detailedErrorLoggingEnabled: {
                serializedName: "properties.detailedErrorLoggingEnabled",
                xmlName: "properties.detailedErrorLoggingEnabled",
                type: {
                    name: "Boolean"
                }
            }, publishingUsername: {
                serializedName: "properties.publishingUsername",
                xmlName: "properties.publishingUsername",
                type: {
                    name: "String"
                }
            }, appSettings: {
                serializedName: "properties.appSettings",
                xmlName: "properties.appSettings",
                xmlElementName: "NameValuePair",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "NameValuePair"
                        }
                    }
                }
            }, metadata: {
                serializedName: "properties.metadata",
                xmlName: "properties.metadata",
                xmlElementName: "NameValuePair",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "NameValuePair"
                        }
                    }
                }
            }, connectionStrings: {
                serializedName: "properties.connectionStrings",
                xmlName: "properties.connectionStrings",
                xmlElementName: "ConnStringInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ConnStringInfo"
                        }
                    }
                }
            }, machineKey: {
                serializedName: "properties.machineKey",
                xmlName: "properties.machineKey",
                type: {
                    name: "Composite",
                    className: "SiteMachineKey"
                }
            }, handlerMappings: {
                serializedName: "properties.handlerMappings",
                xmlName: "properties.handlerMappings",
                xmlElementName: "HandlerMapping",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HandlerMapping"
                        }
                    }
                }
            }, documentRoot: {
                serializedName: "properties.documentRoot",
                xmlName: "properties.documentRoot",
                type: {
                    name: "String"
                }
            }, scmType: {
                serializedName: "properties.scmType",
                xmlName: "properties.scmType",
                type: {
                    name: "String"
                }
            }, use32BitWorkerProcess: {
                serializedName: "properties.use32BitWorkerProcess",
                xmlName: "properties.use32BitWorkerProcess",
                type: {
                    name: "Boolean"
                }
            }, webSocketsEnabled: {
                serializedName: "properties.webSocketsEnabled",
                xmlName: "properties.webSocketsEnabled",
                type: {
                    name: "Boolean"
                }
            }, alwaysOn: {
                serializedName: "properties.alwaysOn",
                xmlName: "properties.alwaysOn",
                type: {
                    name: "Boolean"
                }
            }, javaVersion: {
                serializedName: "properties.javaVersion",
                xmlName: "properties.javaVersion",
                type: {
                    name: "String"
                }
            }, javaContainer: {
                serializedName: "properties.javaContainer",
                xmlName: "properties.javaContainer",
                type: {
                    name: "String"
                }
            }, javaContainerVersion: {
                serializedName: "properties.javaContainerVersion",
                xmlName: "properties.javaContainerVersion",
                type: {
                    name: "String"
                }
            }, appCommandLine: {
                serializedName: "properties.appCommandLine",
                xmlName: "properties.appCommandLine",
                type: {
                    name: "String"
                }
            }, managedPipelineMode: {
                serializedName: "properties.managedPipelineMode",
                xmlName: "properties.managedPipelineMode",
                type: {
                    name: "Enum",
                    allowedValues: ["Integrated", "Classic"]
                }
            }, virtualApplications: {
                serializedName: "properties.virtualApplications",
                xmlName: "properties.virtualApplications",
                xmlElementName: "VirtualApplication",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "VirtualApplication"
                        }
                    }
                }
            }, loadBalancing: {
                serializedName: "properties.loadBalancing",
                xmlName: "properties.loadBalancing",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "WeightedRoundRobin",
                        "LeastRequests",
                        "LeastResponseTime",
                        "WeightedTotalTraffic",
                        "RequestHash",
                        "PerSiteRoundRobin"
                    ]
                }
            }, experiments: {
                serializedName: "properties.experiments",
                xmlName: "properties.experiments",
                type: {
                    name: "Composite",
                    className: "Experiments"
                }
            }, limits: {
                serializedName: "properties.limits",
                xmlName: "properties.limits",
                type: {
                    name: "Composite",
                    className: "SiteLimits"
                }
            }, autoHealEnabled: {
                serializedName: "properties.autoHealEnabled",
                xmlName: "properties.autoHealEnabled",
                type: {
                    name: "Boolean"
                }
            }, autoHealRules: {
                serializedName: "properties.autoHealRules",
                xmlName: "properties.autoHealRules",
                type: {
                    name: "Composite",
                    className: "AutoHealRules"
                }
            }, tracingOptions: {
                serializedName: "properties.tracingOptions",
                xmlName: "properties.tracingOptions",
                type: {
                    name: "String"
                }
            }, vnetName: {
                serializedName: "properties.vnetName",
                xmlName: "properties.vnetName",
                type: {
                    name: "String"
                }
            }, vnetRouteAllEnabled: {
                serializedName: "properties.vnetRouteAllEnabled",
                xmlName: "properties.vnetRouteAllEnabled",
                type: {
                    name: "Boolean"
                }
            }, vnetPrivatePortsCount: {
                serializedName: "properties.vnetPrivatePortsCount",
                xmlName: "properties.vnetPrivatePortsCount",
                type: {
                    name: "Number"
                }
            }, cors: {
                serializedName: "properties.cors",
                xmlName: "properties.cors",
                type: {
                    name: "Composite",
                    className: "CorsSettings"
                }
            }, push: {
                serializedName: "properties.push",
                xmlName: "properties.push",
                type: {
                    name: "Composite",
                    className: "PushSettings"
                }
            }, apiDefinition: {
                serializedName: "properties.apiDefinition",
                xmlName: "properties.apiDefinition",
                type: {
                    name: "Composite",
                    className: "ApiDefinitionInfo"
                }
            }, apiManagementConfig: {
                serializedName: "properties.apiManagementConfig",
                xmlName: "properties.apiManagementConfig",
                type: {
                    name: "Composite",
                    className: "ApiManagementConfig"
                }
            }, autoSwapSlotName: {
                serializedName: "properties.autoSwapSlotName",
                xmlName: "properties.autoSwapSlotName",
                type: {
                    name: "String"
                }
            }, localMySqlEnabled: {
                defaultValue: false,
                serializedName: "properties.localMySqlEnabled",
                xmlName: "properties.localMySqlEnabled",
                type: {
                    name: "Boolean"
                }
            }, managedServiceIdentityId: {
                serializedName: "properties.managedServiceIdentityId",
                xmlName: "properties.managedServiceIdentityId",
                type: {
                    name: "Number"
                }
            }, xManagedServiceIdentityId: {
                serializedName: "properties.xManagedServiceIdentityId",
                xmlName: "properties.xManagedServiceIdentityId",
                type: {
                    name: "Number"
                }
            }, keyVaultReferenceIdentity: {
                serializedName: "properties.keyVaultReferenceIdentity",
                xmlName: "properties.keyVaultReferenceIdentity",
                type: {
                    name: "String"
                }
            }, ipSecurityRestrictions: {
                serializedName: "properties.ipSecurityRestrictions",
                xmlName: "properties.ipSecurityRestrictions",
                xmlElementName: "IpSecurityRestriction",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "IpSecurityRestriction"
                        }
                    }
                }
            }, ipSecurityRestrictionsDefaultAction: {
                serializedName: "properties.ipSecurityRestrictionsDefaultAction",
                xmlName: "properties.ipSecurityRestrictionsDefaultAction",
                type: {
                    name: "String"
                }
            }, scmIpSecurityRestrictions: {
                serializedName: "properties.scmIpSecurityRestrictions",
                xmlName: "properties.scmIpSecurityRestrictions",
                xmlElementName: "IpSecurityRestriction",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "IpSecurityRestriction"
                        }
                    }
                }
            }, scmIpSecurityRestrictionsDefaultAction: {
                serializedName: "properties.scmIpSecurityRestrictionsDefaultAction",
                xmlName: "properties.scmIpSecurityRestrictionsDefaultAction",
                type: {
                    name: "String"
                }
            }, scmIpSecurityRestrictionsUseMain: {
                serializedName: "properties.scmIpSecurityRestrictionsUseMain",
                xmlName: "properties.scmIpSecurityRestrictionsUseMain",
                type: {
                    name: "Boolean"
                }
            }, http20Enabled: {
                defaultValue: true,
                serializedName: "properties.http20Enabled",
                xmlName: "properties.http20Enabled",
                type: {
                    name: "Boolean"
                }
            }, minTlsVersion: {
                serializedName: "properties.minTlsVersion",
                xmlName: "properties.minTlsVersion",
                type: {
                    name: "String"
                }
            }, minTlsCipherSuite: {
                serializedName: "properties.minTlsCipherSuite",
                xmlName: "properties.minTlsCipherSuite",
                type: {
                    name: "String"
                }
            }, scmMinTlsVersion: {
                serializedName: "properties.scmMinTlsVersion",
                xmlName: "properties.scmMinTlsVersion",
                type: {
                    name: "String"
                }
            }, ftpsState: {
                serializedName: "properties.ftpsState",
                xmlName: "properties.ftpsState",
                type: {
                    name: "String"
                }
            }, preWarmedInstanceCount: {
                constraints: {
                    InclusiveMaximum: 10,
                    InclusiveMinimum: 0
                },
                serializedName: "properties.preWarmedInstanceCount",
                xmlName: "properties.preWarmedInstanceCount",
                type: {
                    name: "Number"
                }
            }, functionAppScaleLimit: {
                constraints: {
                    InclusiveMinimum: 0
                },
                serializedName: "properties.functionAppScaleLimit",
                xmlName: "properties.functionAppScaleLimit",
                type: {
                    name: "Number"
                }
            }, elasticWebAppScaleLimit: {
                constraints: {
                    InclusiveMinimum: 0
                },
                serializedName: "properties.elasticWebAppScaleLimit",
                xmlName: "properties.elasticWebAppScaleLimit",
                type: {
                    name: "Number"
                }
            }, healthCheckPath: {
                serializedName: "properties.healthCheckPath",
                xmlName: "properties.healthCheckPath",
                type: {
                    name: "String"
                }
            }, functionsRuntimeScaleMonitoringEnabled: {
                serializedName: "properties.functionsRuntimeScaleMonitoringEnabled",
                xmlName: "properties.functionsRuntimeScaleMonitoringEnabled",
                type: {
                    name: "Boolean"
                }
            }, websiteTimeZone: {
                serializedName: "properties.websiteTimeZone",
                xmlName: "properties.websiteTimeZone",
                type: {
                    name: "String"
                }
            }, minimumElasticInstanceCount: {
                constraints: {
                    InclusiveMaximum: 20,
                    InclusiveMinimum: 0
                },
                serializedName: "properties.minimumElasticInstanceCount",
                xmlName: "properties.minimumElasticInstanceCount",
                type: {
                    name: "Number"
                }
            }, azureStorageAccounts: {
                serializedName: "properties.azureStorageAccounts",
                xmlName: "properties.azureStorageAccounts",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Composite", className: "AzureStorageInfoValue" }
                    }
                }
            }, publicNetworkAccess: {
                serializedName: "properties.publicNetworkAccess",
                xmlName: "properties.publicNetworkAccess",
                type: {
                    name: "String"
                }
            } })
    }
};
export const SiteAuthSettings = {
    serializedName: "SiteAuthSettings",
    type: {
        name: "Composite",
        className: "SiteAuthSettings",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { enabled: {
                serializedName: "properties.enabled",
                xmlName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }, runtimeVersion: {
                serializedName: "properties.runtimeVersion",
                xmlName: "properties.runtimeVersion",
                type: {
                    name: "String"
                }
            }, unauthenticatedClientAction: {
                serializedName: "properties.unauthenticatedClientAction",
                xmlName: "properties.unauthenticatedClientAction",
                type: {
                    name: "Enum",
                    allowedValues: ["RedirectToLoginPage", "AllowAnonymous"]
                }
            }, tokenStoreEnabled: {
                serializedName: "properties.tokenStoreEnabled",
                xmlName: "properties.tokenStoreEnabled",
                type: {
                    name: "Boolean"
                }
            }, allowedExternalRedirectUrls: {
                serializedName: "properties.allowedExternalRedirectUrls",
                xmlName: "properties.allowedExternalRedirectUrls",
                xmlElementName: "SiteAuthSettingsPropertiesAllowedExternalRedirectUrlsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, defaultProvider: {
                serializedName: "properties.defaultProvider",
                xmlName: "properties.defaultProvider",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "AzureActiveDirectory",
                        "Facebook",
                        "Google",
                        "MicrosoftAccount",
                        "Twitter",
                        "Github"
                    ]
                }
            }, tokenRefreshExtensionHours: {
                serializedName: "properties.tokenRefreshExtensionHours",
                xmlName: "properties.tokenRefreshExtensionHours",
                type: {
                    name: "Number"
                }
            }, clientId: {
                serializedName: "properties.clientId",
                xmlName: "properties.clientId",
                type: {
                    name: "String"
                }
            }, clientSecret: {
                serializedName: "properties.clientSecret",
                xmlName: "properties.clientSecret",
                type: {
                    name: "String"
                }
            }, clientSecretSettingName: {
                serializedName: "properties.clientSecretSettingName",
                xmlName: "properties.clientSecretSettingName",
                type: {
                    name: "String"
                }
            }, clientSecretCertificateThumbprint: {
                serializedName: "properties.clientSecretCertificateThumbprint",
                xmlName: "properties.clientSecretCertificateThumbprint",
                type: {
                    name: "String"
                }
            }, issuer: {
                serializedName: "properties.issuer",
                xmlName: "properties.issuer",
                type: {
                    name: "String"
                }
            }, validateIssuer: {
                serializedName: "properties.validateIssuer",
                xmlName: "properties.validateIssuer",
                type: {
                    name: "Boolean"
                }
            }, allowedAudiences: {
                serializedName: "properties.allowedAudiences",
                xmlName: "properties.allowedAudiences",
                xmlElementName: "SiteAuthSettingsPropertiesAllowedAudiencesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, additionalLoginParams: {
                serializedName: "properties.additionalLoginParams",
                xmlName: "properties.additionalLoginParams",
                xmlElementName: "SiteAuthSettingsPropertiesAdditionalLoginParamsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, aadClaimsAuthorization: {
                serializedName: "properties.aadClaimsAuthorization",
                xmlName: "properties.aadClaimsAuthorization",
                type: {
                    name: "String"
                }
            }, googleClientId: {
                serializedName: "properties.googleClientId",
                xmlName: "properties.googleClientId",
                type: {
                    name: "String"
                }
            }, googleClientSecret: {
                serializedName: "properties.googleClientSecret",
                xmlName: "properties.googleClientSecret",
                type: {
                    name: "String"
                }
            }, googleClientSecretSettingName: {
                serializedName: "properties.googleClientSecretSettingName",
                xmlName: "properties.googleClientSecretSettingName",
                type: {
                    name: "String"
                }
            }, googleOAuthScopes: {
                serializedName: "properties.googleOAuthScopes",
                xmlName: "properties.googleOAuthScopes",
                xmlElementName: "SiteAuthSettingsPropertiesGoogleOAuthScopesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, facebookAppId: {
                serializedName: "properties.facebookAppId",
                xmlName: "properties.facebookAppId",
                type: {
                    name: "String"
                }
            }, facebookAppSecret: {
                serializedName: "properties.facebookAppSecret",
                xmlName: "properties.facebookAppSecret",
                type: {
                    name: "String"
                }
            }, facebookAppSecretSettingName: {
                serializedName: "properties.facebookAppSecretSettingName",
                xmlName: "properties.facebookAppSecretSettingName",
                type: {
                    name: "String"
                }
            }, facebookOAuthScopes: {
                serializedName: "properties.facebookOAuthScopes",
                xmlName: "properties.facebookOAuthScopes",
                xmlElementName: "SiteAuthSettingsPropertiesFacebookOAuthScopesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, gitHubClientId: {
                serializedName: "properties.gitHubClientId",
                xmlName: "properties.gitHubClientId",
                type: {
                    name: "String"
                }
            }, gitHubClientSecret: {
                serializedName: "properties.gitHubClientSecret",
                xmlName: "properties.gitHubClientSecret",
                type: {
                    name: "String"
                }
            }, gitHubClientSecretSettingName: {
                serializedName: "properties.gitHubClientSecretSettingName",
                xmlName: "properties.gitHubClientSecretSettingName",
                type: {
                    name: "String"
                }
            }, gitHubOAuthScopes: {
                serializedName: "properties.gitHubOAuthScopes",
                xmlName: "properties.gitHubOAuthScopes",
                xmlElementName: "SiteAuthSettingsPropertiesGitHubOAuthScopesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, twitterConsumerKey: {
                serializedName: "properties.twitterConsumerKey",
                xmlName: "properties.twitterConsumerKey",
                type: {
                    name: "String"
                }
            }, twitterConsumerSecret: {
                serializedName: "properties.twitterConsumerSecret",
                xmlName: "properties.twitterConsumerSecret",
                type: {
                    name: "String"
                }
            }, twitterConsumerSecretSettingName: {
                serializedName: "properties.twitterConsumerSecretSettingName",
                xmlName: "properties.twitterConsumerSecretSettingName",
                type: {
                    name: "String"
                }
            }, microsoftAccountClientId: {
                serializedName: "properties.microsoftAccountClientId",
                xmlName: "properties.microsoftAccountClientId",
                type: {
                    name: "String"
                }
            }, microsoftAccountClientSecret: {
                serializedName: "properties.microsoftAccountClientSecret",
                xmlName: "properties.microsoftAccountClientSecret",
                type: {
                    name: "String"
                }
            }, microsoftAccountClientSecretSettingName: {
                serializedName: "properties.microsoftAccountClientSecretSettingName",
                xmlName: "properties.microsoftAccountClientSecretSettingName",
                type: {
                    name: "String"
                }
            }, microsoftAccountOAuthScopes: {
                serializedName: "properties.microsoftAccountOAuthScopes",
                xmlName: "properties.microsoftAccountOAuthScopes",
                xmlElementName: "SiteAuthSettingsPropertiesMicrosoftAccountOAuthScopesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, isAuthFromFile: {
                serializedName: "properties.isAuthFromFile",
                xmlName: "properties.isAuthFromFile",
                type: {
                    name: "String"
                }
            }, authFilePath: {
                serializedName: "properties.authFilePath",
                xmlName: "properties.authFilePath",
                type: {
                    name: "String"
                }
            }, configVersion: {
                serializedName: "properties.configVersion",
                xmlName: "properties.configVersion",
                type: {
                    name: "String"
                }
            } })
    }
};
export const SiteAuthSettingsV2 = {
    serializedName: "SiteAuthSettingsV2",
    type: {
        name: "Composite",
        className: "SiteAuthSettingsV2",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { platform: {
                serializedName: "properties.platform",
                xmlName: "properties.platform",
                type: {
                    name: "Composite",
                    className: "AuthPlatform"
                }
            }, globalValidation: {
                serializedName: "properties.globalValidation",
                xmlName: "properties.globalValidation",
                type: {
                    name: "Composite",
                    className: "GlobalValidation"
                }
            }, identityProviders: {
                serializedName: "properties.identityProviders",
                xmlName: "properties.identityProviders",
                type: {
                    name: "Composite",
                    className: "IdentityProviders"
                }
            }, login: {
                serializedName: "properties.login",
                xmlName: "properties.login",
                type: {
                    name: "Composite",
                    className: "Login"
                }
            }, httpSettings: {
                serializedName: "properties.httpSettings",
                xmlName: "properties.httpSettings",
                type: {
                    name: "Composite",
                    className: "HttpSettings"
                }
            } })
    }
};
export const AzureStoragePropertyDictionaryResource = {
    serializedName: "AzureStoragePropertyDictionaryResource",
    type: {
        name: "Composite",
        className: "AzureStoragePropertyDictionaryResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { properties: {
                serializedName: "properties",
                xmlName: "properties",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Composite", className: "AzureStorageInfoValue" }
                    }
                }
            } })
    }
};
export const ApiKVReference = {
    serializedName: "ApiKVReference",
    type: {
        name: "Composite",
        className: "ApiKVReference",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { reference: {
                serializedName: "properties.reference",
                xmlName: "properties.reference",
                type: {
                    name: "String"
                }
            }, status: {
                serializedName: "properties.status",
                xmlName: "properties.status",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Initialized",
                        "Resolved",
                        "InvalidSyntax",
                        "MSINotEnabled",
                        "VaultNotFound",
                        "SecretNotFound",
                        "SecretVersionNotFound",
                        "AccessToKeyVaultDenied",
                        "OtherReasons",
                        "FetchTimedOut",
                        "UnauthorizedClient"
                    ]
                }
            }, vaultName: {
                serializedName: "properties.vaultName",
                xmlName: "properties.vaultName",
                type: {
                    name: "String"
                }
            }, secretName: {
                serializedName: "properties.secretName",
                xmlName: "properties.secretName",
                type: {
                    name: "String"
                }
            }, secretVersion: {
                serializedName: "properties.secretVersion",
                xmlName: "properties.secretVersion",
                type: {
                    name: "String"
                }
            }, identityType: {
                serializedName: "properties.identityType",
                xmlName: "properties.identityType",
                type: {
                    name: "Composite",
                    className: "ManagedServiceIdentity"
                }
            }, details: {
                serializedName: "properties.details",
                xmlName: "properties.details",
                type: {
                    name: "String"
                }
            }, source: {
                defaultValue: "KeyVault",
                isConstant: true,
                serializedName: "properties.source",
                type: {
                    name: "String"
                }
            }, activeVersion: {
                serializedName: "properties.activeVersion",
                xmlName: "properties.activeVersion",
                type: {
                    name: "String"
                }
            } })
    }
};
export const ConnectionStringDictionary = {
    serializedName: "ConnectionStringDictionary",
    type: {
        name: "Composite",
        className: "ConnectionStringDictionary",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { properties: {
                serializedName: "properties",
                xmlName: "properties",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Composite", className: "ConnStringValueTypePair" }
                    }
                }
            } })
    }
};
export const SiteLogsConfig = {
    serializedName: "SiteLogsConfig",
    type: {
        name: "Composite",
        className: "SiteLogsConfig",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { applicationLogs: {
                serializedName: "properties.applicationLogs",
                xmlName: "properties.applicationLogs",
                type: {
                    name: "Composite",
                    className: "ApplicationLogsConfig"
                }
            }, httpLogs: {
                serializedName: "properties.httpLogs",
                xmlName: "properties.httpLogs",
                type: {
                    name: "Composite",
                    className: "HttpLogsConfig"
                }
            }, failedRequestsTracing: {
                serializedName: "properties.failedRequestsTracing",
                xmlName: "properties.failedRequestsTracing",
                type: {
                    name: "Composite",
                    className: "EnabledConfig"
                }
            }, detailedErrorMessages: {
                serializedName: "properties.detailedErrorMessages",
                xmlName: "properties.detailedErrorMessages",
                type: {
                    name: "Composite",
                    className: "EnabledConfig"
                }
            } })
    }
};
export const SlotConfigNamesResource = {
    serializedName: "SlotConfigNamesResource",
    type: {
        name: "Composite",
        className: "SlotConfigNamesResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { connectionStringNames: {
                serializedName: "properties.connectionStringNames",
                xmlName: "properties.connectionStringNames",
                xmlElementName: "SlotConfigNamesConnectionStringNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, appSettingNames: {
                serializedName: "properties.appSettingNames",
                xmlName: "properties.appSettingNames",
                xmlElementName: "SlotConfigNamesAppSettingNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, azureStorageConfigNames: {
                serializedName: "properties.azureStorageConfigNames",
                xmlName: "properties.azureStorageConfigNames",
                xmlElementName: "SlotConfigNamesAzureStorageConfigNamesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            } })
    }
};
export const SiteConfigurationSnapshotInfo = {
    serializedName: "SiteConfigurationSnapshotInfo",
    type: {
        name: "Composite",
        className: "SiteConfigurationSnapshotInfo",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { time: {
                serializedName: "properties.time",
                readOnly: true,
                xmlName: "properties.time",
                type: {
                    name: "DateTime"
                }
            }, snapshotId: {
                serializedName: "properties.snapshotId",
                readOnly: true,
                xmlName: "properties.snapshotId",
                type: {
                    name: "Number"
                }
            } })
    }
};
export const ContinuousWebJob = {
    serializedName: "ContinuousWebJob",
    type: {
        name: "Composite",
        className: "ContinuousWebJob",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { status: {
                serializedName: "properties.status",
                xmlName: "properties.status",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "Initializing",
                        "Starting",
                        "Running",
                        "PendingRestart",
                        "Stopped"
                    ]
                }
            }, detailedStatus: {
                serializedName: "properties.detailed_status",
                xmlName: "properties.detailed_status",
                type: {
                    name: "String"
                }
            }, logUrl: {
                serializedName: "properties.log_url",
                xmlName: "properties.log_url",
                type: {
                    name: "String"
                }
            }, runCommand: {
                serializedName: "properties.run_command",
                xmlName: "properties.run_command",
                type: {
                    name: "String"
                }
            }, url: {
                serializedName: "properties.url",
                xmlName: "properties.url",
                type: {
                    name: "String"
                }
            }, extraInfoUrl: {
                serializedName: "properties.extra_info_url",
                xmlName: "properties.extra_info_url",
                type: {
                    name: "String"
                }
            }, webJobType: {
                serializedName: "properties.web_job_type",
                xmlName: "properties.web_job_type",
                type: {
                    name: "Enum",
                    allowedValues: ["Continuous", "Triggered"]
                }
            }, error: {
                serializedName: "properties.error",
                xmlName: "properties.error",
                type: {
                    name: "String"
                }
            }, usingSdk: {
                serializedName: "properties.using_sdk",
                xmlName: "properties.using_sdk",
                type: {
                    name: "Boolean"
                }
            }, settings: {
                serializedName: "properties.settings",
                xmlName: "properties.settings",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Dictionary", value: { type: { name: "any" } } }
                    }
                }
            } })
    }
};
export const CsmDeploymentStatus = {
    serializedName: "CsmDeploymentStatus",
    type: {
        name: "Composite",
        className: "CsmDeploymentStatus",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { deploymentId: {
                serializedName: "properties.deploymentId",
                xmlName: "properties.deploymentId",
                type: {
                    name: "String"
                }
            }, status: {
                serializedName: "properties.status",
                xmlName: "properties.status",
                type: {
                    name: "String"
                }
            }, numberOfInstancesInProgress: {
                serializedName: "properties.numberOfInstancesInProgress",
                xmlName: "properties.numberOfInstancesInProgress",
                type: {
                    name: "Number"
                }
            }, numberOfInstancesSuccessful: {
                serializedName: "properties.numberOfInstancesSuccessful",
                xmlName: "properties.numberOfInstancesSuccessful",
                type: {
                    name: "Number"
                }
            }, numberOfInstancesFailed: {
                serializedName: "properties.numberOfInstancesFailed",
                xmlName: "properties.numberOfInstancesFailed",
                type: {
                    name: "Number"
                }
            }, failedInstancesLogs: {
                serializedName: "properties.failedInstancesLogs",
                xmlName: "properties.failedInstancesLogs",
                xmlElementName: "CsmDeploymentStatusPropertiesFailedInstancesLogsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, errors: {
                serializedName: "properties.errors",
                xmlName: "properties.errors",
                xmlElementName: "ErrorEntity",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ErrorEntity"
                        }
                    }
                }
            } })
    }
};
export const Deployment = {
    serializedName: "Deployment",
    type: {
        name: "Composite",
        className: "Deployment",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { status: {
                serializedName: "properties.status",
                xmlName: "properties.status",
                type: {
                    name: "Number"
                }
            }, message: {
                serializedName: "properties.message",
                xmlName: "properties.message",
                type: {
                    name: "String"
                }
            }, author: {
                serializedName: "properties.author",
                xmlName: "properties.author",
                type: {
                    name: "String"
                }
            }, deployer: {
                serializedName: "properties.deployer",
                xmlName: "properties.deployer",
                type: {
                    name: "String"
                }
            }, authorEmail: {
                serializedName: "properties.author_email",
                xmlName: "properties.author_email",
                type: {
                    name: "String"
                }
            }, startTime: {
                serializedName: "properties.start_time",
                xmlName: "properties.start_time",
                type: {
                    name: "DateTime"
                }
            }, endTime: {
                serializedName: "properties.end_time",
                xmlName: "properties.end_time",
                type: {
                    name: "DateTime"
                }
            }, active: {
                serializedName: "properties.active",
                xmlName: "properties.active",
                type: {
                    name: "Boolean"
                }
            }, details: {
                serializedName: "properties.details",
                xmlName: "properties.details",
                type: {
                    name: "String"
                }
            } })
    }
};
export const MSDeployStatus = {
    serializedName: "MSDeployStatus",
    type: {
        name: "Composite",
        className: "MSDeployStatus",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { deployer: {
                serializedName: "properties.deployer",
                readOnly: true,
                xmlName: "properties.deployer",
                type: {
                    name: "String"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "accepted",
                        "running",
                        "succeeded",
                        "failed",
                        "canceled"
                    ]
                }
            }, startTime: {
                serializedName: "properties.startTime",
                readOnly: true,
                xmlName: "properties.startTime",
                type: {
                    name: "DateTime"
                }
            }, endTime: {
                serializedName: "properties.endTime",
                readOnly: true,
                xmlName: "properties.endTime",
                type: {
                    name: "DateTime"
                }
            }, complete: {
                serializedName: "properties.complete",
                readOnly: true,
                xmlName: "properties.complete",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const MSDeploy = {
    serializedName: "MSDeploy",
    type: {
        name: "Composite",
        className: "MSDeploy",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { packageUri: {
                serializedName: "properties.packageUri",
                xmlName: "properties.packageUri",
                type: {
                    name: "String"
                }
            }, connectionString: {
                serializedName: "properties.connectionString",
                xmlName: "properties.connectionString",
                type: {
                    name: "String"
                }
            }, dbType: {
                serializedName: "properties.dbType",
                xmlName: "properties.dbType",
                type: {
                    name: "String"
                }
            }, setParametersXmlFileUri: {
                serializedName: "properties.setParametersXmlFileUri",
                xmlName: "properties.setParametersXmlFileUri",
                type: {
                    name: "String"
                }
            }, setParameters: {
                serializedName: "properties.setParameters",
                xmlName: "properties.setParameters",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }, skipAppData: {
                serializedName: "properties.skipAppData",
                xmlName: "properties.skipAppData",
                type: {
                    name: "Boolean"
                }
            }, appOffline: {
                serializedName: "properties.appOffline",
                xmlName: "properties.appOffline",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const MSDeployLog = {
    serializedName: "MSDeployLog",
    type: {
        name: "Composite",
        className: "MSDeployLog",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { entries: {
                serializedName: "properties.entries",
                readOnly: true,
                xmlName: "properties.entries",
                xmlElementName: "MSDeployLogEntry",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "MSDeployLogEntry"
                        }
                    }
                }
            } })
    }
};
export const FunctionEnvelope = {
    serializedName: "FunctionEnvelope",
    type: {
        name: "Composite",
        className: "FunctionEnvelope",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { functionAppId: {
                serializedName: "properties.function_app_id",
                xmlName: "properties.function_app_id",
                type: {
                    name: "String"
                }
            }, scriptRootPathHref: {
                serializedName: "properties.script_root_path_href",
                xmlName: "properties.script_root_path_href",
                type: {
                    name: "String"
                }
            }, scriptHref: {
                serializedName: "properties.script_href",
                xmlName: "properties.script_href",
                type: {
                    name: "String"
                }
            }, configHref: {
                serializedName: "properties.config_href",
                xmlName: "properties.config_href",
                type: {
                    name: "String"
                }
            }, testDataHref: {
                serializedName: "properties.test_data_href",
                xmlName: "properties.test_data_href",
                type: {
                    name: "String"
                }
            }, secretsFileHref: {
                serializedName: "properties.secrets_file_href",
                xmlName: "properties.secrets_file_href",
                type: {
                    name: "String"
                }
            }, href: {
                serializedName: "properties.href",
                xmlName: "properties.href",
                type: {
                    name: "String"
                }
            }, config: {
                serializedName: "properties.config",
                xmlName: "properties.config",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, files: {
                serializedName: "properties.files",
                xmlName: "properties.files",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }, testData: {
                serializedName: "properties.test_data",
                xmlName: "properties.test_data",
                type: {
                    name: "String"
                }
            }, invokeUrlTemplate: {
                serializedName: "properties.invoke_url_template",
                xmlName: "properties.invoke_url_template",
                type: {
                    name: "String"
                }
            }, language: {
                serializedName: "properties.language",
                xmlName: "properties.language",
                type: {
                    name: "String"
                }
            }, isDisabled: {
                serializedName: "properties.isDisabled",
                xmlName: "properties.isDisabled",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const HostNameBinding = {
    serializedName: "HostNameBinding",
    type: {
        name: "Composite",
        className: "HostNameBinding",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { siteName: {
                serializedName: "properties.siteName",
                xmlName: "properties.siteName",
                type: {
                    name: "String"
                }
            }, domainId: {
                serializedName: "properties.domainId",
                xmlName: "properties.domainId",
                type: {
                    name: "String"
                }
            }, azureResourceName: {
                serializedName: "properties.azureResourceName",
                xmlName: "properties.azureResourceName",
                type: {
                    name: "String"
                }
            }, azureResourceType: {
                serializedName: "properties.azureResourceType",
                xmlName: "properties.azureResourceType",
                type: {
                    name: "Enum",
                    allowedValues: ["Website", "TrafficManager"]
                }
            }, customHostNameDnsRecordType: {
                serializedName: "properties.customHostNameDnsRecordType",
                xmlName: "properties.customHostNameDnsRecordType",
                type: {
                    name: "Enum",
                    allowedValues: ["CName", "A"]
                }
            }, hostNameType: {
                serializedName: "properties.hostNameType",
                xmlName: "properties.hostNameType",
                type: {
                    name: "Enum",
                    allowedValues: ["Verified", "Managed"]
                }
            }, sslState: {
                serializedName: "properties.sslState",
                xmlName: "properties.sslState",
                type: {
                    name: "Enum",
                    allowedValues: ["Disabled", "SniEnabled", "IpBasedEnabled"]
                }
            }, thumbprint: {
                serializedName: "properties.thumbprint",
                xmlName: "properties.thumbprint",
                type: {
                    name: "String"
                }
            }, virtualIP: {
                serializedName: "properties.virtualIP",
                readOnly: true,
                xmlName: "properties.virtualIP",
                type: {
                    name: "String"
                }
            } })
    }
};
export const RelayServiceConnectionEntity = {
    serializedName: "RelayServiceConnectionEntity",
    type: {
        name: "Composite",
        className: "RelayServiceConnectionEntity",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { entityName: {
                serializedName: "properties.entityName",
                xmlName: "properties.entityName",
                type: {
                    name: "String"
                }
            }, entityConnectionString: {
                serializedName: "properties.entityConnectionString",
                xmlName: "properties.entityConnectionString",
                type: {
                    name: "String"
                }
            }, resourceType: {
                serializedName: "properties.resourceType",
                xmlName: "properties.resourceType",
                type: {
                    name: "String"
                }
            }, resourceConnectionString: {
                serializedName: "properties.resourceConnectionString",
                xmlName: "properties.resourceConnectionString",
                type: {
                    name: "String"
                }
            }, hostname: {
                serializedName: "properties.hostname",
                xmlName: "properties.hostname",
                type: {
                    name: "String"
                }
            }, port: {
                serializedName: "properties.port",
                xmlName: "properties.port",
                type: {
                    name: "Number"
                }
            }, biztalkUri: {
                serializedName: "properties.biztalkUri",
                xmlName: "properties.biztalkUri",
                type: {
                    name: "String"
                }
            } })
    }
};
export const WebSiteInstanceStatus = {
    serializedName: "WebSiteInstanceStatus",
    type: {
        name: "Composite",
        className: "WebSiteInstanceStatus",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { state: {
                serializedName: "properties.state",
                xmlName: "properties.state",
                type: {
                    name: "Enum",
                    allowedValues: ["READY", "STOPPED", "UNKNOWN"]
                }
            }, statusUrl: {
                serializedName: "properties.statusUrl",
                xmlName: "properties.statusUrl",
                type: {
                    name: "String"
                }
            }, detectorUrl: {
                serializedName: "properties.detectorUrl",
                xmlName: "properties.detectorUrl",
                type: {
                    name: "String"
                }
            }, consoleUrl: {
                serializedName: "properties.consoleUrl",
                xmlName: "properties.consoleUrl",
                type: {
                    name: "String"
                }
            }, healthCheckUrl: {
                serializedName: "properties.healthCheckUrl",
                xmlName: "properties.healthCheckUrl",
                type: {
                    name: "String"
                }
            }, containers: {
                serializedName: "properties.containers",
                xmlName: "properties.containers",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "Composite", className: "ContainerInfo" } }
                }
            } })
    }
};
export const ProcessThreadInfo = {
    serializedName: "ProcessThreadInfo",
    type: {
        name: "Composite",
        className: "ProcessThreadInfo",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { identifier: {
                serializedName: "properties.identifier",
                readOnly: true,
                xmlName: "properties.identifier",
                type: {
                    name: "Number"
                }
            }, href: {
                serializedName: "properties.href",
                xmlName: "properties.href",
                type: {
                    name: "String"
                }
            }, process: {
                serializedName: "properties.process",
                xmlName: "properties.process",
                type: {
                    name: "String"
                }
            }, startAddress: {
                serializedName: "properties.start_address",
                xmlName: "properties.start_address",
                type: {
                    name: "String"
                }
            }, currentPriority: {
                serializedName: "properties.current_priority",
                xmlName: "properties.current_priority",
                type: {
                    name: "Number"
                }
            }, priorityLevel: {
                serializedName: "properties.priority_level",
                xmlName: "properties.priority_level",
                type: {
                    name: "String"
                }
            }, basePriority: {
                serializedName: "properties.base_priority",
                xmlName: "properties.base_priority",
                type: {
                    name: "Number"
                }
            }, startTime: {
                serializedName: "properties.start_time",
                xmlName: "properties.start_time",
                type: {
                    name: "DateTime"
                }
            }, totalProcessorTime: {
                serializedName: "properties.total_processor_time",
                xmlName: "properties.total_processor_time",
                type: {
                    name: "String"
                }
            }, userProcessorTime: {
                serializedName: "properties.user_processor_time",
                xmlName: "properties.user_processor_time",
                type: {
                    name: "String"
                }
            }, state: {
                serializedName: "properties.state",
                xmlName: "properties.state",
                type: {
                    name: "String"
                }
            }, waitReason: {
                serializedName: "properties.wait_reason",
                xmlName: "properties.wait_reason",
                type: {
                    name: "String"
                }
            } })
    }
};
export const ProcessModuleInfo = {
    serializedName: "ProcessModuleInfo",
    type: {
        name: "Composite",
        className: "ProcessModuleInfo",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { baseAddress: {
                serializedName: "properties.base_address",
                xmlName: "properties.base_address",
                type: {
                    name: "String"
                }
            }, fileName: {
                serializedName: "properties.file_name",
                xmlName: "properties.file_name",
                type: {
                    name: "String"
                }
            }, href: {
                serializedName: "properties.href",
                xmlName: "properties.href",
                type: {
                    name: "String"
                }
            }, filePath: {
                serializedName: "properties.file_path",
                xmlName: "properties.file_path",
                type: {
                    name: "String"
                }
            }, moduleMemorySize: {
                serializedName: "properties.module_memory_size",
                xmlName: "properties.module_memory_size",
                type: {
                    name: "Number"
                }
            }, fileVersion: {
                serializedName: "properties.file_version",
                xmlName: "properties.file_version",
                type: {
                    name: "String"
                }
            }, fileDescription: {
                serializedName: "properties.file_description",
                xmlName: "properties.file_description",
                type: {
                    name: "String"
                }
            }, product: {
                serializedName: "properties.product",
                xmlName: "properties.product",
                type: {
                    name: "String"
                }
            }, productVersion: {
                serializedName: "properties.product_version",
                xmlName: "properties.product_version",
                type: {
                    name: "String"
                }
            }, isDebug: {
                serializedName: "properties.is_debug",
                xmlName: "properties.is_debug",
                type: {
                    name: "Boolean"
                }
            }, language: {
                serializedName: "properties.language",
                xmlName: "properties.language",
                type: {
                    name: "String"
                }
            } })
    }
};
export const ProcessInfo = {
    serializedName: "ProcessInfo",
    type: {
        name: "Composite",
        className: "ProcessInfo",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { identifier: {
                serializedName: "properties.identifier",
                readOnly: true,
                xmlName: "properties.identifier",
                type: {
                    name: "Number"
                }
            }, deploymentName: {
                serializedName: "properties.deployment_name",
                xmlName: "properties.deployment_name",
                type: {
                    name: "String"
                }
            }, href: {
                serializedName: "properties.href",
                xmlName: "properties.href",
                type: {
                    name: "String"
                }
            }, minidump: {
                serializedName: "properties.minidump",
                xmlName: "properties.minidump",
                type: {
                    name: "String"
                }
            }, isProfileRunning: {
                serializedName: "properties.is_profile_running",
                xmlName: "properties.is_profile_running",
                type: {
                    name: "Boolean"
                }
            }, isIisProfileRunning: {
                serializedName: "properties.is_iis_profile_running",
                xmlName: "properties.is_iis_profile_running",
                type: {
                    name: "Boolean"
                }
            }, iisProfileTimeoutInSeconds: {
                serializedName: "properties.iis_profile_timeout_in_seconds",
                xmlName: "properties.iis_profile_timeout_in_seconds",
                type: {
                    name: "Number"
                }
            }, parent: {
                serializedName: "properties.parent",
                xmlName: "properties.parent",
                type: {
                    name: "String"
                }
            }, children: {
                serializedName: "properties.children",
                xmlName: "properties.children",
                xmlElementName: "ProcessInfoPropertiesChildrenItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, threads: {
                serializedName: "properties.threads",
                xmlName: "properties.threads",
                xmlElementName: "ProcessThreadInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ProcessThreadInfo"
                        }
                    }
                }
            }, openFileHandles: {
                serializedName: "properties.open_file_handles",
                xmlName: "properties.open_file_handles",
                xmlElementName: "ProcessInfoPropertiesOpenFileHandlesItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, modules: {
                serializedName: "properties.modules",
                xmlName: "properties.modules",
                xmlElementName: "ProcessModuleInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "ProcessModuleInfo"
                        }
                    }
                }
            }, fileName: {
                serializedName: "properties.file_name",
                xmlName: "properties.file_name",
                type: {
                    name: "String"
                }
            }, commandLine: {
                serializedName: "properties.command_line",
                xmlName: "properties.command_line",
                type: {
                    name: "String"
                }
            }, userName: {
                serializedName: "properties.user_name",
                xmlName: "properties.user_name",
                type: {
                    name: "String"
                }
            }, handleCount: {
                serializedName: "properties.handle_count",
                xmlName: "properties.handle_count",
                type: {
                    name: "Number"
                }
            }, moduleCount: {
                serializedName: "properties.module_count",
                xmlName: "properties.module_count",
                type: {
                    name: "Number"
                }
            }, threadCount: {
                serializedName: "properties.thread_count",
                xmlName: "properties.thread_count",
                type: {
                    name: "Number"
                }
            }, startTime: {
                serializedName: "properties.start_time",
                xmlName: "properties.start_time",
                type: {
                    name: "DateTime"
                }
            }, totalCpuTime: {
                serializedName: "properties.total_cpu_time",
                xmlName: "properties.total_cpu_time",
                type: {
                    name: "String"
                }
            }, userCpuTime: {
                serializedName: "properties.user_cpu_time",
                xmlName: "properties.user_cpu_time",
                type: {
                    name: "String"
                }
            }, privilegedCpuTime: {
                serializedName: "properties.privileged_cpu_time",
                xmlName: "properties.privileged_cpu_time",
                type: {
                    name: "String"
                }
            }, workingSet: {
                serializedName: "properties.working_set",
                xmlName: "properties.working_set",
                type: {
                    name: "Number"
                }
            }, peakWorkingSet: {
                serializedName: "properties.peak_working_set",
                xmlName: "properties.peak_working_set",
                type: {
                    name: "Number"
                }
            }, privateMemory: {
                serializedName: "properties.private_memory",
                xmlName: "properties.private_memory",
                type: {
                    name: "Number"
                }
            }, virtualMemory: {
                serializedName: "properties.virtual_memory",
                xmlName: "properties.virtual_memory",
                type: {
                    name: "Number"
                }
            }, peakVirtualMemory: {
                serializedName: "properties.peak_virtual_memory",
                xmlName: "properties.peak_virtual_memory",
                type: {
                    name: "Number"
                }
            }, pagedSystemMemory: {
                serializedName: "properties.paged_system_memory",
                xmlName: "properties.paged_system_memory",
                type: {
                    name: "Number"
                }
            }, nonPagedSystemMemory: {
                serializedName: "properties.non_paged_system_memory",
                xmlName: "properties.non_paged_system_memory",
                type: {
                    name: "Number"
                }
            }, pagedMemory: {
                serializedName: "properties.paged_memory",
                xmlName: "properties.paged_memory",
                type: {
                    name: "Number"
                }
            }, peakPagedMemory: {
                serializedName: "properties.peak_paged_memory",
                xmlName: "properties.peak_paged_memory",
                type: {
                    name: "Number"
                }
            }, timeStamp: {
                serializedName: "properties.time_stamp",
                xmlName: "properties.time_stamp",
                type: {
                    name: "DateTime"
                }
            }, environmentVariables: {
                serializedName: "properties.environment_variables",
                xmlName: "properties.environment_variables",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "String" } }
                }
            }, isScmSite: {
                serializedName: "properties.is_scm_site",
                xmlName: "properties.is_scm_site",
                type: {
                    name: "Boolean"
                }
            }, isWebjob: {
                serializedName: "properties.is_webjob",
                xmlName: "properties.is_webjob",
                type: {
                    name: "Boolean"
                }
            }, description: {
                serializedName: "properties.description",
                xmlName: "properties.description",
                type: {
                    name: "String"
                }
            } })
    }
};
export const StorageMigrationOptions = {
    serializedName: "StorageMigrationOptions",
    type: {
        name: "Composite",
        className: "StorageMigrationOptions",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { azurefilesConnectionString: {
                serializedName: "properties.azurefilesConnectionString",
                xmlName: "properties.azurefilesConnectionString",
                type: {
                    name: "String"
                }
            }, azurefilesShare: {
                serializedName: "properties.azurefilesShare",
                xmlName: "properties.azurefilesShare",
                type: {
                    name: "String"
                }
            }, switchSiteAfterMigration: {
                defaultValue: false,
                serializedName: "properties.switchSiteAfterMigration",
                xmlName: "properties.switchSiteAfterMigration",
                type: {
                    name: "Boolean"
                }
            }, blockWriteAccessToSite: {
                defaultValue: false,
                serializedName: "properties.blockWriteAccessToSite",
                xmlName: "properties.blockWriteAccessToSite",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const StorageMigrationResponse = {
    serializedName: "StorageMigrationResponse",
    type: {
        name: "Composite",
        className: "StorageMigrationResponse",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { operationId: {
                serializedName: "properties.operationId",
                readOnly: true,
                xmlName: "properties.operationId",
                type: {
                    name: "String"
                }
            } })
    }
};
export const MigrateMySqlRequest = {
    serializedName: "MigrateMySqlRequest",
    type: {
        name: "Composite",
        className: "MigrateMySqlRequest",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { connectionString: {
                serializedName: "properties.connectionString",
                xmlName: "properties.connectionString",
                type: {
                    name: "String"
                }
            }, migrationType: {
                serializedName: "properties.migrationType",
                xmlName: "properties.migrationType",
                type: {
                    name: "Enum",
                    allowedValues: ["LocalToRemote", "RemoteToLocal"]
                }
            } })
    }
};
export const MigrateMySqlStatus = {
    serializedName: "MigrateMySqlStatus",
    type: {
        name: "Composite",
        className: "MigrateMySqlStatus",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { migrationOperationStatus: {
                serializedName: "properties.migrationOperationStatus",
                readOnly: true,
                xmlName: "properties.migrationOperationStatus",
                type: {
                    name: "Enum",
                    allowedValues: [
                        "InProgress",
                        "Failed",
                        "Succeeded",
                        "TimedOut",
                        "Created"
                    ]
                }
            }, operationId: {
                serializedName: "properties.operationId",
                readOnly: true,
                xmlName: "properties.operationId",
                type: {
                    name: "String"
                }
            }, localMySqlEnabled: {
                serializedName: "properties.localMySqlEnabled",
                readOnly: true,
                xmlName: "properties.localMySqlEnabled",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const SwiftVirtualNetwork = {
    serializedName: "SwiftVirtualNetwork",
    type: {
        name: "Composite",
        className: "SwiftVirtualNetwork",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { subnetResourceId: {
                serializedName: "properties.subnetResourceId",
                xmlName: "properties.subnetResourceId",
                type: {
                    name: "String"
                }
            }, swiftSupported: {
                serializedName: "properties.swiftSupported",
                xmlName: "properties.swiftSupported",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const NetworkFeatures = {
    serializedName: "NetworkFeatures",
    type: {
        name: "Composite",
        className: "NetworkFeatures",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { virtualNetworkName: {
                serializedName: "properties.virtualNetworkName",
                readOnly: true,
                xmlName: "properties.virtualNetworkName",
                type: {
                    name: "String"
                }
            }, virtualNetworkConnection: {
                serializedName: "properties.virtualNetworkConnection",
                xmlName: "properties.virtualNetworkConnection",
                type: {
                    name: "Composite",
                    className: "VnetInfo"
                }
            }, hybridConnections: {
                serializedName: "properties.hybridConnections",
                readOnly: true,
                xmlName: "properties.hybridConnections",
                xmlElementName: "RelayServiceConnectionEntity",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RelayServiceConnectionEntity"
                        }
                    }
                }
            }, hybridConnectionsV2: {
                serializedName: "properties.hybridConnectionsV2",
                readOnly: true,
                xmlName: "properties.hybridConnectionsV2",
                xmlElementName: "HybridConnection",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "HybridConnection"
                        }
                    }
                }
            } })
    }
};
export const SitePhpErrorLogFlag = {
    serializedName: "SitePhpErrorLogFlag",
    type: {
        name: "Composite",
        className: "SitePhpErrorLogFlag",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { localLogErrors: {
                serializedName: "properties.localLogErrors",
                xmlName: "properties.localLogErrors",
                type: {
                    name: "String"
                }
            }, masterLogErrors: {
                serializedName: "properties.masterLogErrors",
                xmlName: "properties.masterLogErrors",
                type: {
                    name: "String"
                }
            }, localLogErrorsMaxLength: {
                serializedName: "properties.localLogErrorsMaxLength",
                xmlName: "properties.localLogErrorsMaxLength",
                type: {
                    name: "String"
                }
            }, masterLogErrorsMaxLength: {
                serializedName: "properties.masterLogErrorsMaxLength",
                xmlName: "properties.masterLogErrorsMaxLength",
                type: {
                    name: "String"
                }
            } })
    }
};
export const PremierAddOnPatchResource = {
    serializedName: "PremierAddOnPatchResource",
    type: {
        name: "Composite",
        className: "PremierAddOnPatchResource",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { sku: {
                serializedName: "properties.sku",
                xmlName: "properties.sku",
                type: {
                    name: "String"
                }
            }, product: {
                serializedName: "properties.product",
                xmlName: "properties.product",
                type: {
                    name: "String"
                }
            }, vendor: {
                serializedName: "properties.vendor",
                xmlName: "properties.vendor",
                type: {
                    name: "String"
                }
            }, marketplacePublisher: {
                serializedName: "properties.marketplacePublisher",
                xmlName: "properties.marketplacePublisher",
                type: {
                    name: "String"
                }
            }, marketplaceOffer: {
                serializedName: "properties.marketplaceOffer",
                xmlName: "properties.marketplaceOffer",
                type: {
                    name: "String"
                }
            } })
    }
};
export const PrivateAccess = {
    serializedName: "PrivateAccess",
    type: {
        name: "Composite",
        className: "PrivateAccess",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { enabled: {
                serializedName: "properties.enabled",
                xmlName: "properties.enabled",
                type: {
                    name: "Boolean"
                }
            }, virtualNetworks: {
                serializedName: "properties.virtualNetworks",
                xmlName: "properties.virtualNetworks",
                xmlElementName: "PrivateAccessVirtualNetwork",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "PrivateAccessVirtualNetwork"
                        }
                    }
                }
            } })
    }
};
export const PublicCertificate = {
    serializedName: "PublicCertificate",
    type: {
        name: "Composite",
        className: "PublicCertificate",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { blob: {
                serializedName: "properties.blob",
                xmlName: "properties.blob",
                type: {
                    name: "ByteArray"
                }
            }, publicCertificateLocation: {
                serializedName: "properties.publicCertificateLocation",
                xmlName: "properties.publicCertificateLocation",
                type: {
                    name: "Enum",
                    allowedValues: ["CurrentUserMy", "LocalMachineMy", "Unknown"]
                }
            }, thumbprint: {
                serializedName: "properties.thumbprint",
                readOnly: true,
                xmlName: "properties.thumbprint",
                type: {
                    name: "String"
                }
            } })
    }
};
export const DeletedAppRestoreRequest = {
    serializedName: "DeletedAppRestoreRequest",
    type: {
        name: "Composite",
        className: "DeletedAppRestoreRequest",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { deletedSiteId: {
                serializedName: "properties.deletedSiteId",
                xmlName: "properties.deletedSiteId",
                type: {
                    name: "String"
                }
            }, recoverConfiguration: {
                serializedName: "properties.recoverConfiguration",
                xmlName: "properties.recoverConfiguration",
                type: {
                    name: "Boolean"
                }
            }, snapshotTime: {
                serializedName: "properties.snapshotTime",
                xmlName: "properties.snapshotTime",
                type: {
                    name: "String"
                }
            }, useDRSecondary: {
                serializedName: "properties.useDRSecondary",
                xmlName: "properties.useDRSecondary",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const SnapshotRestoreRequest = {
    serializedName: "SnapshotRestoreRequest",
    type: {
        name: "Composite",
        className: "SnapshotRestoreRequest",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { snapshotTime: {
                serializedName: "properties.snapshotTime",
                xmlName: "properties.snapshotTime",
                type: {
                    name: "String"
                }
            }, recoverySource: {
                serializedName: "properties.recoverySource",
                xmlName: "properties.recoverySource",
                type: {
                    name: "Composite",
                    className: "SnapshotRecoverySource"
                }
            }, overwrite: {
                serializedName: "properties.overwrite",
                xmlName: "properties.overwrite",
                type: {
                    name: "Boolean"
                }
            }, recoverConfiguration: {
                serializedName: "properties.recoverConfiguration",
                xmlName: "properties.recoverConfiguration",
                type: {
                    name: "Boolean"
                }
            }, ignoreConflictingHostNames: {
                serializedName: "properties.ignoreConflictingHostNames",
                xmlName: "properties.ignoreConflictingHostNames",
                type: {
                    name: "Boolean"
                }
            }, useDRSecondary: {
                serializedName: "properties.useDRSecondary",
                xmlName: "properties.useDRSecondary",
                type: {
                    name: "Boolean"
                }
            } })
    }
};
export const SiteExtensionInfo = {
    serializedName: "SiteExtensionInfo",
    type: {
        name: "Composite",
        className: "SiteExtensionInfo",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { extensionId: {
                serializedName: "properties.extension_id",
                xmlName: "properties.extension_id",
                type: {
                    name: "String"
                }
            }, title: {
                serializedName: "properties.title",
                xmlName: "properties.title",
                type: {
                    name: "String"
                }
            }, extensionType: {
                serializedName: "properties.extension_type",
                xmlName: "properties.extension_type",
                type: {
                    name: "Enum",
                    allowedValues: ["Gallery", "WebRoot"]
                }
            }, summary: {
                serializedName: "properties.summary",
                xmlName: "properties.summary",
                type: {
                    name: "String"
                }
            }, description: {
                serializedName: "properties.description",
                xmlName: "properties.description",
                type: {
                    name: "String"
                }
            }, version: {
                serializedName: "properties.version",
                xmlName: "properties.version",
                type: {
                    name: "String"
                }
            }, extensionUrl: {
                serializedName: "properties.extension_url",
                xmlName: "properties.extension_url",
                type: {
                    name: "String"
                }
            }, projectUrl: {
                serializedName: "properties.project_url",
                xmlName: "properties.project_url",
                type: {
                    name: "String"
                }
            }, iconUrl: {
                serializedName: "properties.icon_url",
                xmlName: "properties.icon_url",
                type: {
                    name: "String"
                }
            }, licenseUrl: {
                serializedName: "properties.license_url",
                xmlName: "properties.license_url",
                type: {
                    name: "String"
                }
            }, feedUrl: {
                serializedName: "properties.feed_url",
                xmlName: "properties.feed_url",
                type: {
                    name: "String"
                }
            }, authors: {
                serializedName: "properties.authors",
                xmlName: "properties.authors",
                xmlElementName: "SiteExtensionInfoPropertiesAuthorsItem",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "String"
                        }
                    }
                }
            }, installerCommandLineParams: {
                serializedName: "properties.installer_command_line_params",
                xmlName: "properties.installer_command_line_params",
                type: {
                    name: "String"
                }
            }, publishedDateTime: {
                serializedName: "properties.published_date_time",
                xmlName: "properties.published_date_time",
                type: {
                    name: "DateTime"
                }
            }, downloadCount: {
                serializedName: "properties.download_count",
                xmlName: "properties.download_count",
                type: {
                    name: "Number"
                }
            }, localIsLatestVersion: {
                serializedName: "properties.local_is_latest_version",
                xmlName: "properties.local_is_latest_version",
                type: {
                    name: "Boolean"
                }
            }, localPath: {
                serializedName: "properties.local_path",
                xmlName: "properties.local_path",
                type: {
                    name: "String"
                }
            }, installedDateTime: {
                serializedName: "properties.installed_date_time",
                xmlName: "properties.installed_date_time",
                type: {
                    name: "DateTime"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                xmlName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            }, comment: {
                serializedName: "properties.comment",
                xmlName: "properties.comment",
                type: {
                    name: "String"
                }
            } })
    }
};
export const SlotDifference = {
    serializedName: "SlotDifference",
    type: {
        name: "Composite",
        className: "SlotDifference",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { level: {
                serializedName: "properties.level",
                readOnly: true,
                xmlName: "properties.level",
                type: {
                    name: "String"
                }
            }, settingType: {
                serializedName: "properties.settingType",
                readOnly: true,
                xmlName: "properties.settingType",
                type: {
                    name: "String"
                }
            }, diffRule: {
                serializedName: "properties.diffRule",
                readOnly: true,
                xmlName: "properties.diffRule",
                type: {
                    name: "String"
                }
            }, settingName: {
                serializedName: "properties.settingName",
                readOnly: true,
                xmlName: "properties.settingName",
                type: {
                    name: "String"
                }
            }, valueInCurrentSlot: {
                serializedName: "properties.valueInCurrentSlot",
                readOnly: true,
                xmlName: "properties.valueInCurrentSlot",
                type: {
                    name: "String"
                }
            }, valueInTargetSlot: {
                serializedName: "properties.valueInTargetSlot",
                readOnly: true,
                xmlName: "properties.valueInTargetSlot",
                type: {
                    name: "String"
                }
            }, description: {
                serializedName: "properties.description",
                readOnly: true,
                xmlName: "properties.description",
                type: {
                    name: "String"
                }
            } })
    }
};
export const SiteSourceControl = {
    serializedName: "SiteSourceControl",
    type: {
        name: "Composite",
        className: "SiteSourceControl",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { repoUrl: {
                serializedName: "properties.repoUrl",
                xmlName: "properties.repoUrl",
                type: {
                    name: "String"
                }
            }, branch: {
                serializedName: "properties.branch",
                xmlName: "properties.branch",
                type: {
                    name: "String"
                }
            }, isManualIntegration: {
                serializedName: "properties.isManualIntegration",
                xmlName: "properties.isManualIntegration",
                type: {
                    name: "Boolean"
                }
            }, isGitHubAction: {
                serializedName: "properties.isGitHubAction",
                xmlName: "properties.isGitHubAction",
                type: {
                    name: "Boolean"
                }
            }, deploymentRollbackEnabled: {
                serializedName: "properties.deploymentRollbackEnabled",
                xmlName: "properties.deploymentRollbackEnabled",
                type: {
                    name: "Boolean"
                }
            }, isMercurial: {
                serializedName: "properties.isMercurial",
                xmlName: "properties.isMercurial",
                type: {
                    name: "Boolean"
                }
            }, gitHubActionConfiguration: {
                serializedName: "properties.gitHubActionConfiguration",
                xmlName: "properties.gitHubActionConfiguration",
                type: {
                    name: "Composite",
                    className: "GitHubActionConfiguration"
                }
            } })
    }
};
export const TriggeredWebJob = {
    serializedName: "TriggeredWebJob",
    type: {
        name: "Composite",
        className: "TriggeredWebJob",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { latestRun: {
                serializedName: "properties.latest_run",
                xmlName: "properties.latest_run",
                type: {
                    name: "Composite",
                    className: "TriggeredJobRun"
                }
            }, historyUrl: {
                serializedName: "properties.history_url",
                xmlName: "properties.history_url",
                type: {
                    name: "String"
                }
            }, schedulerLogsUrl: {
                serializedName: "properties.scheduler_logs_url",
                xmlName: "properties.scheduler_logs_url",
                type: {
                    name: "String"
                }
            }, runCommand: {
                serializedName: "properties.run_command",
                xmlName: "properties.run_command",
                type: {
                    name: "String"
                }
            }, url: {
                serializedName: "properties.url",
                xmlName: "properties.url",
                type: {
                    name: "String"
                }
            }, extraInfoUrl: {
                serializedName: "properties.extra_info_url",
                xmlName: "properties.extra_info_url",
                type: {
                    name: "String"
                }
            }, webJobType: {
                serializedName: "properties.web_job_type",
                xmlName: "properties.web_job_type",
                type: {
                    name: "Enum",
                    allowedValues: ["Continuous", "Triggered"]
                }
            }, error: {
                serializedName: "properties.error",
                xmlName: "properties.error",
                type: {
                    name: "String"
                }
            }, usingSdk: {
                serializedName: "properties.using_sdk",
                xmlName: "properties.using_sdk",
                type: {
                    name: "Boolean"
                }
            }, publicNetworkAccess: {
                serializedName: "properties.publicNetworkAccess",
                xmlName: "properties.publicNetworkAccess",
                type: {
                    name: "String"
                }
            }, storageAccountRequired: {
                serializedName: "properties.storageAccountRequired",
                xmlName: "properties.storageAccountRequired",
                type: {
                    name: "Boolean"
                }
            }, settings: {
                serializedName: "properties.settings",
                xmlName: "properties.settings",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Dictionary", value: { type: { name: "any" } } }
                    }
                }
            } })
    }
};
export const TriggeredJobHistory = {
    serializedName: "TriggeredJobHistory",
    type: {
        name: "Composite",
        className: "TriggeredJobHistory",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { runs: {
                serializedName: "properties.runs",
                xmlName: "properties.runs",
                xmlElementName: "TriggeredJobRun",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "TriggeredJobRun"
                        }
                    }
                }
            } })
    }
};
export const WebJob = {
    serializedName: "WebJob",
    type: {
        name: "Composite",
        className: "WebJob",
        modelProperties: Object.assign(Object.assign({}, ProxyOnlyResource.type.modelProperties), { runCommand: {
                serializedName: "properties.run_command",
                xmlName: "properties.run_command",
                type: {
                    name: "String"
                }
            }, url: {
                serializedName: "properties.url",
                xmlName: "properties.url",
                type: {
                    name: "String"
                }
            }, extraInfoUrl: {
                serializedName: "properties.extra_info_url",
                xmlName: "properties.extra_info_url",
                type: {
                    name: "String"
                }
            }, webJobType: {
                serializedName: "properties.web_job_type",
                xmlName: "properties.web_job_type",
                type: {
                    name: "Enum",
                    allowedValues: ["Continuous", "Triggered"]
                }
            }, error: {
                serializedName: "properties.error",
                xmlName: "properties.error",
                type: {
                    name: "String"
                }
            }, usingSdk: {
                serializedName: "properties.using_sdk",
                xmlName: "properties.using_sdk",
                type: {
                    name: "Boolean"
                }
            }, settings: {
                serializedName: "properties.settings",
                xmlName: "properties.settings",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Dictionary", value: { type: { name: "any" } } }
                    }
                }
            } })
    }
};
export const WorkflowOutputParameter = {
    serializedName: "WorkflowOutputParameter",
    type: {
        name: "Composite",
        className: "WorkflowOutputParameter",
        modelProperties: Object.assign(Object.assign({}, WorkflowParameter.type.modelProperties), { error: {
                serializedName: "error",
                readOnly: true,
                xmlName: "error",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            } })
    }
};
export const WorkflowRun = {
    serializedName: "WorkflowRun",
    type: {
        name: "Composite",
        className: "WorkflowRun",
        modelProperties: Object.assign(Object.assign({}, SubResource.type.modelProperties), { name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            }, type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }, waitEndTime: {
                serializedName: "properties.waitEndTime",
                readOnly: true,
                xmlName: "properties.waitEndTime",
                type: {
                    name: "DateTime"
                }
            }, startTime: {
                serializedName: "properties.startTime",
                readOnly: true,
                xmlName: "properties.startTime",
                type: {
                    name: "DateTime"
                }
            }, endTime: {
                serializedName: "properties.endTime",
                readOnly: true,
                xmlName: "properties.endTime",
                type: {
                    name: "DateTime"
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "String"
                }
            }, code: {
                serializedName: "properties.code",
                readOnly: true,
                xmlName: "properties.code",
                type: {
                    name: "String"
                }
            }, error: {
                serializedName: "properties.error",
                readOnly: true,
                xmlName: "properties.error",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, correlationId: {
                serializedName: "properties.correlationId",
                readOnly: true,
                xmlName: "properties.correlationId",
                type: {
                    name: "String"
                }
            }, correlation: {
                serializedName: "properties.correlation",
                xmlName: "properties.correlation",
                type: {
                    name: "Composite",
                    className: "Correlation"
                }
            }, workflow: {
                serializedName: "properties.workflow",
                xmlName: "properties.workflow",
                type: {
                    name: "Composite",
                    className: "ResourceReference"
                }
            }, trigger: {
                serializedName: "properties.trigger",
                xmlName: "properties.trigger",
                type: {
                    name: "Composite",
                    className: "WorkflowRunTrigger"
                }
            }, outputs: {
                serializedName: "properties.outputs",
                readOnly: true,
                xmlName: "properties.outputs",
                type: {
                    name: "Dictionary",
                    value: {
                        type: { name: "Composite", className: "WorkflowOutputParameter" }
                    }
                }
            }, response: {
                serializedName: "properties.response",
                xmlName: "properties.response",
                type: {
                    name: "Composite",
                    className: "WorkflowRunTrigger"
                }
            } })
    }
};
export const WorkflowRunAction = {
    serializedName: "WorkflowRunAction",
    type: {
        name: "Composite",
        className: "WorkflowRunAction",
        modelProperties: Object.assign(Object.assign({}, SubResource.type.modelProperties), { name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            }, type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }, startTime: {
                serializedName: "properties.startTime",
                readOnly: true,
                xmlName: "properties.startTime",
                type: {
                    name: "DateTime"
                }
            }, endTime: {
                serializedName: "properties.endTime",
                readOnly: true,
                xmlName: "properties.endTime",
                type: {
                    name: "DateTime"
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "String"
                }
            }, code: {
                serializedName: "properties.code",
                readOnly: true,
                xmlName: "properties.code",
                type: {
                    name: "String"
                }
            }, error: {
                serializedName: "properties.error",
                readOnly: true,
                xmlName: "properties.error",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, trackingId: {
                serializedName: "properties.trackingId",
                readOnly: true,
                xmlName: "properties.trackingId",
                type: {
                    name: "String"
                }
            }, correlation: {
                serializedName: "properties.correlation",
                xmlName: "properties.correlation",
                type: {
                    name: "Composite",
                    className: "RunActionCorrelation"
                }
            }, inputsLink: {
                serializedName: "properties.inputsLink",
                xmlName: "properties.inputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            }, outputsLink: {
                serializedName: "properties.outputsLink",
                xmlName: "properties.outputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            }, trackedProperties: {
                serializedName: "properties.trackedProperties",
                readOnly: true,
                xmlName: "properties.trackedProperties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, retryHistory: {
                serializedName: "properties.retryHistory",
                xmlName: "properties.retryHistory",
                xmlElementName: "RetryHistory",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RetryHistory"
                        }
                    }
                }
            } })
    }
};
export const WorkflowTrigger = {
    serializedName: "WorkflowTrigger",
    type: {
        name: "Composite",
        className: "WorkflowTrigger",
        modelProperties: Object.assign(Object.assign({}, SubResource.type.modelProperties), { name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            }, type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            }, createdTime: {
                serializedName: "properties.createdTime",
                readOnly: true,
                xmlName: "properties.createdTime",
                type: {
                    name: "DateTime"
                }
            }, changedTime: {
                serializedName: "properties.changedTime",
                readOnly: true,
                xmlName: "properties.changedTime",
                type: {
                    name: "DateTime"
                }
            }, state: {
                serializedName: "properties.state",
                readOnly: true,
                xmlName: "properties.state",
                type: {
                    name: "String"
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "String"
                }
            }, lastExecutionTime: {
                serializedName: "properties.lastExecutionTime",
                readOnly: true,
                xmlName: "properties.lastExecutionTime",
                type: {
                    name: "DateTime"
                }
            }, nextExecutionTime: {
                serializedName: "properties.nextExecutionTime",
                readOnly: true,
                xmlName: "properties.nextExecutionTime",
                type: {
                    name: "DateTime"
                }
            }, recurrence: {
                serializedName: "properties.recurrence",
                xmlName: "properties.recurrence",
                type: {
                    name: "Composite",
                    className: "WorkflowTriggerRecurrence"
                }
            }, workflow: {
                serializedName: "properties.workflow",
                xmlName: "properties.workflow",
                type: {
                    name: "Composite",
                    className: "ResourceReference"
                }
            } })
    }
};
export const WorkflowTriggerHistory = {
    serializedName: "WorkflowTriggerHistory",
    type: {
        name: "Composite",
        className: "WorkflowTriggerHistory",
        modelProperties: Object.assign(Object.assign({}, SubResource.type.modelProperties), { name: {
                serializedName: "name",
                readOnly: true,
                xmlName: "name",
                type: {
                    name: "String"
                }
            }, type: {
                serializedName: "type",
                readOnly: true,
                xmlName: "type",
                type: {
                    name: "String"
                }
            }, startTime: {
                serializedName: "properties.startTime",
                readOnly: true,
                xmlName: "properties.startTime",
                type: {
                    name: "DateTime"
                }
            }, endTime: {
                serializedName: "properties.endTime",
                readOnly: true,
                xmlName: "properties.endTime",
                type: {
                    name: "DateTime"
                }
            }, scheduledTime: {
                serializedName: "properties.scheduledTime",
                readOnly: true,
                xmlName: "properties.scheduledTime",
                type: {
                    name: "DateTime"
                }
            }, status: {
                serializedName: "properties.status",
                readOnly: true,
                xmlName: "properties.status",
                type: {
                    name: "String"
                }
            }, code: {
                serializedName: "properties.code",
                readOnly: true,
                xmlName: "properties.code",
                type: {
                    name: "String"
                }
            }, error: {
                serializedName: "properties.error",
                readOnly: true,
                xmlName: "properties.error",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, trackingId: {
                serializedName: "properties.trackingId",
                readOnly: true,
                xmlName: "properties.trackingId",
                type: {
                    name: "String"
                }
            }, correlation: {
                serializedName: "properties.correlation",
                xmlName: "properties.correlation",
                type: {
                    name: "Composite",
                    className: "Correlation"
                }
            }, inputsLink: {
                serializedName: "properties.inputsLink",
                xmlName: "properties.inputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            }, outputsLink: {
                serializedName: "properties.outputsLink",
                xmlName: "properties.outputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            }, fired: {
                serializedName: "properties.fired",
                readOnly: true,
                xmlName: "properties.fired",
                type: {
                    name: "Boolean"
                }
            }, run: {
                serializedName: "properties.run",
                xmlName: "properties.run",
                type: {
                    name: "Composite",
                    className: "ResourceReference"
                }
            } })
    }
};
export const RunActionCorrelation = {
    serializedName: "RunActionCorrelation",
    type: {
        name: "Composite",
        className: "RunActionCorrelation",
        modelProperties: Object.assign(Object.assign({}, RunCorrelation.type.modelProperties), { actionTrackingId: {
                serializedName: "actionTrackingId",
                xmlName: "actionTrackingId",
                type: {
                    name: "String"
                }
            } })
    }
};
export const ExpressionRoot = {
    serializedName: "ExpressionRoot",
    type: {
        name: "Composite",
        className: "ExpressionRoot",
        modelProperties: Object.assign(Object.assign({}, Expression.type.modelProperties), { path: {
                serializedName: "path",
                xmlName: "path",
                type: {
                    name: "String"
                }
            } })
    }
};
export const AzureResourceErrorInfo = {
    serializedName: "AzureResourceErrorInfo",
    type: {
        name: "Composite",
        className: "AzureResourceErrorInfo",
        modelProperties: Object.assign(Object.assign({}, ErrorInfo.type.modelProperties), { message: {
                serializedName: "message",
                required: true,
                xmlName: "message",
                type: {
                    name: "String"
                }
            }, details: {
                serializedName: "details",
                xmlName: "details",
                xmlElementName: "AzureResourceErrorInfo",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "AzureResourceErrorInfo"
                        }
                    }
                }
            } })
    }
};
export const OperationResult = {
    serializedName: "OperationResult",
    type: {
        name: "Composite",
        className: "OperationResult",
        modelProperties: Object.assign(Object.assign({}, OperationResultProperties.type.modelProperties), { trackingId: {
                serializedName: "trackingId",
                readOnly: true,
                xmlName: "trackingId",
                type: {
                    name: "String"
                }
            }, inputs: {
                serializedName: "inputs",
                readOnly: true,
                xmlName: "inputs",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, inputsLink: {
                serializedName: "inputsLink",
                xmlName: "inputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            }, outputs: {
                serializedName: "outputs",
                readOnly: true,
                xmlName: "outputs",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, outputsLink: {
                serializedName: "outputsLink",
                xmlName: "outputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            }, trackedProperties: {
                serializedName: "trackedProperties",
                readOnly: true,
                xmlName: "trackedProperties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, retryHistory: {
                serializedName: "retryHistory",
                xmlName: "retryHistory",
                xmlElementName: "RetryHistory",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RetryHistory"
                        }
                    }
                }
            }, iterationCount: {
                serializedName: "iterationCount",
                xmlName: "iterationCount",
                type: {
                    name: "Number"
                }
            } })
    }
};
export const WorkflowRunActionRepetitionDefinition = {
    serializedName: "WorkflowRunActionRepetitionDefinition",
    type: {
        name: "Composite",
        className: "WorkflowRunActionRepetitionDefinition",
        modelProperties: Object.assign(Object.assign({}, WorkflowResource.type.modelProperties), { startTime: {
                serializedName: "properties.startTime",
                xmlName: "properties.startTime",
                type: {
                    name: "DateTime"
                }
            }, endTime: {
                serializedName: "properties.endTime",
                xmlName: "properties.endTime",
                type: {
                    name: "DateTime"
                }
            }, correlation: {
                serializedName: "properties.correlation",
                xmlName: "properties.correlation",
                type: {
                    name: "Composite",
                    className: "RunActionCorrelation"
                }
            }, status: {
                serializedName: "properties.status",
                xmlName: "properties.status",
                type: {
                    name: "String"
                }
            }, code: {
                serializedName: "properties.code",
                xmlName: "properties.code",
                type: {
                    name: "String"
                }
            }, error: {
                serializedName: "properties.error",
                xmlName: "properties.error",
                type: {
                    name: "any"
                }
            }, trackingId: {
                serializedName: "properties.trackingId",
                readOnly: true,
                xmlName: "properties.trackingId",
                type: {
                    name: "String"
                }
            }, inputs: {
                serializedName: "properties.inputs",
                readOnly: true,
                xmlName: "properties.inputs",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, inputsLink: {
                serializedName: "properties.inputsLink",
                xmlName: "properties.inputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            }, outputs: {
                serializedName: "properties.outputs",
                readOnly: true,
                xmlName: "properties.outputs",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, outputsLink: {
                serializedName: "properties.outputsLink",
                xmlName: "properties.outputsLink",
                type: {
                    name: "Composite",
                    className: "ContentLink"
                }
            }, trackedProperties: {
                serializedName: "properties.trackedProperties",
                readOnly: true,
                xmlName: "properties.trackedProperties",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, retryHistory: {
                serializedName: "properties.retryHistory",
                xmlName: "properties.retryHistory",
                xmlElementName: "RetryHistory",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RetryHistory"
                        }
                    }
                }
            }, iterationCount: {
                serializedName: "properties.iterationCount",
                xmlName: "properties.iterationCount",
                type: {
                    name: "Number"
                }
            }, repetitionIndexes: {
                serializedName: "properties.repetitionIndexes",
                xmlName: "properties.repetitionIndexes",
                xmlElementName: "RepetitionIndex",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RepetitionIndex"
                        }
                    }
                }
            } })
    }
};
export const RequestHistory = {
    serializedName: "RequestHistory",
    type: {
        name: "Composite",
        className: "RequestHistory",
        modelProperties: Object.assign(Object.assign({}, WorkflowResource.type.modelProperties), { properties: {
                serializedName: "properties",
                xmlName: "properties",
                type: {
                    name: "Composite",
                    className: "RequestHistoryProperties"
                }
            } })
    }
};
export const Workflow = {
    serializedName: "Workflow",
    type: {
        name: "Composite",
        className: "Workflow",
        modelProperties: Object.assign(Object.assign({}, WorkflowResource.type.modelProperties), { identity: {
                serializedName: "identity",
                xmlName: "identity",
                type: {
                    name: "Composite",
                    className: "ManagedServiceIdentity"
                }
            }, provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            }, createdTime: {
                serializedName: "properties.createdTime",
                readOnly: true,
                xmlName: "properties.createdTime",
                type: {
                    name: "DateTime"
                }
            }, changedTime: {
                serializedName: "properties.changedTime",
                readOnly: true,
                xmlName: "properties.changedTime",
                type: {
                    name: "DateTime"
                }
            }, state: {
                serializedName: "properties.state",
                xmlName: "properties.state",
                type: {
                    name: "String"
                }
            }, version: {
                serializedName: "properties.version",
                readOnly: true,
                xmlName: "properties.version",
                type: {
                    name: "String"
                }
            }, accessEndpoint: {
                serializedName: "properties.accessEndpoint",
                readOnly: true,
                xmlName: "properties.accessEndpoint",
                type: {
                    name: "String"
                }
            }, endpointsConfiguration: {
                serializedName: "properties.endpointsConfiguration",
                xmlName: "properties.endpointsConfiguration",
                type: {
                    name: "Composite",
                    className: "FlowEndpointsConfiguration"
                }
            }, accessControl: {
                serializedName: "properties.accessControl",
                xmlName: "properties.accessControl",
                type: {
                    name: "Composite",
                    className: "FlowAccessControlConfiguration"
                }
            }, sku: {
                serializedName: "properties.sku",
                xmlName: "properties.sku",
                type: {
                    name: "Composite",
                    className: "WorkflowSku"
                }
            }, integrationAccount: {
                serializedName: "properties.integrationAccount",
                xmlName: "properties.integrationAccount",
                type: {
                    name: "Composite",
                    className: "ResourceReference"
                }
            }, integrationServiceEnvironment: {
                serializedName: "properties.integrationServiceEnvironment",
                xmlName: "properties.integrationServiceEnvironment",
                type: {
                    name: "Composite",
                    className: "ResourceReference"
                }
            }, definition: {
                serializedName: "properties.definition",
                xmlName: "properties.definition",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, parameters: {
                serializedName: "properties.parameters",
                xmlName: "properties.parameters",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "Composite", className: "WorkflowParameter" } }
                }
            }, kind: {
                serializedName: "properties.kind",
                xmlName: "properties.kind",
                type: {
                    name: "String"
                }
            } })
    }
};
export const WorkflowVersion = {
    serializedName: "WorkflowVersion",
    type: {
        name: "Composite",
        className: "WorkflowVersion",
        modelProperties: Object.assign(Object.assign({}, WorkflowResource.type.modelProperties), { provisioningState: {
                serializedName: "properties.provisioningState",
                readOnly: true,
                xmlName: "properties.provisioningState",
                type: {
                    name: "String"
                }
            }, createdTime: {
                serializedName: "properties.createdTime",
                readOnly: true,
                xmlName: "properties.createdTime",
                type: {
                    name: "DateTime"
                }
            }, changedTime: {
                serializedName: "properties.changedTime",
                readOnly: true,
                xmlName: "properties.changedTime",
                type: {
                    name: "DateTime"
                }
            }, state: {
                serializedName: "properties.state",
                xmlName: "properties.state",
                type: {
                    name: "String"
                }
            }, version: {
                serializedName: "properties.version",
                readOnly: true,
                xmlName: "properties.version",
                type: {
                    name: "String"
                }
            }, accessEndpoint: {
                serializedName: "properties.accessEndpoint",
                readOnly: true,
                xmlName: "properties.accessEndpoint",
                type: {
                    name: "String"
                }
            }, endpointsConfiguration: {
                serializedName: "properties.endpointsConfiguration",
                xmlName: "properties.endpointsConfiguration",
                type: {
                    name: "Composite",
                    className: "FlowEndpointsConfiguration"
                }
            }, accessControl: {
                serializedName: "properties.accessControl",
                xmlName: "properties.accessControl",
                type: {
                    name: "Composite",
                    className: "FlowAccessControlConfiguration"
                }
            }, sku: {
                serializedName: "properties.sku",
                xmlName: "properties.sku",
                type: {
                    name: "Composite",
                    className: "WorkflowSku"
                }
            }, integrationAccount: {
                serializedName: "properties.integrationAccount",
                xmlName: "properties.integrationAccount",
                type: {
                    name: "Composite",
                    className: "ResourceReference"
                }
            }, definition: {
                serializedName: "properties.definition",
                xmlName: "properties.definition",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "any" } }
                }
            }, parameters: {
                serializedName: "properties.parameters",
                xmlName: "properties.parameters",
                type: {
                    name: "Dictionary",
                    value: { type: { name: "Composite", className: "WorkflowParameter" } }
                }
            } })
    }
};
export const WorkflowRunActionRepetitionProperties = {
    serializedName: "WorkflowRunActionRepetitionProperties",
    type: {
        name: "Composite",
        className: "WorkflowRunActionRepetitionProperties",
        modelProperties: Object.assign(Object.assign({}, OperationResult.type.modelProperties), { repetitionIndexes: {
                serializedName: "repetitionIndexes",
                xmlName: "repetitionIndexes",
                xmlElementName: "RepetitionIndex",
                type: {
                    name: "Sequence",
                    element: {
                        type: {
                            name: "Composite",
                            className: "RepetitionIndex"
                        }
                    }
                }
            } })
    }
};
export const AppServiceEnvironmentsCreateOrUpdateHeaders = {
    serializedName: "AppServiceEnvironments_createOrUpdateHeaders",
    type: {
        name: "Composite",
        className: "AppServiceEnvironmentsCreateOrUpdateHeaders",
        modelProperties: {
            location: {
                serializedName: "location",
                xmlName: "location",
                type: {
                    name: "String"
                }
            }
        }
    }
};
//# sourceMappingURL=mappers.js.map