swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: API spec for Microsoft.Security (Azure Security Center) resource provider
  title: Security Center
  version: 2018-06-01
  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/security/resource-manager/Microsoft.Security/stable/2018-06-01/pricings.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: security-pricings
  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:
  Pricing:
    description: Pricing object
    in: body
    name: pricing
    required: true
    schema:
      $ref: "#/definitions/Pricing"
    x-ms-parameter-location: method
  PricingName:
    description: name of the pricing configuration
    in: path
    name: pricingName
    required: true
    type: string
    x-ms-parameter-location: method
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings":
    get:
      description: Lists Security Center pricing configurations in the subscription.
      operationId: Pricings_List
      parameters:
        - description: API version for the operation
          in: query
          name: api-version
          required: true
          type: string
        - description: Azure subscription ID
          in: path
          name: subscriptionId
          pattern: ^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/PricingList"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response structure.
            properties:
              error:
                description: Error details.
                properties:
                  code:
                    description: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
                    readOnly: true
                    type: string
                  message:
                    description: A message describing the error, intended to be suitable for display in a user interface.
                    readOnly: true
                    type: string
                type: object
                x-ms-external: true
            type: object
            x-ms-external: true
      tags:
        - Pricings
      x-ms-examples:
        Get pricings on subscription:
          parameters:
            api-version: 2018-06-01
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines
                    name: VirtualMachines
                    properties:
                      pricingTier: Standard
                    type: Microsoft.Security/pricings
                  - id: /subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/SqlServers
                    name: SqlServers
                    properties:
                      pricingTier: Standard
                    type: Microsoft.Security/pricings
                  - id: /subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/AppServices
                    name: AppServices
                    properties:
                      pricingTier: Free
                    type: Microsoft.Security/pricings
                  - id: /subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/StorageAccounts
                    name: StorageAccounts
                    properties:
                      pricingTier: Standard
                    type: Microsoft.Security/pricings
  "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}":
    get:
      description: Gets a provided Security Center pricing configuration in the subscription.
      operationId: Pricings_Get
      parameters:
        - description: API version for the operation
          in: query
          name: api-version
          required: true
          type: string
        - description: Azure subscription ID
          in: path
          name: subscriptionId
          pattern: ^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$
          required: true
          type: string
        - $ref: "#/parameters/PricingName"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Pricing"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response structure.
            properties:
              error:
                description: Error details.
                properties:
                  code:
                    description: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
                    readOnly: true
                    type: string
                  message:
                    description: A message describing the error, intended to be suitable for display in a user interface.
                    readOnly: true
                    type: string
                type: object
                x-ms-external: true
            type: object
            x-ms-external: true
      tags:
        - Pricings
      x-ms-examples:
        Get pricings on subscription:
          parameters:
            api-version: 2018-06-01
            pricingName: VirtualMachines
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
          responses:
            "200":
              body:
                id: /subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines
                name: VirtualMachines
                properties:
                  pricingTier: Standard
                type: Microsoft.Security/pricings
    put:
      description: Updates a provided Security Center pricing configuration in the subscription.
      operationId: Pricings_Update
      parameters:
        - description: API version for the operation
          in: query
          name: api-version
          required: true
          type: string
        - description: Azure subscription ID
          in: path
          name: subscriptionId
          pattern: ^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$
          required: true
          type: string
        - $ref: "#/parameters/PricingName"
        - $ref: "#/parameters/Pricing"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Pricing"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response structure.
            properties:
              error:
                description: Error details.
                properties:
                  code:
                    description: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
                    readOnly: true
                    type: string
                  message:
                    description: A message describing the error, intended to be suitable for display in a user interface.
                    readOnly: true
                    type: string
                type: object
                x-ms-external: true
            type: object
            x-ms-external: true
      tags:
        - Pricings
      x-ms-examples:
        Update pricing on subscription:
          parameters:
            api-version: 2018-06-01
            pricing:
              id: /subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines
              name: VirtualMachines
              properties:
                pricingTier: Standard
              type: Microsoft.Security/pricings
            pricingName: VirtualMachines
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
          responses:
            "200":
              body:
                id: /subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines
                name: VirtualMachines
                properties:
                  pricingTier: Standard
                type: Microsoft.Security/pricings
definitions:
  Pricing:
    allOf:
      - description: Describes an Azure resource.
        properties:
          id:
            description: Resource Id
            readOnly: true
            type: string
          name:
            description: Resource name
            readOnly: true
            type: string
          type:
            description: Resource type
            readOnly: true
            type: string
        type: object
        x-ms-azure-resource: true
    description: "Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features."
    properties:
      properties:
        $ref: "#/definitions/PricingProperties"
        description: Pricing data
        x-ms-client-flatten: true
    type: object
  PricingList:
    description: List of pricing configurations response.
    properties:
      value:
        description: List of pricing configurations
        items:
          $ref: "#/definitions/Pricing"
        type: array
    required:
      - value
  PricingProperties:
    description: Pricing properties for the relevant scope
    properties:
      freeTrialRemainingTime:
        description: The duration left for the subscriptions free trial period - in ISO 8601 format (e.g. P3Y6M4DT12H30M5S).
        format: duration
        readOnly: true
        type: string
      pricingTier:
        description: "The pricing tier value. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features."
        enum:
          - Free
          - Standard
        type: string
        x-ms-enum:
          modelAsString: true
          name: pricingTier
          values:
            - description: Get free Azure security center experience with basic security features
              value: Free
            - description: Get the standard Azure security center experience with advanced security features
              value: Standard
    required:
      - pricingTier
    type: object
