sdk/connectedcache/arm-connectedcache/src/models/models.ts (1,199 lines of code) (raw):
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
/** Represents the high level Nodes needed to provision cache node resources */
export interface EnterpriseMccCacheNodeResource extends TrackedResource {
/** The resource-specific properties for this resource. */
properties?: CacheNodeProperty;
}
export function enterpriseMccCacheNodeResourceSerializer(
item: EnterpriseMccCacheNodeResource,
): any {
return {
tags: item["tags"],
location: item["location"],
properties: !item["properties"]
? item["properties"]
: cacheNodePropertySerializer(item["properties"]),
};
}
export function enterpriseMccCacheNodeResourceDeserializer(
item: any,
): EnterpriseMccCacheNodeResource {
return {
tags: item["tags"],
location: item["location"],
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
properties: !item["properties"]
? item["properties"]
: cacheNodePropertyDeserializer(item["properties"]),
};
}
/** Model representing an Mcc cache node connectedCache resource */
export interface CacheNodeProperty {
/** The provisioned state of the resource */
readonly provisioningState?: ProvisioningState;
/** Mcc cache node resource (cache node entity). */
cacheNode?: CacheNodeEntity;
/** Mcc cache node resource additional properties. */
additionalCacheNodeProperties?: AdditionalCacheNodeProperties;
/** Mcc response status code. */
statusCode?: string;
/** Mcc response status text as string for retrieving status details. */
statusText?: string;
/** Mcc response status details for retrieving response inner details. */
statusDetails?: string;
/** HTTP error status code. */
readonly status?: string;
/** Mcc response error details. */
error?: ErrorDetail;
}
export function cacheNodePropertySerializer(item: CacheNodeProperty): any {
return {
cacheNode: !item["cacheNode"]
? item["cacheNode"]
: cacheNodeEntitySerializer(item["cacheNode"]),
additionalCacheNodeProperties: !item["additionalCacheNodeProperties"]
? item["additionalCacheNodeProperties"]
: additionalCacheNodePropertiesSerializer(item["additionalCacheNodeProperties"]),
statusCode: item["statusCode"],
statusText: item["statusText"],
statusDetails: item["statusDetails"],
error: !item["error"] ? item["error"] : errorDetailSerializer(item["error"]),
};
}
export function cacheNodePropertyDeserializer(item: any): CacheNodeProperty {
return {
provisioningState: item["provisioningState"],
cacheNode: !item["cacheNode"]
? item["cacheNode"]
: cacheNodeEntityDeserializer(item["cacheNode"]),
additionalCacheNodeProperties: !item["additionalCacheNodeProperties"]
? item["additionalCacheNodeProperties"]
: additionalCacheNodePropertiesDeserializer(item["additionalCacheNodeProperties"]),
statusCode: item["statusCode"],
statusText: item["statusText"],
statusDetails: item["statusDetails"],
status: item["status"],
error: !item["error"] ? item["error"] : errorDetailDeserializer(item["error"]),
};
}
/** provisioning state of the resource */
export enum KnownProvisioningState {
/** Resource has been created. */
Succeeded = "Succeeded",
/** Resource creation failed. */
Failed = "Failed",
/** Resource creation was canceled. */
Canceled = "Canceled",
/** unknown state of the provisioning state */
Unknown = "Unknown",
/** Accepted state of the provisioning state during the Async Operations */
Accepted = "Accepted",
/** Upgrading state of the provisioning state */
Upgrading = "Upgrading",
/** Deleting state of the provisioning state */
Deleting = "Deleting",
}
/**
* provisioning state of the resource \
* {@link KnownProvisioningState} can be used interchangeably with ProvisioningState,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **Succeeded**: Resource has been created. \
* **Failed**: Resource creation failed. \
* **Canceled**: Resource creation was canceled. \
* **Unknown**: unknown state of the provisioning state \
* **Accepted**: Accepted state of the provisioning state during the Async Operations \
* **Upgrading**: Upgrading state of the provisioning state \
* **Deleting**: Deleting state of the provisioning state
*/
export type ProvisioningState = string;
/** Model representing Cache Node for ConnectedCache resource */
export interface CacheNodeEntity {
/** Cache node resource Azure fully qualified resource Id. */
fullyQualifiedResourceId?: string;
/** Cache node resource customer resource GUID Id. */
readonly customerId?: string;
/** Cache node resource customer resource name. */
customerName?: string;
/** Cache node resource Ip address. */
ipAddress?: string;
/** Cache node resource customer index as string. */
customerIndex?: string;
/** Cache node resource identifier of the cache node */
cacheNodeId?: string;
/** Cache node resource name. */
cacheNodeName?: string;
/** Cache node resource customer resource Asn (autonomous system number) */
customerAsn?: number;
/** Cache node resource flag for indicating if cache node is enabled. */
isEnabled?: boolean;
/** Cache node resource maximum allowed egress in Mbps. */
maxAllowableEgressInMbps?: number;
/** Cache node resource maximum allowed probability of egress. */
readonly maxAllowableProbability?: number;
/** Cache node resource Azure XCid. */
readonly xCid?: string;
/** Cache node resource flag for determining if managed by enterprise as boolean. */
isEnterpriseManaged?: boolean;
/** Cache node resource create async operation Id. */
readonly createAsyncOperationId?: string;
/** Cache node resource deletion async operation Id. */
readonly deleteAsyncOperationId?: string;
/** Cache node resource customer resource client tenant Id of subscription. */
readonly clientTenantId?: string;
/** Cache node resource category. */
readonly category?: string;
/** Cache node resource release version. */
readonly releaseVersion?: number;
/** Cache node resource last sync timestamp. */
readonly lastSyncWithAzureTimestamp?: Date;
/** Cache node resource last backend updated timestamp. */
readonly lastUpdatedTimestamp?: Date;
/** Cache node resource attempts to sync with Azure. */
readonly synchWithAzureAttemptsCount?: number;
/** Cache node resource container configuration details. */
readonly containerConfigurations?: string;
/** Cache node resource comma separated values of Cidrs. */
cidrCsv?: string[];
/** Cache node resource last Cidr Csv update timestamp */
readonly cidrCsvLastUpdateTime?: Date;
/** Cache node resource last Bgp Cidr Csv update timestamp */
readonly bgpCidrCsvLastUpdateTime?: Date;
/** Cache node resource last Bgp report timestamp. */
readonly bgpLastReportedTime?: Date;
/** Cache node resource Bgp review state string text in detail. */
readonly bgpReviewStateText?: string;
/** Cache node resource Bgp review state string text. */
readonly bgpReviewState?: BgpReviewStateEnum;
/** Cache node resource Bgp review feedback text. */
readonly bgpReviewFeedback?: string;
/** Cache node resource Bgp update count. */
readonly bgpNumberOfTimesUpdated?: number;
/** Cache node resource Bgp record count. */
readonly bgpNumberOfRecords?: number;
/** Cache node resource Bgp block count. */
readonly bgpCidrBlocksCount?: number;
/** Cache node resource total addressable space defined by Bgp and Cidr Csv blocks. */
readonly bgpAddressSpace?: number;
/** Cache node resource flag for determining if customer will be migrated. */
shouldMigrate?: boolean;
/** Cache node resource bytes truncated from Bgp output file. */
readonly bgpFileBytesTruncated?: number;
/** Cache node resource current Cidr range precedence selection type. */
cidrSelectionType?: number;
/** Cache node resource flag for indicating the cache node resource is frozen (not selectable, not editable in UI). */
readonly isFrozen?: boolean;
/** Cache node resource review process state as integer */
readonly reviewState?: number;
/** Cache node resource review state text. */
readonly reviewStateText?: string;
/** Cache node resource review feedback text. */
readonly reviewFeedback?: string;
/** Cache node resource configuration state. */
readonly configurationState?: ConfigurationState;
/** Cache node resource configuration state text. */
readonly configurationStateText?: string;
/** Cache node resource total addressable space defined by the Cidr Csv block. */
readonly addressSpace?: number;
/** Cache node resource Mcc container deployment worker connection count. */
readonly workerConnections?: number;
/** Cache node resource last updated Mcc container deployment worker connection count timestamp. */
readonly workerConnectionsLastUpdatedDateTime?: Date;
/** Cache node resource Mcc container configuration details re-sync trigger. */
readonly containerResyncTrigger?: number;
/** Cache node resource Mcc Container Id Uri. */
readonly imageUri?: string;
/** FQDN(fully qualified domain name) value of the mcc cache node */
fullyQualifiedDomainName?: string;
/** Auto Update Ring Type which is slow or fast etc. */
autoUpdateRingType?: AutoUpdateRingType;
/** Customer requested week of month for mcc install of auto update cycle */
autoUpdateRequestedWeek?: number;
/** Customer requested day of week for mcc install of auto update cycle */
autoUpdateRequestedDay?: number;
/** Customer requested time of the day for mcc install of auto update cycle, should be hh:mm */
autoUpdateRequestedTime?: string;
}
export function cacheNodeEntitySerializer(item: CacheNodeEntity): any {
return {
fullyQualifiedResourceId: item["fullyQualifiedResourceId"],
customerName: item["customerName"],
ipAddress: item["ipAddress"],
customerIndex: item["customerIndex"],
cacheNodeId: item["cacheNodeId"],
cacheNodeName: item["cacheNodeName"],
customerAsn: item["customerAsn"],
isEnabled: item["isEnabled"],
maxAllowableEgressInMbps: item["maxAllowableEgressInMbps"],
isEnterpriseManaged: item["isEnterpriseManaged"],
cidrCsv: !item["cidrCsv"]
? item["cidrCsv"]
: item["cidrCsv"].map((p: any) => {
return p;
}),
shouldMigrate: item["shouldMigrate"],
cidrSelectionType: item["cidrSelectionType"],
fullyQualifiedDomainName: item["fullyQualifiedDomainName"],
autoUpdateRingType: item["autoUpdateRingType"],
autoUpdateRequestedWeek: item["autoUpdateRequestedWeek"],
autoUpdateRequestedDay: item["autoUpdateRequestedDay"],
autoUpdateRequestedTime: item["autoUpdateRequestedTime"],
};
}
export function cacheNodeEntityDeserializer(item: any): CacheNodeEntity {
return {
fullyQualifiedResourceId: item["fullyQualifiedResourceId"],
customerId: item["customerId"],
customerName: item["customerName"],
ipAddress: item["ipAddress"],
customerIndex: item["customerIndex"],
cacheNodeId: item["cacheNodeId"],
cacheNodeName: item["cacheNodeName"],
customerAsn: item["customerAsn"],
isEnabled: item["isEnabled"],
maxAllowableEgressInMbps: item["maxAllowableEgressInMbps"],
maxAllowableProbability: item["maxAllowableProbability"],
xCid: item["xCid"],
isEnterpriseManaged: item["isEnterpriseManaged"],
createAsyncOperationId: item["createAsyncOperationId"],
deleteAsyncOperationId: item["deleteAsyncOperationId"],
clientTenantId: item["clientTenantId"],
category: item["category"],
releaseVersion: item["releaseVersion"],
lastSyncWithAzureTimestamp: !item["lastSyncWithAzureTimestamp"]
? item["lastSyncWithAzureTimestamp"]
: new Date(item["lastSyncWithAzureTimestamp"]),
lastUpdatedTimestamp: !item["lastUpdatedTimestamp"]
? item["lastUpdatedTimestamp"]
: new Date(item["lastUpdatedTimestamp"]),
synchWithAzureAttemptsCount: item["synchWithAzureAttemptsCount"],
containerConfigurations: item["containerConfigurations"],
cidrCsv: !item["cidrCsv"]
? item["cidrCsv"]
: item["cidrCsv"].map((p: any) => {
return p;
}),
cidrCsvLastUpdateTime: !item["cidrCsvLastUpdateTime"]
? item["cidrCsvLastUpdateTime"]
: new Date(item["cidrCsvLastUpdateTime"]),
bgpCidrCsvLastUpdateTime: !item["bgpCidrCsvLastUpdateTime"]
? item["bgpCidrCsvLastUpdateTime"]
: new Date(item["bgpCidrCsvLastUpdateTime"]),
bgpLastReportedTime: !item["bgpLastReportedTime"]
? item["bgpLastReportedTime"]
: new Date(item["bgpLastReportedTime"]),
bgpReviewStateText: item["bgpReviewStateText"],
bgpReviewState: item["bgpReviewState"],
bgpReviewFeedback: item["bgpReviewFeedback"],
bgpNumberOfTimesUpdated: item["bgpNumberOfTimesUpdated"],
bgpNumberOfRecords: item["bgpNumberOfRecords"],
bgpCidrBlocksCount: item["bgpCidrBlocksCount"],
bgpAddressSpace: item["bgpAddressSpace"],
shouldMigrate: item["shouldMigrate"],
bgpFileBytesTruncated: item["bgpFileBytesTruncated"],
cidrSelectionType: item["cidrSelectionType"],
isFrozen: item["isFrozen"],
reviewState: item["reviewState"],
reviewStateText: item["reviewStateText"],
reviewFeedback: item["reviewFeedback"],
configurationState: item["configurationState"],
configurationStateText: item["configurationStateText"],
addressSpace: item["addressSpace"],
workerConnections: item["workerConnections"],
workerConnectionsLastUpdatedDateTime: !item["workerConnectionsLastUpdatedDateTime"]
? item["workerConnectionsLastUpdatedDateTime"]
: new Date(item["workerConnectionsLastUpdatedDateTime"]),
containerResyncTrigger: item["containerResyncTrigger"],
imageUri: item["imageUri"],
fullyQualifiedDomainName: item["fullyQualifiedDomainName"],
autoUpdateRingType: item["autoUpdateRingType"],
autoUpdateRequestedWeek: item["autoUpdateRequestedWeek"],
autoUpdateRequestedDay: item["autoUpdateRequestedDay"],
autoUpdateRequestedTime: item["autoUpdateRequestedTime"],
};
}
/** Cache node resource Bgp review state as integer */
export enum KnownBgpReviewStateEnum {
/** bgp not configured */
NotConfigured = "NotConfigured",
/** bgp is in review state */
InReview = "InReview",
/** bgp is in Approved state */
Approved = "Approved",
/** bgp is setup need an attention for more troubleshoot */
AttentionRequired = "AttentionRequired",
}
/**
* Cache node resource Bgp review state as integer \
* {@link KnownBgpReviewStateEnum} can be used interchangeably with BgpReviewStateEnum,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **NotConfigured**: bgp not configured \
* **InReview**: bgp is in review state \
* **Approved**: bgp is in Approved state \
* **AttentionRequired**: bgp is setup need an attention for more troubleshoot
*/
export type BgpReviewStateEnum = string;
/** Cache node configuration setup state */
export enum KnownConfigurationState {
/** connected cache setup configured */
Configured = "Configured",
/** connected cache setup not configured */
NotConfigured_Ip = "NotConfigured_Ip",
}
/**
* Cache node configuration setup state \
* {@link KnownConfigurationState} can be used interchangeably with ConfigurationState,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **Configured**: connected cache setup configured \
* **NotConfigured_Ip**: connected cache setup not configured
*/
export type ConfigurationState = string;
/** Auto update Ring type */
export enum KnownAutoUpdateRingType {
/** customer selection of preview update install mcc on their physical vm */
Preview = "Preview",
/** customer selection of slow update to install mcc on their physical vm */
Slow = "Slow",
/** customer selection of fast / auto update to install mcc on their physical vm */
Fast = "Fast",
}
/**
* Auto update Ring type \
* {@link KnownautoUpdateRingType} can be used interchangeably with autoUpdateRingType,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **Preview**: customer selection of preview update install mcc on their physical vm \
* **Slow**: customer selection of slow update to install mcc on their physical vm \
* **Fast**: customer selection of fast \/ auto update to install mcc on their physical vm
*/
export type AutoUpdateRingType = string;
/** Model representing cache node for connected cache resource */
export interface AdditionalCacheNodeProperties {
/** issues list to return the issues as part of the additional cache node properties */
cacheNodePropertiesDetailsIssuesList?: string[];
/** Cache node resource aggregated status details. */
readonly aggregatedStatusDetails?: string;
/** Cache node resource aggregated status text. */
readonly aggregatedStatusText?: string;
/** Cache node resource aggregated status code. */
readonly aggregatedStatusCode?: number;
/** Cache node resource Mcc product version. */
readonly productVersion?: string;
/** Cache node resource flag indicating if cache node has been physically installed or provisioned on their physical lab. */
readonly isProvisioned?: boolean;
/** Cache node resource detailed state text. */
readonly cacheNodeStateDetailedText?: string;
/** Cache node resource short state text. */
readonly cacheNodeStateShortText?: string;
/** Cache node resource state as integer. */
readonly cacheNodeState?: number;
/** Cache node resource drive configurations. */
driveConfiguration?: CacheNodeDriveConfiguration[];
/** Cache node resource Bgp configuration. */
bgpConfiguration?: BgpConfiguration;
/** proxyUrl configuration of the cache node */
proxyUrlConfiguration?: ProxyUrlConfiguration;
/** Cache node resource Mcc proxy Url */
proxyUrl?: string;
/** Cache node resource requires a proxy */
isProxyRequired?: ProxyRequired;
/** Operating system of the cache node */
osType?: OsType;
/** Update Cycle Type */
updateCycleType?: CycleType;
/** Auto update or fast update version */
autoUpdateVersion?: string;
/** Update related information details */
updateInfoDetails?: string;
/** customer requested date time for mcc install of update cycle */
updateRequestedDateTime?: Date;
/** Auto update version that is the Next available version to update on mcc cache node */
readonly autoUpdateNextAvailableVersion?: string;
/** Auto update last applied date time of mcc install */
readonly autoUpdateNextAvailableDateTime?: Date;
/** Auto update version that is the applied to update on mcc cache node */
readonly autoUpdateAppliedVersion?: string;
/** Auto Update status details from the backend after applying the new version details */
readonly autoUpdateLastAppliedDetails?: string;
/** Last applied auto update state for mcc install of auto update cycle */
readonly autoUpdateLastAppliedState?: string;
/** Auto update last applied date time of mcc install */
readonly autoUpdateLastAppliedDateTime?: Date;
/** Auto update last triggered date time of mcc install */
readonly autoUpdateLastTriggeredDateTime?: Date;
/** Optional property #1 of Mcc response object */
optionalProperty1?: string;
/** Optional property #2 of Mcc response object */
optionalProperty2?: string;
/** Optional property #3 of Mcc response object */
optionalProperty3?: string;
/** Optional property #4 of Mcc response object */
optionalProperty4?: string;
/** Optional property #5 of Mcc response object */
optionalProperty5?: string;
}
export function additionalCacheNodePropertiesSerializer(item: AdditionalCacheNodeProperties): any {
return {
cacheNodePropertiesDetailsIssuesList: !item["cacheNodePropertiesDetailsIssuesList"]
? item["cacheNodePropertiesDetailsIssuesList"]
: item["cacheNodePropertiesDetailsIssuesList"].map((p: any) => {
return p;
}),
driveConfiguration: !item["driveConfiguration"]
? item["driveConfiguration"]
: cacheNodeDriveConfigurationArraySerializer(item["driveConfiguration"]),
bgpConfiguration: !item["bgpConfiguration"]
? item["bgpConfiguration"]
: bgpConfigurationSerializer(item["bgpConfiguration"]),
proxyUrlConfiguration: !item["proxyUrlConfiguration"]
? item["proxyUrlConfiguration"]
: proxyUrlConfigurationSerializer(item["proxyUrlConfiguration"]),
proxyUrl: item["proxyUrl"],
isProxyRequired: item["isProxyRequired"],
osType: item["osType"],
updateCycleType: item["updateCycleType"],
autoUpdateVersion: item["autoUpdateVersion"],
updateInfoDetails: item["updateInfoDetails"],
updateRequestedDateTime: item["updateRequestedDateTime"]?.toISOString(),
optionalProperty1: item["optionalProperty1"],
optionalProperty2: item["optionalProperty2"],
optionalProperty3: item["optionalProperty3"],
optionalProperty4: item["optionalProperty4"],
optionalProperty5: item["optionalProperty5"],
};
}
export function additionalCacheNodePropertiesDeserializer(
item: any,
): AdditionalCacheNodeProperties {
return {
cacheNodePropertiesDetailsIssuesList: !item["cacheNodePropertiesDetailsIssuesList"]
? item["cacheNodePropertiesDetailsIssuesList"]
: item["cacheNodePropertiesDetailsIssuesList"].map((p: any) => {
return p;
}),
aggregatedStatusDetails: item["aggregatedStatusDetails"],
aggregatedStatusText: item["aggregatedStatusText"],
aggregatedStatusCode: item["aggregatedStatusCode"],
productVersion: item["productVersion"],
isProvisioned: item["isProvisioned"],
cacheNodeStateDetailedText: item["cacheNodeStateDetailedText"],
cacheNodeStateShortText: item["cacheNodeStateShortText"],
cacheNodeState: item["cacheNodeState"],
driveConfiguration: !item["driveConfiguration"]
? item["driveConfiguration"]
: cacheNodeDriveConfigurationArrayDeserializer(item["driveConfiguration"]),
bgpConfiguration: !item["bgpConfiguration"]
? item["bgpConfiguration"]
: bgpConfigurationDeserializer(item["bgpConfiguration"]),
proxyUrlConfiguration: !item["proxyUrlConfiguration"]
? item["proxyUrlConfiguration"]
: proxyUrlConfigurationDeserializer(item["proxyUrlConfiguration"]),
proxyUrl: item["proxyUrl"],
isProxyRequired: item["isProxyRequired"],
osType: item["osType"],
updateCycleType: item["updateCycleType"],
autoUpdateVersion: item["autoUpdateVersion"],
updateInfoDetails: item["updateInfoDetails"],
updateRequestedDateTime: !item["updateRequestedDateTime"]
? item["updateRequestedDateTime"]
: new Date(item["updateRequestedDateTime"]),
autoUpdateNextAvailableVersion: item["autoUpdateNextAvailableVersion"],
autoUpdateNextAvailableDateTime: !item["autoUpdateNextAvailableDateTime"]
? item["autoUpdateNextAvailableDateTime"]
: new Date(item["autoUpdateNextAvailableDateTime"]),
autoUpdateAppliedVersion: item["autoUpdateAppliedVersion"],
autoUpdateLastAppliedDetails: item["autoUpdateLastAppliedDetails"],
autoUpdateLastAppliedState: item["autoUpdateLastAppliedState"],
autoUpdateLastAppliedDateTime: !item["autoUpdateLastAppliedDateTime"]
? item["autoUpdateLastAppliedDateTime"]
: new Date(item["autoUpdateLastAppliedDateTime"]),
autoUpdateLastTriggeredDateTime: !item["autoUpdateLastTriggeredDateTime"]
? item["autoUpdateLastTriggeredDateTime"]
: new Date(item["autoUpdateLastTriggeredDateTime"]),
optionalProperty1: item["optionalProperty1"],
optionalProperty2: item["optionalProperty2"],
optionalProperty3: item["optionalProperty3"],
optionalProperty4: item["optionalProperty4"],
optionalProperty5: item["optionalProperty5"],
};
}
export function cacheNodeDriveConfigurationArraySerializer(
result: Array<CacheNodeDriveConfiguration>,
): any[] {
return result.map((item) => {
return cacheNodeDriveConfigurationSerializer(item);
});
}
export function cacheNodeDriveConfigurationArrayDeserializer(
result: Array<CacheNodeDriveConfiguration>,
): any[] {
return result.map((item) => {
return cacheNodeDriveConfigurationDeserializer(item);
});
}
/** Drive configuration for cache node */
export interface CacheNodeDriveConfiguration {
/** physical path location of the folder used for caching content */
physicalPath?: string;
/** physical size of the drive used for caching content */
sizeInGb?: number;
/** corresponding nginx cache number. Valid cache numbers are 1 - 20 */
cacheNumber?: number;
/** full binding for corresponding nginx cache drive */
nginxMapping?: string;
}
export function cacheNodeDriveConfigurationSerializer(item: CacheNodeDriveConfiguration): any {
return {
physicalPath: item["physicalPath"],
sizeInGb: item["sizeInGb"],
cacheNumber: item["cacheNumber"],
nginxMapping: item["nginxMapping"],
};
}
export function cacheNodeDriveConfigurationDeserializer(item: any): CacheNodeDriveConfiguration {
return {
physicalPath: item["physicalPath"],
sizeInGb: item["sizeInGb"],
cacheNumber: item["cacheNumber"],
nginxMapping: item["nginxMapping"],
};
}
/** Bgp configuration of cache node */
export interface BgpConfiguration {
/** Asn to ip address mapping */
asnToIpAddressMapping?: string;
}
export function bgpConfigurationSerializer(item: BgpConfiguration): any {
return { asnToIpAddressMapping: item["asnToIpAddressMapping"] };
}
export function bgpConfigurationDeserializer(item: any): BgpConfiguration {
return {
asnToIpAddressMapping: item["asnToIpAddressMapping"],
};
}
/** ProxyUrl configuration of cache node */
export interface ProxyUrlConfiguration {
/** Host Proxy Address configuration along with port number. This can be a proxy or ip address. ex: xx.xx.xx.xxxx:80 or host name http://exampleproxy.com:80 */
proxyUrl?: string;
}
export function proxyUrlConfigurationSerializer(item: ProxyUrlConfiguration): any {
return { proxyUrl: item["proxyUrl"] };
}
export function proxyUrlConfigurationDeserializer(item: any): ProxyUrlConfiguration {
return {
proxyUrl: item["proxyUrl"],
};
}
/** Proxy details enum */
export enum KnownProxyRequired {
/** Proxy is not required in setup */
None = "None",
/** proxy is required in setup */
Required = "Required",
}
/**
* Proxy details enum \
* {@link KnownProxyRequired} can be used interchangeably with ProxyRequired,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **None**: Proxy is not required in setup \
* **Required**: proxy is required in setup
*/
export type ProxyRequired = string;
/** Operating System of the cache node */
export enum KnownOsType {
/** cache node installs on windows operating system */
Windows = "Windows",
/** cache node installs on Linux Operating system */
Linux = "Linux",
/** cache node installs on Azure Eflow */
Eflow = "Eflow",
}
/**
* Operating System of the cache node \
* {@link KnownOsType} can be used interchangeably with OsType,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **Windows**: cache node installs on windows operating system \
* **Linux**: cache node installs on Linux Operating system \
* **Eflow**: cache node installs on Azure Eflow
*/
export type OsType = string;
/** Update Cycle type */
export enum KnownCycleType {
/** customer selection of preview update install mcc on their physical vm */
Preview = "Preview",
/** customer selection of slow update to install mcc on their physical vm */
Slow = "Slow",
/** customer selection of fast / auto update to install mcc on their physical vm */
Fast = "Fast",
}
/**
* Update Cycle type \
* {@link KnownCycleType} can be used interchangeably with CycleType,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **Preview**: customer selection of preview update install mcc on their physical vm \
* **Slow**: customer selection of slow update to install mcc on their physical vm \
* **Fast**: customer selection of fast \/ auto update to install mcc on their physical vm
*/
export type CycleType = string;
/** The error detail. */
export interface ErrorDetail {
/** The error code. */
readonly code?: string;
/** The error message. */
readonly message?: string;
/** The error target. */
readonly target?: string;
/** The error details. */
readonly details?: ErrorDetail[];
/** The error additional info. */
readonly additionalInfo?: ErrorAdditionalInfo[];
}
export function errorDetailSerializer(item: ErrorDetail): any {
return item;
}
export function errorDetailDeserializer(item: any): ErrorDetail {
return {
code: item["code"],
message: item["message"],
target: item["target"],
details: !item["details"] ? item["details"] : errorDetailArrayDeserializer(item["details"]),
additionalInfo: !item["additionalInfo"]
? item["additionalInfo"]
: errorAdditionalInfoArrayDeserializer(item["additionalInfo"]),
};
}
export function errorDetailArraySerializer(result: Array<ErrorDetail>): any[] {
return result.map((item) => {
return errorDetailSerializer(item);
});
}
export function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {
return result.map((item) => {
return errorDetailDeserializer(item);
});
}
export function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {
return result.map((item) => {
return errorAdditionalInfoDeserializer(item);
});
}
/** The resource management error additional info. */
export interface ErrorAdditionalInfo {
/** The additional info type. */
readonly type?: string;
/** The additional info. */
readonly info?: Record<string, any>;
}
export function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {
return {
type: item["type"],
info: !item["info"] ? item["info"] : _errorAdditionalInfoInfoDeserializer(item["info"]),
};
}
/** model interface _ErrorAdditionalInfoInfo */
export interface _ErrorAdditionalInfoInfo {}
export function _errorAdditionalInfoInfoDeserializer(item: any): _ErrorAdditionalInfoInfo {
return item;
}
/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */
export interface TrackedResource extends Resource {
/** Resource tags. */
tags?: Record<string, string>;
/** The geo-location where the resource lives */
location: string;
}
export function trackedResourceSerializer(item: TrackedResource): any {
return { tags: item["tags"], location: item["location"] };
}
export function trackedResourceDeserializer(item: any): TrackedResource {
return {
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
tags: item["tags"],
location: item["location"],
};
}
/** Common fields that are returned in the response for all Azure Resource Manager resources */
export interface Resource {
/** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */
readonly id?: string;
/** The name of the resource */
readonly name?: string;
/** The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */
readonly type?: string;
/** Azure Resource Manager metadata containing createdBy and modifiedBy information. */
readonly systemData?: SystemData;
}
export function resourceSerializer(item: Resource): any {
return item;
}
export function resourceDeserializer(item: any): Resource {
return {
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
};
}
/** Metadata pertaining to creation and last modification of the resource. */
export interface SystemData {
/** The identity that created the resource. */
createdBy?: string;
/** The type of identity that created the resource. */
createdByType?: CreatedByType;
/** The timestamp of resource creation (UTC). */
createdAt?: Date;
/** The identity that last modified the resource. */
lastModifiedBy?: string;
/** The type of identity that last modified the resource. */
lastModifiedByType?: CreatedByType;
/** The timestamp of resource last modification (UTC) */
lastModifiedAt?: Date;
}
export function systemDataDeserializer(item: any): SystemData {
return {
createdBy: item["createdBy"],
createdByType: item["createdByType"],
createdAt: !item["createdAt"] ? item["createdAt"] : new Date(item["createdAt"]),
lastModifiedBy: item["lastModifiedBy"],
lastModifiedByType: item["lastModifiedByType"],
lastModifiedAt: !item["lastModifiedAt"]
? item["lastModifiedAt"]
: new Date(item["lastModifiedAt"]),
};
}
/** The kind of entity that created the resource. */
export enum KnownCreatedByType {
/** The entity was created by a user. */
User = "User",
/** The entity was created by an application. */
Application = "Application",
/** The entity was created by a managed identity. */
ManagedIdentity = "ManagedIdentity",
/** The entity was created by a key. */
Key = "Key",
}
/**
* The kind of entity that created the resource. \
* {@link KnowncreatedByType} can be used interchangeably with createdByType,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **User**: The entity was created by a user. \
* **Application**: The entity was created by an application. \
* **ManagedIdentity**: The entity was created by a managed identity. \
* **Key**: The entity was created by a key.
*/
export type CreatedByType = string;
/** Mcc PATCH operation properties. */
export interface ConnectedCachePatchResource {
/** Resource tags. */
tags?: Record<string, string>;
}
export function connectedCachePatchResourceSerializer(item: ConnectedCachePatchResource): any {
return { tags: item["tags"] };
}
/** The response of a EnterpriseMccCacheNodeResource list operation. */
export interface _EnterpriseMccCacheNodeResourceListResult {
/** The EnterpriseMccCacheNodeResource items on this page */
value: EnterpriseMccCacheNodeResource[];
/** The link to the next page of items */
nextLink?: string;
}
export function _enterpriseMccCacheNodeResourceListResultDeserializer(
item: any,
): _EnterpriseMccCacheNodeResourceListResult {
return {
value: enterpriseMccCacheNodeResourceArrayDeserializer(item["value"]),
nextLink: item["nextLink"],
};
}
export function enterpriseMccCacheNodeResourceArraySerializer(
result: Array<EnterpriseMccCacheNodeResource>,
): any[] {
return result.map((item) => {
return enterpriseMccCacheNodeResourceSerializer(item);
});
}
export function enterpriseMccCacheNodeResourceArrayDeserializer(
result: Array<EnterpriseMccCacheNodeResource>,
): any[] {
return result.map((item) => {
return enterpriseMccCacheNodeResourceDeserializer(item);
});
}
/** Mcc cache node resource all install details. */
export interface MccCacheNodeInstallDetails extends TrackedResource {
/** Mcc cache node resource install script details. */
properties?: CacheNodeInstallProperties;
}
export function mccCacheNodeInstallDetailsDeserializer(item: any): MccCacheNodeInstallDetails {
return {
tags: item["tags"],
location: item["location"],
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
properties: !item["properties"]
? item["properties"]
: cacheNodeInstallPropertiesDeserializer(item["properties"]),
};
}
/** Mcc cache node resource install script properties. */
export interface CacheNodeInstallProperties {
/** Mcc customer resource Id. */
customerId?: string;
/** Mcc cache node resource Id. */
cacheNodeId?: string;
/** Mcc primary account key. Internal to Mcc. */
readonly primaryAccountKey?: string;
/** Mcc secondary account key. Internal to Mcc. */
readonly secondaryAccountKey?: string;
/** Mcc Iot Central temporary device registration key, used once. */
readonly registrationKey?: string;
}
export function cacheNodeInstallPropertiesDeserializer(item: any): CacheNodeInstallProperties {
return {
customerId: item["customerId"],
cacheNodeId: item["cacheNodeId"],
primaryAccountKey: item["primaryAccountKey"],
secondaryAccountKey: item["secondaryAccountKey"],
registrationKey: item["registrationKey"],
};
}
/** Represents the high level Nodes needed to provision customer resources */
export interface EnterpriseMccCustomerResource extends TrackedResource {
/** The resource-specific properties for this resource. */
properties?: CustomerProperty;
}
export function enterpriseMccCustomerResourceSerializer(item: EnterpriseMccCustomerResource): any {
return {
tags: item["tags"],
location: item["location"],
properties: !item["properties"]
? item["properties"]
: customerPropertySerializer(item["properties"]),
};
}
export function enterpriseMccCustomerResourceDeserializer(
item: any,
): EnterpriseMccCustomerResource {
return {
tags: item["tags"],
location: item["location"],
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
properties: !item["properties"]
? item["properties"]
: customerPropertyDeserializer(item["properties"]),
};
}
/** Model representing customer for connectedCache resource */
export interface CustomerProperty {
/** The provisioned state of the resource */
readonly provisioningState?: ProvisioningState;
/** Mcc customer resource (customer entity). */
customer?: CustomerEntity;
/** Mcc customer resource additional properties. */
additionalCustomerProperties?: AdditionalCustomerProperties;
/** Mcc response status code. */
readonly statusCode?: string;
/** Mcc response status text as string for retrieving status details. */
readonly statusText?: string;
/** Mcc response status details for retrieving response inner details. */
readonly statusDetails?: string;
/** HTTP error status code. */
readonly status?: string;
/** Mcc response error details. */
readonly error?: ErrorDetail;
}
export function customerPropertySerializer(item: CustomerProperty): any {
return {
customer: !item["customer"] ? item["customer"] : customerEntitySerializer(item["customer"]),
additionalCustomerProperties: !item["additionalCustomerProperties"]
? item["additionalCustomerProperties"]
: additionalCustomerPropertiesSerializer(item["additionalCustomerProperties"]),
};
}
export function customerPropertyDeserializer(item: any): CustomerProperty {
return {
provisioningState: item["provisioningState"],
customer: !item["customer"] ? item["customer"] : customerEntityDeserializer(item["customer"]),
additionalCustomerProperties: !item["additionalCustomerProperties"]
? item["additionalCustomerProperties"]
: additionalCustomerPropertiesDeserializer(item["additionalCustomerProperties"]),
statusCode: item["statusCode"],
statusText: item["statusText"],
statusDetails: item["statusDetails"],
status: item["status"],
error: !item["error"] ? item["error"] : errorDetailDeserializer(item["error"]),
};
}
/** Model representing Customer resource for ConnectedCache resource */
export interface CustomerEntity {
/** Customer resource Azure fully qualified resource Id. */
fullyQualifiedResourceId?: string;
/** Customer resource Guid Id. */
readonly customerId?: string;
/** Customer resource name. */
customerName?: string;
/** Customer resource contact email. */
contactEmail?: string;
/** Customer resource contact phone. */
contactPhone?: string;
/** Customer resource contact full name. */
contactName?: string;
/** Customer resource entitlement flag as boolean. */
isEntitled?: boolean;
/** Customer resource Mcc release version. */
releaseVersion?: number;
/** Customer resource create async operation Id. */
readonly createAsyncOperationId?: string;
/** Customer resource deletion async operation Id. */
readonly deleteAsyncOperationId?: string;
/** Customer resource client tenant Id of subscription. */
clientTenantId?: string;
/** Customer resource sync attempts. */
readonly synchWithAzureAttemptsCount?: number;
/** Customer resource last Azure sync timestamp. */
readonly lastSyncWithAzureTimestamp?: Date;
/** Customer resource flag for enterprise management as boolean. */
isEnterpriseManaged?: boolean;
/** Customer resource flag for migration. */
shouldMigrate?: boolean;
/** Customer resource flag for resending signup code as boolean. */
resendSignupCode?: boolean;
/** Customer resource flag for requiring verification of signup code as boolean. */
verifySignupCode?: boolean;
/** Customer resource phrase for verifying signup. */
verifySignupPhrase?: string;
}
export function customerEntitySerializer(item: CustomerEntity): any {
return {
fullyQualifiedResourceId: item["fullyQualifiedResourceId"],
customerName: item["customerName"],
contactEmail: item["contactEmail"],
contactPhone: item["contactPhone"],
contactName: item["contactName"],
isEntitled: item["isEntitled"],
releaseVersion: item["releaseVersion"],
clientTenantId: item["clientTenantId"],
isEnterpriseManaged: item["isEnterpriseManaged"],
shouldMigrate: item["shouldMigrate"],
resendSignupCode: item["resendSignupCode"],
verifySignupCode: item["verifySignupCode"],
verifySignupPhrase: item["verifySignupPhrase"],
};
}
export function customerEntityDeserializer(item: any): CustomerEntity {
return {
fullyQualifiedResourceId: item["fullyQualifiedResourceId"],
customerId: item["customerId"],
customerName: item["customerName"],
contactEmail: item["contactEmail"],
contactPhone: item["contactPhone"],
contactName: item["contactName"],
isEntitled: item["isEntitled"],
releaseVersion: item["releaseVersion"],
createAsyncOperationId: item["createAsyncOperationId"],
deleteAsyncOperationId: item["deleteAsyncOperationId"],
clientTenantId: item["clientTenantId"],
synchWithAzureAttemptsCount: item["synchWithAzureAttemptsCount"],
lastSyncWithAzureTimestamp: !item["lastSyncWithAzureTimestamp"]
? item["lastSyncWithAzureTimestamp"]
: new Date(item["lastSyncWithAzureTimestamp"]),
isEnterpriseManaged: item["isEnterpriseManaged"],
shouldMigrate: item["shouldMigrate"],
resendSignupCode: item["resendSignupCode"],
verifySignupCode: item["verifySignupCode"],
verifySignupPhrase: item["verifySignupPhrase"],
};
}
/** Model representing customer for connected cache resource */
export interface AdditionalCustomerProperties {
/** Customer resource last PeeringDB update timestamp. */
readonly peeringDbLastUpdateTime?: Date;
/** Customer resource cache efficiency. */
readonly customerPropertiesOverviewCacheEfficiency?: number;
/** Customer resource average egress in Mbps. */
readonly customerPropertiesOverviewAverageEgressMbps?: number;
/** Customer resource average cache miss throughput in Mbps. */
readonly customerPropertiesOverviewAverageMissMbps?: number;
/** Customer resource maximum egress in Mbps. */
readonly customerPropertiesOverviewEgressMbpsMax?: number;
/** Customer resource peak egress timestamp. */
readonly customerPropertiesOverviewEgressMbpsMaxDateTime?: Date;
/** Customer resource maximum cache miss throughput in Mbps. */
readonly customerPropertiesOverviewMissMbpsMax?: number;
/** Customer resource peak cache miss throughput timestamp. */
readonly customerPropertiesOverviewMissMbpsMaxDateTime?: Date;
/** Customer resource total healthy cache nodes. */
readonly customerPropertiesOverviewCacheNodesHealthyCount?: number;
/** Customer resource total unhealthy cache nodes. */
readonly customerPropertiesOverviewCacheNodesUnhealthyCount?: number;
/** Customer resource signup status as boolean. */
readonly signupStatus?: boolean;
/** Customer resource signup status as integer code. */
readonly signupStatusCode?: number;
/** Customer resource signup status as string text. */
readonly signupStatusText?: string;
/** Customer resource signup phase status code as integer. */
readonly signupPhaseStatusCode?: number;
/** Customer resource signup phase status as string text. */
readonly signupPhaseStatusText?: string;
/** Customer resource last PeeringDB update timestamp. */
readonly peeringDbLastUpdateDate?: Date;
/** Customer resource owner organization name. */
readonly customerOrgName?: string;
/** Customer resource contact email. */
customerEmail?: string;
/** Customer resource transit Asn (autonomous system number). */
customerTransitAsn?: string;
/** Customer resource transit state. */
customerTransitState?: CustomerTransitState;
/** Customer resource Asn (autonomous system number). */
customerAsn?: string;
/** Customer resource estimated Asn peering peak in Gbps. */
readonly customerAsnEstimatedEgressPeekGbps?: number;
/** Customer resource entitlement Sku Id. */
customerEntitlementSkuId?: string;
/** Customer resource entitlement Sku Guid. */
customerEntitlementSkuGuid?: string;
/** Customer resource entitlement Sku name. */
customerEntitlementSkuName?: string;
/** Customer resource entitlement expiration date string. */
customerEntitlementExpiration?: Date;
/** Optional property #1 of Mcc response object. */
optionalProperty1?: string;
/** Optional property #2 of Mcc response object. */
optionalProperty2?: string;
/** Optional property #3 of Mcc response object. */
optionalProperty3?: string;
/** Optional property #4 of Mcc response object. */
optionalProperty4?: string;
/** Optional property #5 of Mcc response object. */
optionalProperty5?: string;
}
export function additionalCustomerPropertiesSerializer(item: AdditionalCustomerProperties): any {
return {
customerEmail: item["customerEmail"],
customerTransitAsn: item["customerTransitAsn"],
customerTransitState: item["customerTransitState"],
customerAsn: item["customerAsn"],
customerEntitlementSkuId: item["customerEntitlementSkuId"],
customerEntitlementSkuGuid: item["customerEntitlementSkuGuid"],
customerEntitlementSkuName: item["customerEntitlementSkuName"],
customerEntitlementExpiration: item["customerEntitlementExpiration"]?.toISOString(),
optionalProperty1: item["optionalProperty1"],
optionalProperty2: item["optionalProperty2"],
optionalProperty3: item["optionalProperty3"],
optionalProperty4: item["optionalProperty4"],
optionalProperty5: item["optionalProperty5"],
};
}
export function additionalCustomerPropertiesDeserializer(item: any): AdditionalCustomerProperties {
return {
peeringDbLastUpdateTime: !item["peeringDbLastUpdateTime"]
? item["peeringDbLastUpdateTime"]
: new Date(item["peeringDbLastUpdateTime"]),
customerPropertiesOverviewCacheEfficiency: item["customerPropertiesOverviewCacheEfficiency"],
customerPropertiesOverviewAverageEgressMbps:
item["customerPropertiesOverviewAverageEgressMbps"],
customerPropertiesOverviewAverageMissMbps: item["customerPropertiesOverviewAverageMissMbps"],
customerPropertiesOverviewEgressMbpsMax: item["customerPropertiesOverviewEgressMbpsMax"],
customerPropertiesOverviewEgressMbpsMaxDateTime: !item[
"customerPropertiesOverviewEgressMbpsMaxDateTime"
]
? item["customerPropertiesOverviewEgressMbpsMaxDateTime"]
: new Date(item["customerPropertiesOverviewEgressMbpsMaxDateTime"]),
customerPropertiesOverviewMissMbpsMax: item["customerPropertiesOverviewMissMbpsMax"],
customerPropertiesOverviewMissMbpsMaxDateTime: !item[
"customerPropertiesOverviewMissMbpsMaxDateTime"
]
? item["customerPropertiesOverviewMissMbpsMaxDateTime"]
: new Date(item["customerPropertiesOverviewMissMbpsMaxDateTime"]),
customerPropertiesOverviewCacheNodesHealthyCount:
item["customerPropertiesOverviewCacheNodesHealthyCount"],
customerPropertiesOverviewCacheNodesUnhealthyCount:
item["customerPropertiesOverviewCacheNodesUnhealthyCount"],
signupStatus: item["signupStatus"],
signupStatusCode: item["signupStatusCode"],
signupStatusText: item["signupStatusText"],
signupPhaseStatusCode: item["signupPhaseStatusCode"],
signupPhaseStatusText: item["signupPhaseStatusText"],
peeringDbLastUpdateDate: !item["peeringDbLastUpdateDate"]
? item["peeringDbLastUpdateDate"]
: new Date(item["peeringDbLastUpdateDate"]),
customerOrgName: item["customerOrgName"],
customerEmail: item["customerEmail"],
customerTransitAsn: item["customerTransitAsn"],
customerTransitState: item["customerTransitState"],
customerAsn: item["customerAsn"],
customerAsnEstimatedEgressPeekGbps: item["customerAsnEstimatedEgressPeekGbps"],
customerEntitlementSkuId: item["customerEntitlementSkuId"],
customerEntitlementSkuGuid: item["customerEntitlementSkuGuid"],
customerEntitlementSkuName: item["customerEntitlementSkuName"],
customerEntitlementExpiration: !item["customerEntitlementExpiration"]
? item["customerEntitlementExpiration"]
: new Date(item["customerEntitlementExpiration"]),
optionalProperty1: item["optionalProperty1"],
optionalProperty2: item["optionalProperty2"],
optionalProperty3: item["optionalProperty3"],
optionalProperty4: item["optionalProperty4"],
optionalProperty5: item["optionalProperty5"],
};
}
/** Customer resource transit states */
export enum KnownCustomerTransitState {
/** do not have transit */
NoTransit = "NoTransit",
/** transit provider and have own subscribers */
CombinedTransit = "CombinedTransit",
/** pure transit provider or network service provider */
TransitOnly = "TransitOnly",
}
/**
* Customer resource transit states \
* {@link KnownCustomerTransitState} can be used interchangeably with CustomerTransitState,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **NoTransit**: do not have transit \
* **CombinedTransit**: transit provider and have own subscribers \
* **TransitOnly**: pure transit provider or network service provider
*/
export type CustomerTransitState = string;
/** The response of a EnterpriseMccCustomerResource list operation. */
export interface _EnterpriseMccCustomerResourceListResult {
/** The EnterpriseMccCustomerResource items on this page */
value: EnterpriseMccCustomerResource[];
/** The link to the next page of items */
nextLink?: string;
}
export function _enterpriseMccCustomerResourceListResultDeserializer(
item: any,
): _EnterpriseMccCustomerResourceListResult {
return {
value: enterpriseMccCustomerResourceArrayDeserializer(item["value"]),
nextLink: item["nextLink"],
};
}
export function enterpriseMccCustomerResourceArraySerializer(
result: Array<EnterpriseMccCustomerResource>,
): any[] {
return result.map((item) => {
return enterpriseMccCustomerResourceSerializer(item);
});
}
export function enterpriseMccCustomerResourceArrayDeserializer(
result: Array<EnterpriseMccCustomerResource>,
): any[] {
return result.map((item) => {
return enterpriseMccCustomerResourceDeserializer(item);
});
}
/** Represents the high level Nodes needed to provision cache node resources */
export interface IspCacheNodeResource extends TrackedResource {
/** The resource-specific properties for this resource. */
properties?: CacheNodeProperty;
}
export function ispCacheNodeResourceSerializer(item: IspCacheNodeResource): any {
return {
tags: item["tags"],
location: item["location"],
properties: !item["properties"]
? item["properties"]
: cacheNodePropertySerializer(item["properties"]),
};
}
export function ispCacheNodeResourceDeserializer(item: any): IspCacheNodeResource {
return {
tags: item["tags"],
location: item["location"],
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
properties: !item["properties"]
? item["properties"]
: cacheNodePropertyDeserializer(item["properties"]),
};
}
/** The response of a IspCacheNodeResource list operation. */
export interface _IspCacheNodeResourceListResult {
/** The IspCacheNodeResource items on this page */
value: IspCacheNodeResource[];
/** The link to the next page of items */
nextLink?: string;
}
export function _ispCacheNodeResourceListResultDeserializer(
item: any,
): _IspCacheNodeResourceListResult {
return {
value: ispCacheNodeResourceArrayDeserializer(item["value"]),
nextLink: item["nextLink"],
};
}
export function ispCacheNodeResourceArraySerializer(result: Array<IspCacheNodeResource>): any[] {
return result.map((item) => {
return ispCacheNodeResourceSerializer(item);
});
}
export function ispCacheNodeResourceArrayDeserializer(result: Array<IspCacheNodeResource>): any[] {
return result.map((item) => {
return ispCacheNodeResourceDeserializer(item);
});
}
/** Represents all Cidr details of the Bgp request for a specific cache node resource */
export interface MccCacheNodeBgpCidrDetails extends TrackedResource {
/** Mcc cache node resource Bgp Cidr properties. */
properties?: BgpCidrsConfiguration;
}
export function mccCacheNodeBgpCidrDetailsDeserializer(item: any): MccCacheNodeBgpCidrDetails {
return {
tags: item["tags"],
location: item["location"],
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
properties: !item["properties"]
? item["properties"]
: bgpCidrsConfigurationDeserializer(item["properties"]),
};
}
/** Mcc cache node Bgp Cidr details. */
export interface BgpCidrsConfiguration {
/** Mcc cache node Bgp Cidr details. */
readonly bgpCidrs?: string[];
}
export function bgpCidrsConfigurationDeserializer(item: any): BgpCidrsConfiguration {
return {
bgpCidrs: !item["bgpCidrs"]
? item["bgpCidrs"]
: item["bgpCidrs"].map((p: any) => {
return p;
}),
};
}
/** Represents the high level Nodes needed to provision isp customer resources */
export interface IspCustomerResource extends TrackedResource {
/** The resource-specific properties for this resource. */
properties?: CustomerProperty;
}
export function ispCustomerResourceSerializer(item: IspCustomerResource): any {
return {
tags: item["tags"],
location: item["location"],
properties: !item["properties"]
? item["properties"]
: customerPropertySerializer(item["properties"]),
};
}
export function ispCustomerResourceDeserializer(item: any): IspCustomerResource {
return {
tags: item["tags"],
location: item["location"],
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
properties: !item["properties"]
? item["properties"]
: customerPropertyDeserializer(item["properties"]),
};
}
/** The response of a IspCustomerResource list operation. */
export interface _IspCustomerResourceListResult {
/** The IspCustomerResource items on this page */
value: IspCustomerResource[];
/** The link to the next page of items */
nextLink?: string;
}
export function _ispCustomerResourceListResultDeserializer(
item: any,
): _IspCustomerResourceListResult {
return {
value: ispCustomerResourceArrayDeserializer(item["value"]),
nextLink: item["nextLink"],
};
}
export function ispCustomerResourceArraySerializer(result: Array<IspCustomerResource>): any[] {
return result.map((item) => {
return ispCustomerResourceSerializer(item);
});
}
export function ispCustomerResourceArrayDeserializer(result: Array<IspCustomerResource>): any[] {
return result.map((item) => {
return ispCustomerResourceDeserializer(item);
});
}
/** Concrete tracked resource types can be created by aliasing this type using a specific property type. */
export interface CacheNodePreviewResource extends TrackedResource {
/** The resource-specific properties for this resource. */
properties?: CacheNodeOldResponse;
}
export function cacheNodePreviewResourceSerializer(item: CacheNodePreviewResource): any {
return {
tags: item["tags"],
location: item["location"],
properties: !item["properties"]
? item["properties"]
: cacheNodeOldResponseSerializer(item["properties"]),
};
}
export function cacheNodePreviewResourceDeserializer(item: any): CacheNodePreviewResource {
return {
tags: item["tags"],
location: item["location"],
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
properties: !item["properties"]
? item["properties"]
: cacheNodeOldResponseDeserializer(item["properties"]),
};
}
/** Model representing Cache Node for ConnectedCache resource */
export interface CacheNodeOldResponse {
/** The provisioned state of the resource */
readonly provisioningState?: ProvisioningState;
/** statusCode used to get code details of Mcc response object */
statusCode?: string;
/** statusText used to get status details in string format of Mcc response object */
statusText?: string;
/** statusDetails used to get inner details of Mcc response object */
statusDetails?: string;
/** status of the HTTP error code */
readonly status?: string;
/** The error details */
error?: ErrorDetail;
}
export function cacheNodeOldResponseSerializer(item: CacheNodeOldResponse): any {
return {
statusCode: item["statusCode"],
statusText: item["statusText"],
statusDetails: item["statusDetails"],
error: !item["error"] ? item["error"] : errorDetailSerializer(item["error"]),
};
}
export function cacheNodeOldResponseDeserializer(item: any): CacheNodeOldResponse {
return {
provisioningState: item["provisioningState"],
statusCode: item["statusCode"],
statusText: item["statusText"],
statusDetails: item["statusDetails"],
status: item["status"],
error: !item["error"] ? item["error"] : errorDetailDeserializer(item["error"]),
};
}
/** The response of a CacheNodePreviewResource list operation. */
export interface _CacheNodePreviewResourceListResult {
/** The CacheNodePreviewResource items on this page */
value: CacheNodePreviewResource[];
/** The link to the next page of items */
nextLink?: string;
}
export function _cacheNodePreviewResourceListResultDeserializer(
item: any,
): _CacheNodePreviewResourceListResult {
return {
value: cacheNodePreviewResourceArrayDeserializer(item["value"]),
nextLink: item["nextLink"],
};
}
export function cacheNodePreviewResourceArraySerializer(
result: Array<CacheNodePreviewResource>,
): any[] {
return result.map((item) => {
return cacheNodePreviewResourceSerializer(item);
});
}
export function cacheNodePreviewResourceArrayDeserializer(
result: Array<CacheNodePreviewResource>,
): any[] {
return result.map((item) => {
return cacheNodePreviewResourceDeserializer(item);
});
}
/** ConnectedCache Resource. Represents the high level Nodes needed to provision CacheNode and customer resources used in private preview */
export interface EnterprisePreviewResource extends TrackedResource {
/** The resource-specific properties for this resource. */
properties?: CacheNodeOldResponse;
}
export function enterprisePreviewResourceSerializer(item: EnterprisePreviewResource): any {
return {
tags: item["tags"],
location: item["location"],
properties: !item["properties"]
? item["properties"]
: cacheNodeOldResponseSerializer(item["properties"]),
};
}
export function enterprisePreviewResourceDeserializer(item: any): EnterprisePreviewResource {
return {
tags: item["tags"],
location: item["location"],
id: item["id"],
name: item["name"],
type: item["type"],
systemData: !item["systemData"]
? item["systemData"]
: systemDataDeserializer(item["systemData"]),
properties: !item["properties"]
? item["properties"]
: cacheNodeOldResponseDeserializer(item["properties"]),
};
}
/** The response of a EnterprisePreviewResource list operation. */
export interface _EnterprisePreviewResourceListResult {
/** The EnterprisePreviewResource items on this page */
value: EnterprisePreviewResource[];
/** The link to the next page of items */
nextLink?: string;
}
export function _enterprisePreviewResourceListResultDeserializer(
item: any,
): _EnterprisePreviewResourceListResult {
return {
value: enterprisePreviewResourceArrayDeserializer(item["value"]),
nextLink: item["nextLink"],
};
}
export function enterprisePreviewResourceArraySerializer(
result: Array<EnterprisePreviewResource>,
): any[] {
return result.map((item) => {
return enterprisePreviewResourceSerializer(item);
});
}
export function enterprisePreviewResourceArrayDeserializer(
result: Array<EnterprisePreviewResource>,
): any[] {
return result.map((item) => {
return enterprisePreviewResourceDeserializer(item);
});
}
/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */
export interface _OperationListResult {
/** The Operation items on this page */
value: Operation[];
/** The link to the next page of items */
nextLink?: string;
}
export function _operationListResultDeserializer(item: any): _OperationListResult {
return {
value: operationArrayDeserializer(item["value"]),
nextLink: item["nextLink"],
};
}
export function operationArrayDeserializer(result: Array<Operation>): any[] {
return result.map((item) => {
return operationDeserializer(item);
});
}
/** Details of a REST API operation, returned from the Resource Provider Operations API */
export interface Operation {
/** The name of the operation, as per Resource-Based Access Control (RBAC). Examples: "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action" */
readonly name?: string;
/** Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for Azure Resource Manager/control-plane operations. */
readonly isDataAction?: boolean;
/** Localized display information for this particular operation. */
readonly display?: OperationDisplay;
/** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system" */
readonly origin?: Origin;
/** Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. */
actionType?: ActionType;
}
export function operationDeserializer(item: any): Operation {
return {
name: item["name"],
isDataAction: item["isDataAction"],
display: !item["display"] ? item["display"] : operationDisplayDeserializer(item["display"]),
origin: item["origin"],
actionType: item["actionType"],
};
}
/** Localized display information for and operation. */
export interface OperationDisplay {
/** The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft Compute". */
readonly provider?: string;
/** The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job Schedule Collections". */
readonly resource?: string;
/** The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". */
readonly operation?: string;
/** The short, localized friendly description of the operation; suitable for tool tips and detailed views. */
readonly description?: string;
}
export function operationDisplayDeserializer(item: any): OperationDisplay {
return {
provider: item["provider"],
resource: item["resource"],
operation: item["operation"],
description: item["description"],
};
}
/** Known values of {@link Origin} that the service accepts. */
export enum KnownOrigin {
/** user */
User = "user",
/** system */
System = "system",
/** user,system */
UserSystem = "user,system",
}
/**
* The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system" \
* {@link KnownOrigin} can be used interchangeably with Origin,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **user** \
* **system** \
* **user,system**
*/
export type Origin = string;
/** Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. */
export enum KnownActionType {
/** Actions are for internal-only APIs. */
Internal = "Internal",
}
/**
* Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. \
* {@link KnownActionType} can be used interchangeably with ActionType,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **Internal**: Actions are for internal-only APIs.
*/
export type ActionType = string;
/** The available API versions. */
export enum KnownVersions {
/** Microsoft Connected Cache Rest Api version 2023-05-01-preview */
v2023_05_01_preview = "2023-05-01-preview",
}