swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: MonitorManagementClient
  version: 2016-03-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-ms-code-generation-settings:
    name: MonitorManagementClient
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/logProfiles_API.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: monitor-logProfiles_API
  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: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  LogProfileNameParameter:
    description: The name of the log profile.
    in: path
    name: logProfileName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionIdParameter:
    description: The Azure subscription Id.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles":
    get:
      description: List the log profiles.
      operationId: LogProfiles_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successful request to list log profiles
          schema:
            $ref: "#/definitions/LogProfileCollection"
      tags:
        - LogProfiles
      x-ms-examples:
        List log profiles:
          parameters:
            api-version: 2016-03-01
            subscriptionId: df602c9c-7aa0-407d-a6fb-eb20c8bd1192
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/providers/microsoft.insights/logprofiles/default
                    location: ""
                    name: default
                    properties:
                      categories:
                        - Delete
                        - Write
                        - Action
                      locations:
                        - global
                      retentionPolicy:
                        days: 3
                        enabled: true
                      serviceBusRuleId: ""
                      storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/JohnKemTest/providers/Microsoft.Storage/storageAccounts/johnkemtest8162
                    tags: null
                    type: ""
                  - id: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/providers/microsoft.insights/logprofiles/default2
                    location: ""
                    name: default2
                    properties:
                      categories:
                        - Delete
                        - Write
                        - Action
                      locations:
                        - global
                      retentionPolicy:
                        days: 15
                        enabled: true
                      serviceBusRuleId: ""
                      storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/JohnKemTest/providers/Microsoft.Storage/storageAccounts/johnkemtest8165
                    tags: null
                    type: ""
              headers: {}
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}":
    delete:
      description: Deletes the log profile.
      operationId: LogProfiles_Delete
      parameters:
        - $ref: "#/parameters/LogProfileNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successful request to delete a log profile
      tags:
        - LogProfiles
      x-ms-examples:
        Delete log profile:
          parameters:
            api-version: 2016-03-01
            logProfileName: Rac46PostSwapRG
            subscriptionId: b67f7fec-69fc-4974-9099-a26bd6ffeda3
          responses:
            "200": {}
    get:
      description: Gets the log profile.
      operationId: LogProfiles_Get
      parameters:
        - $ref: "#/parameters/LogProfileNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successful request to get more information about a log profile.
          schema:
            $ref: "#/definitions/LogProfileResource"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - LogProfiles
      x-ms-examples:
        Get log profile:
          parameters:
            api-version: 2016-03-01
            logProfileName: default
            subscriptionId: df602c9c-7aa0-407d-a6fb-eb20c8bd1192
          responses:
            "200":
              body:
                id: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/providers/microsoft.insights/logprofiles/default
                location: ""
                name: default
                properties:
                  categories:
                    - Delete
                    - Write
                    - Action
                  locations:
                    - global
                  retentionPolicy:
                    days: 3
                    enabled: true
                  serviceBusRuleId: ""
                  storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/JohnKemTest/providers/Microsoft.Storage/storageAccounts/johnkemtest8162
                tags: null
                type: ""
              headers: {}
    patch:
      description: Updates an existing LogProfilesResource. To update other fields use the CreateOrUpdate method.
      operationId: LogProfiles_Update
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/LogProfileNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Parameters supplied to the operation.
          in: body
          name: logProfilesResource
          required: true
          schema:
            $ref: "#/definitions/LogProfileResourcePatch"
      responses:
        "200":
          description: An existing log profile was successfully updated.
          schema:
            $ref: "#/definitions/LogProfileResource"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      x-ms-examples:
        Patch a log profile:
          parameters:
            api-version: 2016-03-01
            logProfileName: Rac46PostSwapRG
            logProfilesResource:
              properties:
                categories:
                  - Write
                  - Delete
                  - Action
                locations:
                  - global
                retentionPolicy:
                  days: 3
                  enabled: true
                serviceBusRuleId: ""
                storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/JohnKemTest/providers/Microsoft.Storage/storageAccounts/johnkemtest8162
              tags:
                key1: value1
            subscriptionId: df602c9c-7aa0-407d-a6fb-eb20c8bd1192
          responses:
            "200":
              body:
                id: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/providers/microsoft.insights/logprofiles/default
                location: ""
                name: default
                properties:
                  categories:
                    - Delete
                    - Write
                    - Action
                  locations:
                    - global
                  retentionPolicy:
                    days: 3
                    enabled: true
                  serviceBusRuleId: ""
                  storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/JohnKemTest/providers/Microsoft.Storage/storageAccounts/johnkemtest8162
                tags:
                  key1: value1
                type: ""
              headers: {}
    put:
      description: Create or update a log profile in Azure Monitoring REST API.
      operationId: LogProfiles_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/LogProfileNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Parameters supplied to the operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/LogProfileResource"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successful request to create or update a log profile
          schema:
            $ref: "#/definitions/LogProfileResource"
      tags:
        - LogProfiles
      x-ms-examples:
        Create or update a log profile:
          parameters:
            api-version: 2016-03-01
            logProfileName: Rac46PostSwapRG
            parameters:
              location: ""
              properties:
                categories:
                  - Write
                  - Delete
                  - Action
                locations:
                  - global
                retentionPolicy:
                  days: 3
                  enabled: true
                serviceBusRuleId: ""
                storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/JohnKemTest/providers/Microsoft.Storage/storageAccounts/johnkemtest8162
              tags: {}
            subscriptionId: df602c9c-7aa0-407d-a6fb-eb20c8bd1192
          responses:
            "200":
              body:
                id: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/providers/microsoft.insights/logprofiles/default
                location: ""
                name: default
                properties:
                  categories:
                    - Delete
                    - Write
                    - Action
                  locations:
                    - global
                  retentionPolicy:
                    days: 3
                    enabled: true
                  serviceBusRuleId: ""
                  storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/JohnKemTest/providers/Microsoft.Storage/storageAccounts/johnkemtest8162
                tags: null
                type: ""
              headers: {}
