swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: REST APIs for Azure Advisor
  title: AdvisorManagementClient
  version: 2017-04-19
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/advisor/resource-manager/Microsoft.Advisor/stable/2017-04-19/advisor.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: advisor
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow.
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  apiVersionParameter:
    description: The version of the API to be used with the client request.
    in: query
    name: api-version
    required: true
    type: string
  subscriptionIdParameter:
    description: The Azure subscription ID.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.Advisor/metadata:
    get:
      operationId: RecommendationMetadata_List
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. Successfully retrieved metadata entities
          schema:
            $ref: "#/definitions/MetadataEntityListResult"
      summary: Gets the list of metadata entities.
      tags:
        - Metadata
      x-ms-examples:
        GetMetadata:
          parameters:
            api-version: 2017-04-19
          responses:
            "200":
              body:
                nextLink: string
                value:
                  - id: providers/Microsoft.Advisor/metadata/recommendationType
                    name: recommendationType
                    properties:
                      applicableScenarios:
                        - Alerts
                      dependsOn:
                        - category
                        - impact
                      displayName: Recommendation Type
                      supportedValues:
                        - displayName: Upgrade your SKU or add more instances to ensure fault tolerance
                          id: 6a2b1e70-bd4c-4163-86de-5243d7ac05ee
                        - displayName: Delete ExpressRoute circuits in the provider status of Not Provisioned
                          id: da6630fb-4286-4996-92a3-a43f5f26dd34
                    type: Microsoft.Advisor/metadata
                  - id: providers/Microsoft.Advisor/metadata/recommendationCategory
                    name: recommendationCategory
                    properties:
                      applicableScenarios:
                        - Alerts
                      dependsOn: null
                      displayName: Category
                      supportedValues:
                        - displayName: Cost
                          id: Cost
                        - displayName: Performance
                          id: Performance
                    type: Microsoft.Advisor/metadata
                  - id: providers/Microsoft.Advisor/metadata/recommendationImpact
                    name: recommendationImpact
                    properties:
                      applicableScenarios: null
                      dependsOn: null
                      displayName: Impact
                      supportedValues:
                        - displayName: High
                          id: High
                        - displayName: Medium
                          id: Medium
                        - displayName: Low
                          id: Low
                    type: Microsoft.Advisor/metadata
      x-ms-pageable:
        nextLinkName: nextLink
  "/providers/Microsoft.Advisor/metadata/{name}":
    get:
      operationId: RecommendationMetadata_Get
      parameters:
        - description: Name of metadata entity.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. Successfully retrieved metadata entities
          schema:
            $ref: "#/definitions/MetadataEntity"
        "404":
          description: Client sent unknown metadata name
          schema:
            $ref: "#/definitions/ARMErrorResponseBody"
      summary: Gets the metadata entity.
      tags:
        - Metadata
      x-ms-examples:
        GetMetadata:
          parameters:
            api-version: 2017-04-19
            name: types
          responses:
            "200":
              body:
                id: providers/Microsoft.Advisor/metadata/recommendationType
                name: recommendationType
                properties:
                  applicableScenarios:
                    - Alerts
                  dependsOn:
                    - category
                    - impact
                  displayName: Recommendation Type
                  supportedValues:
                    - displayName: Upgrade your SKU or add more instances to ensure fault tolerance
                      id: 6a2b1e70-bd4c-4163-86de-5243d7ac05ee
                    - displayName: Delete ExpressRoute circuits in the provider status of Not Provisioned
                      id: da6630fb-4286-4996-92a3-a43f5f26dd34
                type: Microsoft.Advisor/metadata
            "404":
              body:
                code: NotFound
                message: Unknown metadata name
  /providers/Microsoft.Advisor/operations:
    get:
      deprecated: false
      description: Lists all the available Advisor REST API operations.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. Successfully retrieved operation list.
          schema:
            $ref: "#/definitions/OperationEntityListResult"
      tags:
        - Operations
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations":
    get:
      deprecated: false
      description: Retrieve Azure Advisor configurations and also retrieve configurations of contained resource groups.
      operationId: Configurations_ListBySubscription
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
      responses:
        "200":
          description: OK. Successfully retrieved zero or more configurations.
          schema:
            $ref: "#/definitions/ConfigurationListResult"
      summary: Retrieve Azure Advisor configurations.
      tags:
        - Configurations
      x-ms-examples:
        GetConfigurations:
          parameters:
            api-version: 2017-04-19
            resourceGroup: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: string
                value:
                  - id: /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Advisor/configuration/configurationName
                    name: configurationName
                    properties:
                      exclude: false
                      low_cpu_threshold: "5"
                    type: Microsoft.Advisor/configurations
      x-ms-pageable:
        nextLinkName: nextLink
    put:
      deprecated: false
      description: Create/Overwrite Azure Advisor configuration and also delete all configurations of contained resource groups.
      operationId: Configurations_CreateInSubscription
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
        - description: The Azure Advisor configuration data structure.
          in: body
          name: configContract
          required: true
          schema:
            $ref: "#/definitions/ConfigData"
        - $ref: "#/parameters/subscriptionIdParameter"
      responses:
        "204":
          description: No Content. Successfully created/overwrote configuration.
        "400":
          description: Bad Request. Client sent invalid configuration scope, properties or values.
          schema:
            $ref: "#/definitions/ARMErrorResponseBody"
      summary: Create/Overwrite Azure Advisor configuration.
      tags:
        - Configurations
      x-ms-examples:
        PutConfigurations:
          parameters:
            api-version: 2017-04-19
            configContract:
              properties:
                exclude: false
            resourceGroup: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "204": {}
            "400":
              body:
                code: ImproperScope
                message: localizedMessage
  "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations":
    post:
      deprecated: false
      description: Initiates the recommendation generation or computation process for a subscription. This operation is asynchronous. The generated recommendations are stored in a cache in the Advisor service.
      operationId: Recommendations_Generate
      parameters:
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "202":
          description: Accepted. Recommendation generation has been accepted.
          headers:
            Location:
              description: The URL where the status of the asynchronous operation can be checked.
              type: string
            Retry-After:
              description: The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.
              type: string
      tags:
        - GenerateRecommendations
      x-ms-examples:
        GenerateRecommendations:
          parameters:
            api-version: 2017-04-19
            subscriptionId: subscriptionId
          responses:
            "202":
              headers:
                Location: https://management.azure.com/subscriptions/subscriptionId/providers/Microsoft.Microsoft.Advisor/generateRecommendations/recGUID?api-version=2017-04-19
                Retry-After: "60"
  "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}":
    get:
      deprecated: false
      description: Retrieves the status of the recommendation computation or generation process. Invoke this API after calling the generation recommendation. The URI of this API is returned in the Location field of the response header.
      operationId: Recommendations_GetGenerateStatus
      parameters:
        - $ref: "#/parameters/subscriptionIdParameter"
        - description: The operation ID, which can be found from the Location field in the generate recommendation response header.
          format: uuid
          in: path
          name: operationId
          required: true
          type: string
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "202":
          description: Accepted. Recommendation generation is in progress.
        "204":
          description: NoContent. Recommendation generation has been completed.
      tags:
        - GenerateRecommendations
      x-ms-examples:
        CreateSuppression:
          parameters:
            api-version: 2017-04-19
            operationId: operationGUID
            subscriptionId: subscriptionId
          responses:
            "202": {}
            "204": {}
  "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations":
    get:
      deprecated: false
      description: Obtains cached recommendations for a subscription. The recommendations are generated or computed by invoking generateRecommendations.
      operationId: Recommendations_List
      parameters:
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
        - description: The filter to apply to the recommendations.
          in: query
          name: $filter
          required: false
          type: string
        - description: The number of recommendations per page if a paged version of this API is being used.
          in: query
          name: $top
          required: false
          type: integer
        - description: The page-continuation token to use with a paged version of this API.
          in: query
          name: $skipToken
          required: false
          type: string
      responses:
        "200":
          description: OK. Successfully obtained cached recommendations.
          schema:
            $ref: "#/definitions/ResourceRecommendationBaseListResult"
      tags:
        - GetRecommendations
      x-ms-examples:
        ListRecommendations:
          parameters:
            $top: 10
            api-version: 2017-04-19
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/providers/Microsoft.Advisor/recommendations?api-version=2017-04-19&$top=10&$skiptoken=skiptoken
                value:
                  - id: /resourceUri/providers/Microsoft.Advisor/recommendations/recGUID
                    name: recGUID
                    properties:
                      category: HighAvailability
                      impact: Medium
                      impactedField: Microsoft.Compute/availabilitySets
                      impactedValue: armavset
                      lastUpdated: 2017-02-24T22:24:43.3216408Z
                      risk: Warning
                      shortDescription:
                        problem: This availability set is not configured for fault tolerance
                        solution: To ensure high availability add one or more virtual machines to this availability set
                    type: Microsoft.Advisor/recommendations
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions":
    get:
      deprecated: false
      description: Retrieves the list of snoozed or dismissed suppressions for a subscription. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.
      operationId: Suppressions_List
      parameters:
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
        - description: The number of suppressions per page if a paged version of this API is being used.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - description: The page-continuation token to use with a paged version of this API.
          in: query
          name: $skipToken
          required: false
          type: string
      responses:
        "200":
          description: OK. Successfully got all suppressions in a subscription.
          schema:
            $ref: "#/definitions/SuppressionContractListResult"
      tags:
        - Suppressions
      x-ms-examples:
        ListSuppressions:
          parameters:
            api-version: 2017-04-19
            subscriptionId: subscriptionId1
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/3f75fdf7-977e-44ad-990d-99f14f0f299f/providers/microsoft.Advisor/suppressions?api-version=2017-04-19&$top=3&$skiptoken=skiptoken
                value:
                  - id: /resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId/suppressions/suppressionName1
                    name: suppressionName1
                    properties:
                      suppressionId: suppressionId1
                      ttl: 7.00:00:00
                    type: Microsoft.Advisor/suppressions
                  - id: /resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId/suppressions/suppressionName2
                    name: suppressionName2
                    properties:
                      suppressionId: suppressionId2
                      ttl: 7.00:00:00
                    type: Microsoft.Advisor/suppressions
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations":
    get:
      deprecated: false
      operationId: Configurations_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
        - description: The name of the Azure resource group.
          in: path
          name: resourceGroup
          required: true
          type: string
      responses:
        "200":
          description: OK. Successfully retrieved zero or more configurations.
          schema:
            $ref: "#/definitions/ConfigurationListResult"
      summary: Retrieve Azure Advisor configurations.
      tags:
        - Configurations
      x-ms-examples:
        GetConfigurations:
          parameters:
            api-version: 2017-04-19
            resourceGroup: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: string
                value:
                  - id: /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Advisor/configuration/configurationName
                    name: configurationName
                    properties:
                      exclude: false
                      low_cpu_threshold: "5"
                    type: Microsoft.Advisor/configurations
      x-ms-pageable:
        nextLinkName: null
    put:
      deprecated: false
      operationId: Configurations_CreateInResourceGroup
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
        - description: The Azure Advisor configuration data structure.
          in: body
          name: configContract
          required: true
          schema:
            $ref: "#/definitions/ConfigData"
        - $ref: "#/parameters/subscriptionIdParameter"
        - description: The name of the Azure resource group.
          in: path
          name: resourceGroup
          required: true
          type: string
      responses:
        "204":
          description: No Content. Successfully created/overwrote configuration.
        "400":
          description: Bad Request. Client sent invalid configuration scope, properties or values.
          schema:
            $ref: "#/definitions/ARMErrorResponseBody"
      summary: Create/Overwrite Azure Advisor configuration.
      tags:
        - Configurations
      x-ms-examples:
        PutConfigurations:
          parameters:
            api-version: 2017-04-19
            configContract:
              properties:
                exclude: false
            resourceGroup: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "204": {}
            "400":
              body:
                code: ImproperScope
                message: localizedMessage
  "/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}":
    get:
      deprecated: false
      description: Obtains details of a cached recommendation.
      operationId: Recommendations_Get
      parameters:
        - description: The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.
          in: path
          name: resourceUri
          required: true
          type: string
        - description: The recommendation ID.
          in: path
          name: recommendationId
          required: true
          type: string
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. Successfully got recommendation detail.
          schema:
            $ref: "#/definitions/ResourceRecommendationBase"
      tags:
        - GetRecommendations
      x-ms-examples:
        GetRecommendationDetail:
          parameters:
            api-version: 2017-04-19
            recommendationId: recommendationId
            resourceUri: resourceUri
          responses:
            "200":
              body:
                id: /resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId
                name: recommendationId
                properties:
                  category: HighAvailability
                  impact: Medium
                  impactedField: Microsoft.Compute/availabilitySets
                  impactedValue: armavset
                  lastUpdated: 2017-02-24T22:24:43.3216408Z
                  risk: Warning
                  shortDescription:
                    problem: This availability set is not configured for fault tolerance
                    solution: To ensure high availability add one or more virtual machines to this availability set
                type: Microsoft.Advisor/recommendations
  "/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}":
    delete:
      deprecated: false
      description: Enables the activation of a snoozed or dismissed recommendation. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.
      operationId: Suppressions_Delete
      parameters:
        - description: The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.
          in: path
          name: resourceUri
          required: true
          type: string
        - description: The recommendation ID.
          in: path
          name: recommendationId
          required: true
          type: string
        - description: The name of the suppression.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "204":
          description: NoContent. The recommendation has been activated.
      tags:
        - Suppressions
      x-ms-examples:
        DeleteSuppression:
          parameters:
            api-version: 2017-04-19
            name: suppressionName1
            recommendationId: recommendationId
            resourceUri: resourceUri
          responses:
            "204": {}
    get:
      deprecated: false
      description: Obtains the details of a suppression.
      operationId: Suppressions_Get
      parameters:
        - description: The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.
          in: path
          name: resourceUri
          required: true
          type: string
        - description: The recommendation ID.
          in: path
          name: recommendationId
          required: true
          type: string
        - description: The name of the suppression.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. Successfully got suppression detail.
          schema:
            $ref: "#/definitions/SuppressionContract"
      tags:
        - Suppressions
      x-ms-examples:
        GetSuppressionDetail:
          parameters:
            api-version: 2017-04-19
            name: suppressionName1
            recommendationId: recommendationId
            resourceUri: resourceUri
          responses:
            "200":
              body:
                id: /resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId/suppressions/suppressionName1
                name: suppressionName1
                properties:
                  suppressionId: suppressionId1
                  ttl: 7.00:00:00
                type: Microsoft.Advisor/suppressions
    put:
      deprecated: false
      description: Enables the snoozed or dismissed attribute of a recommendation. The snoozed or dismissed attribute is referred to as a suppression. Use this API to create or update the snoozed or dismissed status of a recommendation.
      operationId: Suppressions_Create
      parameters:
        - description: The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.
          in: path
          name: resourceUri
          required: true
          type: string
        - description: The recommendation ID.
          in: path
          name: recommendationId
          required: true
          type: string
        - description: The name of the suppression.
          in: path
          name: name
          required: true
          type: string
        - description: The snoozed or dismissed attribute; for example, the snooze duration.
          in: body
          name: suppressionContract
          required: true
          schema:
            $ref: "#/definitions/SuppressionContract"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. Successfully created suppression.
          schema:
            $ref: "#/definitions/SuppressionContract"
      tags:
        - Suppressions
      x-ms-examples:
        CreateSuppression:
          parameters:
            api-version: 2017-04-19
            name: suppressionName1
            recommendationId: recommendationId
            resourceUri: resourceUri
            suppressionContract:
              properties:
                ttl: 07:00:00:00
          responses:
            "200":
              body:
                id: /resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId/suppressions/suppressionName1
                name: suppressionName1
                properties:
                  suppressionId: suppresionId
                  ttl: 07:00:00:00
                type: Microsoft.Advisor/suppressions
