import { type AdditionalDataHolder, type Guid, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions'; /** * List of architecture tag objects with metadata to help UI present the information to the user. */ export interface ArchitectureData extends AdditionalDataHolder, Parsable { /** * Flag indicating if additional challenges should be required before user can select this architecture item. */ advanced?: boolean | null; /** * List of configuration tags that are a part of this architecture. */ configTagList?: ConfigurationTag[] | null; /** * Long form explanation what the architecture is and/or does. */ description?: string | null; /** * Human friendly name of the architecture tag. */ displayName?: string | null; /** * Object ID of the architecture tag entity. */ id?: Guid | null; } /** * Object with the details of the evaluation of the deployed infrastructure resources. */ export interface CompareResponse extends AdditionalDataHolder, Parsable { /** * Collection of the configuration items where request for resource data responded with an error. */ invalid?: CompareResponse_invalid[] | null; /** * Point in time expressed in ISO 8601 format when the evaluation results were generated. */ lastRunTimestamp?: Date | null; /** * Collection of the configuration items that are expected to be deployed but do not have resource reference id. */ missing?: CompareResponse_missing[] | null; /** * Collection of the configuration items where discrepancies were found. */ results?: CompareResponse_results[] | null; } export interface CompareResponse_invalid extends AdditionalDataHolder, Parsable { /** * Text with the details of the error response. */ message?: string | null; /** * Internal reference identifier of the resource. */ templateId?: Guid | null; } export interface CompareResponse_missing extends AdditionalDataHolder, Parsable { /** * Text containing details of the original configuration item definition. */ message?: string | null; /** * Internal reference identifier of the resource. */ templateId?: Guid | null; } export interface CompareResponse_results extends AdditionalDataHolder, Parsable { /** * Internal reference identifier of the resource. */ templateId?: Guid | null; /** * List of individual parts of the resource where discrepancies were determined. */ variants?: CompareResponse_results_variants[] | null; } export interface CompareResponse_results_variants extends AdditionalDataHolder, Parsable { /** * List of operations available to be performed on the entity. */ actions?: number[] | null; /** * Detailed information about the discrepancy for the entity. */ errorCode?: number | null; /** * Location in the object where evaluated property encountered an error. */ path?: string | null; } /** * Single configuration category with curated properties and values in a user-friendly format. */ export interface ConfigurationCategory extends AdditionalDataHolder, Parsable { /** * Lengthier explanation of how this category groups related configuration items. */ description?: string | null; /** * Human friendly name of the Configuration Category. */ displayName?: string | null; /** * Object ID in UUID format that references the deploy group tag metadata record associated with this category. */ groupTagMetadataId?: Guid | null; /** * Internal Object ID in UUID format to uniquely identify this configuration category definition. */ id?: Guid | null; /** * Object ID in UUID format that references the parent configuration category when this category is nested. */ parentCategoryId?: Guid | null; /** * List of configuration item templateIds assigned to this category. */ templateIds?: Guid[] | null; } /** * Single configuration item with curated properties and values in a user-friendly format. */ export interface ConfigurationItem extends AdditionalDataHolder, Parsable { /** * List of Object IDs in UUID format that reference configuration items identified as entities dependent on the presence of the current item. */ childDependencies?: Guid[] | null; /** * Indicator of the infrastructure configuration item's current state. Mutated means that the item has been modified by the end user outside of SHIELD. */ deployState?: ConfigurationItem_deployState | null; /** * URL to the documentation of the Configuration Item. */ docs?: string | null; /** * List of metadata tags that indicate which deployment sets the configuration item is compatible with. */ groupTagList?: ConfigurationItem_groupTagList[] | null; /** * List of Microsoft Sovereign Clouds the configuration items is compatible with. */ msCloudTypes?: string[] | null; /** * Human friendly name of the Configuration Item. */ name?: string | null; /** * List of Object IDs in UUID format that reference configuration items identified as entities which deploy and existence is required for the current item. */ parentDependencies?: Guid[] | null; /** * Internal Object ID in UUID format to uniquely identify this configuration item definition. */ templateId?: Guid | null; /** * Relative Graph Api path identifying where the resource to be located and managed. */ urlPath?: string | null; } export type ConfigurationItem_deployState = (typeof ConfigurationItem_deployStateObject)[keyof typeof ConfigurationItem_deployStateObject]; export interface ConfigurationItem_groupTagList extends AdditionalDataHolder, Parsable { /** * Long form explanation what the tag is and/or does. */ description?: string | null; /** * Human friendly name of the tag. */ displayName?: string | null; /** * Object ID in the UUID format of the tag entity. */ tagId?: Guid | null; } /** * Object representing populated information expanding details of the Configuration Item with user friendly information. */ export interface ConfigurationItemMetaData extends AdditionalDataHolder, Parsable { /** * Web URL to the Microsoft or Azure service where resource can be found. */ baseLink?: string | null; /** * Statements describing what this resource might help with in the realm of compliance and security. */ compliancePositionList?: string[] | null; /** * Collection of frameworks that this resource addresses when implemented. */ compliancePositionStandardList?: string[] | null; /** * Benefits gained by implementing the resource. */ deploymentBenefitList?: string[] | null; /** * Lengthier definition for the resource that provides more insight into what is covered or intended. */ description?: string | null; /** * Collection of disclaimer statements. */ disclaimerList?: string[] | null; /** * Collection of steps customer should consider or follow for successful implementation of the resource. */ guideStepList?: string[] | null; /** * Reasons explaining importance of the implementation of this resource. */ importanceReasonList?: string[] | null; /** * Collection of educational URLs for user to explore. */ learnLinkList?: string[] | null; /** * Definition of license requirements to use this resource. */ licenseRequirement?: string | null; /** * Collection of strings that make up a manual implementation guide for the associated configuration item. */ manualCreateGuideList?: string[] | null; /** * Possible risks that could lead to issues if this resource is not implemented. */ nonDeploymentRiskList?: string[] | null; /** * Indicator of the level of possible disruptions if this resource is not implemented. Lower number indicates higher risk. */ operationalRisk?: number | null; /** * Indicator of the priority of the resource implementation. Lower number indicates higher priority. */ priority?: number | null; /** * Human readable short title. */ title?: string | null; } /** * Definition of an object representing configuration tag used within architecture collections. */ export interface ConfigurationTag extends AdditionalDataHolder, Parsable { /** * Flag indicating if additional challenges should be required before user can use this configuration item. */ advanced?: boolean | null; /** * List of configuration tags that are required to be selected if this one were to be selected. This property is primarily used for illustration to the end user or system. */ dependentTag?: ConfigurationTag[] | null; /** * Long form explanation what the tag is and/or does. */ description?: string | null; /** * Human friendly name of the config tag. */ displayName?: string | null; /** * Object ID of the config tag entity. */ id?: Guid | null; } /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {ArchitectureData} */ export declare function createArchitectureDataFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {CompareResponse_invalid} */ export declare function createCompareResponse_invalidFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {CompareResponse_missing} */ export declare function createCompareResponse_missingFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {CompareResponse_results_variants} */ export declare function createCompareResponse_results_variantsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {CompareResponse_results} */ export declare function createCompareResponse_resultsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {CompareResponse} */ export declare function createCompareResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {ConfigurationCategory} */ export declare function createConfigurationCategoryFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {ConfigurationItem_groupTagList} */ export declare function createConfigurationItem_groupTagListFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {ConfigurationItem} */ export declare function createConfigurationItemFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {ConfigurationItemMetaData} */ export declare function createConfigurationItemMetaDataFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {ConfigurationTag} */ export declare function createConfigurationTagFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {PathIndicator} */ export declare function createPathIndicatorFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {RemediationResponse_errors} */ export declare function createRemediationResponse_errorsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {RemediationResponse_results} */ export declare function createRemediationResponse_resultsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {RemediationResponse} */ export declare function createRemediationResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {ValidationRequest} */ export declare function createValidationRequestFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {ValidationResponse} */ export declare function createValidationResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * The deserialization information for the current model * @param ArchitectureData The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoArchitectureData(architectureData?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param CompareResponse The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoCompareResponse(compareResponse?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param CompareResponse_invalid The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoCompareResponse_invalid(compareResponse_invalid?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param CompareResponse_missing The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoCompareResponse_missing(compareResponse_missing?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param CompareResponse_results The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoCompareResponse_results(compareResponse_results?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param CompareResponse_results_variants The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoCompareResponse_results_variants(compareResponse_results_variants?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param ConfigurationCategory The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoConfigurationCategory(configurationCategory?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param ConfigurationItem The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoConfigurationItem(configurationItem?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param ConfigurationItem_groupTagList The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoConfigurationItem_groupTagList(configurationItem_groupTagList?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param ConfigurationItemMetaData The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoConfigurationItemMetaData(configurationItemMetaData?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param ConfigurationTag The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoConfigurationTag(configurationTag?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param PathIndicator The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoPathIndicator(pathIndicator?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param RemediationResponse The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoRemediationResponse(remediationResponse?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param RemediationResponse_errors The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoRemediationResponse_errors(remediationResponse_errors?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param RemediationResponse_results The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoRemediationResponse_results(remediationResponse_results?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param ValidationRequest The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoValidationRequest(validationRequest?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param ValidationResponse The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoValidationResponse(validationResponse?: Partial | undefined): Record void>; /** * Payload with path data used in several endpoints */ export interface PathIndicator extends AdditionalDataHolder, Parsable { /** * Location of the target in the object structure of the configuration item flattened for predictable navigation. */ path?: string | null; } /** * Object with the details of the performed remediation action. */ export interface RemediationResponse extends AdditionalDataHolder, Parsable { /** * Collection of the configuration items that failed to provision and available details on the error. */ errors?: RemediationResponse_errors[] | null; /** * Records in the form of key/value where key is templateId of the configuration item and value is the name of the provisioned resource. */ results?: RemediationResponse_results | null; } export interface RemediationResponse_errors extends AdditionalDataHolder, Parsable { /** * Text with the details of the error response. */ message?: string | null; /** * Internal reference identifier of the resource. */ templateId?: Guid | null; } /** * Records in the form of key/value where key is templateId of the configuration item and value is the name of the provisioned resource. */ export interface RemediationResponse_results extends AdditionalDataHolder, Parsable { } /** * Serializes information the current object * @param ArchitectureData The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeArchitectureData(writer: SerializationWriter, architectureData?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param CompareResponse The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeCompareResponse(writer: SerializationWriter, compareResponse?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param CompareResponse_invalid The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeCompareResponse_invalid(writer: SerializationWriter, compareResponse_invalid?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param CompareResponse_missing The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeCompareResponse_missing(writer: SerializationWriter, compareResponse_missing?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param CompareResponse_results The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeCompareResponse_results(writer: SerializationWriter, compareResponse_results?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param CompareResponse_results_variants The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeCompareResponse_results_variants(writer: SerializationWriter, compareResponse_results_variants?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param ConfigurationCategory The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeConfigurationCategory(writer: SerializationWriter, configurationCategory?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param ConfigurationItem The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeConfigurationItem(writer: SerializationWriter, configurationItem?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param ConfigurationItem_groupTagList The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeConfigurationItem_groupTagList(writer: SerializationWriter, configurationItem_groupTagList?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param ConfigurationItemMetaData The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeConfigurationItemMetaData(writer: SerializationWriter, configurationItemMetaData?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param ConfigurationTag The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeConfigurationTag(writer: SerializationWriter, configurationTag?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param PathIndicator The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializePathIndicator(writer: SerializationWriter, pathIndicator?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param RemediationResponse The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeRemediationResponse(writer: SerializationWriter, remediationResponse?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param RemediationResponse_errors The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeRemediationResponse_errors(writer: SerializationWriter, remediationResponse_errors?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param RemediationResponse_results The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeRemediationResponse_results(writer: SerializationWriter, remediationResponse_results?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param ValidationRequest The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeValidationRequest(writer: SerializationWriter, validationRequest?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param ValidationResponse The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeValidationResponse(writer: SerializationWriter, validationResponse?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Request payload used to validate a proposed deployment selection without starting deployment. */ export interface ValidationRequest extends AdditionalDataHolder, Parsable { /** * Reference of the architecture type being validated. */ architectureId?: Guid | null; /** * List of configuration items intentionally selected by the user for validation. */ configIdList?: Guid[] | null; /** * Collection of references to the groupings that list related or dependent resources to be validated. */ tagList?: Guid[] | null; } /** * Result payload returned by deploy selection validation. The response always includes the error flag; additional properties provide validation context when error is true. */ export interface ValidationResponse extends AdditionalDataHolder, Parsable { /** * Flag that indicates if validation failed. */ errorEscaped?: boolean | null; /** * Tag IDs that are not valid for the selected architecture. */ invalidTags?: Guid[] | null; /** * Configuration item that is missing one or more parent dependencies. */ itemWithMissingDependencies?: Guid | null; /** * Friendly message describing the validation outcome. */ message?: string | null; /** * Parent configuration dependencies missing from the requested selection. */ missingDependencies?: Guid[] | null; } /** * Indicator of the infrastructure configuration item's current state. Mutated means that the item has been modified by the end user outside of SHIELD. */ export declare const ConfigurationItem_deployStateObject: { readonly NotDeployed: "notDeployed"; readonly Deployed: "deployed"; readonly Mutated: "Mutated"; readonly ErrorEscaped: "error"; };