definitions:
  ErrorResponse:
    description: Describes the format of Error response.
    properties:
      code:
        description: Error code
        type: string
      message:
        description: Error message indicating why the operation failed.
        type: string
    type: object
  LogProfileCollection:
    description: Represents a collection of log profiles.
    properties:
      value:
        description: the values of the log profiles.
        items:
          $ref: "#/definitions/LogProfileResource"
        type: array
    required:
      - value
  LogProfileProperties:
    description: The log profile properties.
    properties:
      categories:
        description: "the categories of the logs. These categories are created as is convenient to the user. Some values are: 'Write', 'Delete', and/or 'Action.'"
        items:
          type: string
        type: array
      locations:
        description: List of regions for which Activity Log events should be stored or streamed. It is a comma separated list of valid ARM locations including the 'global' location.
        items:
          type: string
        type: array
      retentionPolicy:
        $ref: "#/definitions/RetentionPolicy"
        description: the retention policy for the events in the log.
      serviceBusRuleId:
        description: "The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming the Activity Log. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'."
        type: string
      storageAccountId:
        description: the resource id of the storage account to which you would like to send the Activity Log.
        type: string
    required:
      - locations
      - categories
      - retentionPolicy
  LogProfileResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The log profile resource.
    properties:
      properties:
        $ref: "#/definitions/LogProfileProperties"
        description: The log profile properties of the resource.
        x-ms-client-flatten: true
    required:
      - properties
    type: object
  LogProfileResourcePatch:
    description: The log profile resource for patch operations.
    properties:
      properties:
        $ref: "#/definitions/LogProfileProperties"
        description: The log profile properties for an update operation.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags
  Resource:
    description: An azure resource object
    properties:
      id:
        description: Azure resource Id
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
        x-ms-mutability:
          - create
          - read
      name:
        description: Azure resource name
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: Resource tags
      type:
        description: Azure resource type
        readOnly: true
        type: string
    required:
      - location
    x-ms-azure-resource: true
  RetentionPolicy:
    description: Specifies the retention policy for the log.
    properties:
      days:
        description: the number of days for the retention in days. A value of 0 will retain the events indefinitely.
        format: int32
        minimum: 0
        type: integer
      enabled:
        description: a value indicating whether the retention policy is enabled.
        type: boolean
    required:
      - enabled
      - days