definitions:
  ARMErrorResponseBody:
    description: ARM error response body.
    properties:
      code:
        description: Gets or sets the string that can be used to programmatically identify the error.
        type: string
      message:
        description: Gets or sets the string that describes the error in detail and provides debugging information.
        type: string
    type: object
  ConfigData:
    description: The Advisor configuration data structure.
    properties:
      id:
        description: The resource Id of the configuration resource.
        type: string
      name:
        description: The name of the configuration resource.
        type: string
      properties:
        additionalProperties:
          type: object
        description: The list of property name/value pairs.
        properties:
          exclude:
            description: "Exclude the resource from Advisor evaluations. Valid values: False (default) or True."
            type: boolean
          low_cpu_threshold:
            description: "Minimum percentage threshold for Advisor low CPU utilization evaluation. Valid only for subscriptions. Valid values: 5 (default), 10, 15 or 20."
            type: string
        type: object
      type:
        description: The type of the configuration resource.
        type: string
    type: object
  ConfigurationListResult:
    description: The list of Advisor configurations.
    properties:
      nextLink:
        description: The link used to get the next page of configurations.
        type: string
      value:
        description: The list of configurations.
        items:
          $ref: "#/definitions/ConfigData"
        type: array
    type: object
  MetadataEntity:
    description: The metadata entity contract.
    properties:
      id:
        description: The resource Id of the metadata entity.
        type: string
      name:
        description: The name of the metadata entity.
        type: string
      properties:
        $ref: "#/definitions/MetadataEntityProperties"
        description: The metadata entity properties.
        x-ms-client-flatten: true
      type:
        description: The type of the metadata entity.
        type: string
    type: object
  MetadataEntityListResult:
    description: The list of metadata entities
    properties:
      nextLink:
        description: The link used to get the next page of metadata.
        type: string
      value:
        description: The list of metadata entities.
        items:
          $ref: "#/definitions/MetadataEntity"
        type: array
    type: object
  MetadataEntityProperties:
    description: The metadata entity properties
    properties:
      applicableScenarios:
        description: The list of scenarios applicable to this metadata entity.
        items:
          enum:
            - Alerts
          type: string
          x-ms-enum:
            modelAsString: true
            name: Scenario
        type: array
      dependsOn:
        description: The list of keys on which this entity depends on.
        items:
          type: string
        type: array
      displayName:
        description: The display name.
        type: string
      supportedValues:
        description: The list of supported values.
        items:
          $ref: "#/definitions/MetadataSupportedValueDetail"
        type: array
    type: object
  MetadataSupportedValueDetail:
    description: The metadata supported value detail.
    properties:
      displayName:
        description: The display name.
        type: string
      id:
        description: The id.
        type: string
    type: object
  OperationDisplayInfo:
    description: The operation supported by Advisor.
    properties:
      description:
        description: The description of the operation.
        type: string
      operation:
        description: The action that users can perform, based on their permission level.
        type: string
      provider:
        description: "Service provider: Microsoft Advisor."
        type: string
      resource:
        description: Resource on which the operation is performed.
        type: string
    type: object
  OperationEntity:
    description: The operation supported by Advisor.
    properties:
      display:
        $ref: "#/definitions/OperationDisplayInfo"
        description: The operation supported by Advisor.
      name:
        description: "Operation name: {provider}/{resource}/{operation}."
        type: string
    type: object
  OperationEntityListResult:
    description: The list of Advisor operations.
    properties:
      nextLink:
        description: The link used to get the next page of operations.
        type: string
      value:
        description: The list of operations.
        items:
          $ref: "#/definitions/OperationEntity"
        type: array
    type: object
  RecommendationProperties:
    description: The properties of the recommendation.
    properties:
      category:
        description: The category of the recommendation.
        enum:
          - HighAvailability
          - Security
          - Performance
          - Cost
          - OperationalExcellence
        type: string
        x-ms-enum:
          modelAsString: true
          name: category
      extendedProperties:
        additionalProperties:
          type: string
        description: Extended properties
        type: object
      impact:
        description: The business impact of the recommendation.
        enum:
          - High
          - Medium
          - Low
        type: string
        x-ms-enum:
          modelAsString: true
          name: impact
      impactedField:
        description: The resource type identified by Advisor.
        type: string
      impactedValue:
        description: The resource identified by Advisor.
        type: string
      lastUpdated:
        description: The most recent time that Advisor checked the validity of the recommendation.
        format: date-time
        type: string
      metadata:
        additionalProperties:
          type: object
        description: The recommendation metadata.
        type: object
      recommendationTypeId:
        description: The recommendation-type GUID.
        type: string
      risk:
        description: The potential risk of not implementing the recommendation.
        enum:
          - Error
          - Warning
          - None
        type: string
        x-ms-enum:
          modelAsString: true
          name: risk
      shortDescription:
        $ref: "#/definitions/ShortDescription"
        description: A summary of the recommendation.
      suppressionIds:
        description: The list of snoozed and dismissed rules for the recommendation.
        items:
          format: uuid
          type: string
        type: array
    type: object
  Resource:
    description: An Azure resource.
    properties:
      id:
        description: The resource ID.
        readOnly: true
        type: string
      name:
        description: The name of the resource.
        readOnly: true
        type: string
      type:
        description: The type of the resource.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  ResourceRecommendationBase:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Advisor Recommendation.
    properties:
      properties:
        $ref: "#/definitions/RecommendationProperties"
        description: The properties of the recommendation.
        x-ms-client-flatten: true
    type: object
  ResourceRecommendationBaseListResult:
    description: The list of Advisor recommendations.
    properties:
      nextLink:
        description: The link used to get the next page of recommendations.
        type: string
      value:
        description: The list of recommendations.
        items:
          $ref: "#/definitions/ResourceRecommendationBase"
        type: array
    type: object
  ShortDescription:
    description: A summary of the recommendation.
    properties:
      problem:
        description: The issue or opportunity identified by the recommendation.
        type: string
      solution:
        description: The remediation action suggested by the recommendation.
        type: string
    type: object
  SuppressionContract:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The details of the snoozed or dismissed rule; for example, the duration, name, and GUID associated with the rule.
    properties:
      properties:
        $ref: "#/definitions/SuppressionProperties"
        description: The properties of the suppression.
        x-ms-client-flatten: true
    type: object
  SuppressionContractListResult:
    description: The list of Advisor suppressions.
    properties:
      nextLink:
        description: The link used to get the next page of suppressions.
        type: string
      value:
        description: The list of suppressions.
        items:
          $ref: "#/definitions/SuppressionContract"
        type: array
    type: object
  SuppressionProperties:
    description: The properties of the suppression.
    properties:
      suppressionId:
        description: The GUID of the suppression.
        type: string
      ttl:
        description: The duration for which the suppression is valid.
        type: string
    type: object
