{
  "openapi": "3.0.1",
  "info": {
    "title": "AutomationManagement",
    "version": "2015-10-31"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "paths": {
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations": {
      "get": {
        "tags": [
          "DscConfiguration"
        ],
        "description": "Retrieve a list of configurations.",
        "externalDocs": {
          "url": "http://aka.ms/azureautomationsdk/configurationoperations"
        },
        "operationId": "DscConfiguration_ListByAutomationAccount",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "Name of an Azure Resource group.",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._]+$",
              "type": "string"
            }
          },
          {
            "name": "automationAccountName",
            "in": "path",
            "description": "The name of the automation account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "The filter to apply on the operation.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of rows to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of rows to take.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$inlinecount",
            "in": "query",
            "description": "Return total rows.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfigurationListResult"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfigurationListResult"
                }
              }
            }
          },
          "default": {
            "description": "Automation error response describing why the operation failed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}": {
      "get": {
        "tags": [
          "DscConfiguration"
        ],
        "description": "Retrieve the configuration identified by configuration name.",
        "externalDocs": {
          "url": "http://aka.ms/azureautomationsdk/configurationoperations"
        },
        "operationId": "DscConfiguration_Get",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "Name of an Azure Resource group.",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._]+$",
              "type": "string"
            }
          },
          {
            "name": "automationAccountName",
            "in": "path",
            "description": "The name of the automation account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "configurationName",
            "in": "path",
            "description": "The configuration name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfiguration"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfiguration"
                }
              }
            }
          },
          "default": {
            "description": "Automation error response describing why the operation failed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "DscConfiguration"
        ],
        "description": "Create the configuration identified by configuration name.",
        "externalDocs": {
          "url": "http://aka.ms/azureautomationsdk/configurationoperations"
        },
        "operationId": "DscConfiguration_CreateOrUpdate",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "Name of an Azure Resource group.",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._]+$",
              "type": "string"
            }
          },
          {
            "name": "automationAccountName",
            "in": "path",
            "description": "The name of the automation account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "configurationName",
            "in": "path",
            "description": "The create or update parameters for configuration.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The create or update parameters for configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DscConfigurationCreateOrUpdateParameters"
              }
            },
            "text/plain; charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/DscConfigurationCreateOrUpdateParameters"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfiguration"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfiguration"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfiguration"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfiguration"
                }
              }
            }
          },
          "default": {
            "description": "Automation error response describing why the operation failed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "DscConfiguration"
        ],
        "description": "Delete the dsc configuration identified by configuration name.",
        "externalDocs": {
          "url": "http://aka.ms/azureautomationsdk/configurationoperations"
        },
        "operationId": "DscConfiguration_Delete",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "Name of an Azure Resource group.",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._]+$",
              "type": "string"
            }
          },
          {
            "name": "automationAccountName",
            "in": "path",
            "description": "The name of the automation account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "configurationName",
            "in": "path",
            "description": "The configuration name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Automation error response describing why the operation failed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "DscConfiguration"
        ],
        "description": "Create the configuration identified by configuration name.",
        "externalDocs": {
          "url": "http://aka.ms/azureautomationsdk/configurationoperations"
        },
        "operationId": "DscConfiguration_Update",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "Name of an Azure Resource group.",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._]+$",
              "type": "string"
            }
          },
          {
            "name": "automationAccountName",
            "in": "path",
            "description": "The name of the automation account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "configurationName",
            "in": "path",
            "description": "The create or update parameters for configuration.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The create or update parameters for configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DscConfigurationUpdateParameters"
              }
            },
            "text/plain; charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/DscConfigurationUpdateParameters"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfiguration"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/DscConfiguration"
                }
              }
            }
          },
          "default": {
            "description": "Automation error response describing why the operation failed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              },
              "text/plain; charset=utf-8": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}/content": {
      "get": {
        "tags": [
          "DscConfiguration"
        ],
        "description": "Retrieve the configuration script identified by configuration name.",
        "externalDocs": {
          "url": "http://aka.ms/azureautomationsdk/configurationoperations"
        },
        "operationId": "DscConfiguration_GetContent",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "Name of an Azure Resource group.",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._]+$",
              "type": "string"
            }
          },
          {
            "name": "automationAccountName",
            "in": "path",
            "description": "The name of the automation account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "configurationName",
            "in": "path",
            "description": "The configuration name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/powershell": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "Automation error response describing why the operation failed.",
            "content": {
              "text/powershell": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message indicating why the operation failed."
                    }
                  },
                  "description": "Error response of an operation failure"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ContentHash": {
        "required": [
          "algorithm",
          "value"
        ],
        "type": "object",
        "properties": {
          "algorithm": {
            "type": "string",
            "description": "Gets or sets the content hash algorithm used to hash the content."
          },
          "value": {
            "type": "string",
            "description": "Gets or sets expected hash value of the content."
          }
        },
        "description": "Definition of the runbook property type."
      },
      "ContentSource": {
        "type": "object",
        "properties": {
          "hash": {
            "$ref": "#/components/schemas/ContentHash"
          },
          "type": {
            "type": "string",
            "description": "Gets or sets the content source type.",
            "enum": [
              "embeddedContent",
              "uri"
            ]
          },
          "value": {
            "type": "string",
            "description": "Gets or sets the value of the content. This is based on the content source type."
          },
          "version": {
            "type": "string",
            "description": "Gets or sets the version of the content."
          }
        },
        "description": "Definition of the content source."
      },
      "DscConfiguration": {
        "properties": {
          "etag": {
            "type": "string",
            "description": "Gets or sets the etag of the resource."
          },
          "properties": {
            "$ref": "#/components/schemas/DscConfigurationProperties"
          }
        },
        "description": "Definition of the configuration type.",
        "allOf": [
          {
            "properties": {
              "location": {
                "type": "string",
                "description": "The Azure Region where the resource lives"
              },
              "tags": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Resource tags."
              }
            },
            "description": "The resource model definition for a ARM tracked top level resource",
            "allOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Fully qualified resource Id for the resource",
                    "readOnly": true
                  },
                  "name": {
                    "type": "string",
                    "description": "The name of the resource",
                    "readOnly": true
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of the resource.",
                    "readOnly": true
                  }
                },
                "description": "The core properties of ARM resources"
              }
            ]
          }
        ]
      },
      "DscConfigurationCreateOrUpdateParameters": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "Gets or sets the location of the resource."
          },
          "name": {
            "type": "string",
            "description": "Gets or sets name of the resource."
          },
          "properties": {
            "$ref": "#/components/schemas/DscConfigurationCreateOrUpdateProperties"
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Gets or sets the tags attached to the resource."
          }
        },
        "description": "The parameters supplied to the create or update configuration operation."
      },
      "DscConfigurationCreateOrUpdateProperties": {
        "required": [
          "source"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Gets or sets the description of the configuration."
          },
          "logProgress": {
            "type": "boolean",
            "description": "Gets or sets progress log option."
          },
          "logVerbose": {
            "type": "boolean",
            "description": "Gets or sets verbose log option."
          },
          "parameters": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/DscConfigurationParameter"
            },
            "description": "Gets or sets the configuration parameters."
          },
          "source": {
            "$ref": "#/components/schemas/ContentSource"
          }
        },
        "description": "The properties to create or update configuration."
      },
      "DscConfigurationListResult": {
        "type": "object",
        "properties": {
          "nextLink": {
            "type": "string",
            "description": "Gets or sets the next link."
          },
          "totalCount": {
            "type": "integer",
            "description": "Gets the total number of configurations matching filter criteria."
          },
          "value": {
            "type": "array",
            "description": "Gets or sets a list of configurations.",
            "items": {
              "$ref": "#/components/schemas/DscConfiguration"
            }
          }
        },
        "description": "The response model for the list configuration operation."
      },
      "DscConfigurationParameter": {
        "type": "object",
        "properties": {
          "defaultValue": {
            "type": "string",
            "description": "Gets or sets the default value of parameter."
          },
          "isMandatory": {
            "type": "boolean",
            "description": "Gets or sets a Boolean value to indicate whether the parameter is mandatory or not."
          },
          "position": {
            "type": "integer",
            "description": "Get or sets the position of the parameter.",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "description": "Gets or sets the type of the parameter."
          }
        },
        "description": "Definition of the configuration parameter type."
      },
      "DscConfigurationProperties": {
        "type": "object",
        "properties": {
          "creationTime": {
            "type": "string",
            "description": "Gets or sets the creation time.",
            "format": "date-time",
            "nullable": false
          },
          "description": {
            "type": "string",
            "description": "Gets or sets the description."
          },
          "jobCount": {
            "type": "integer",
            "description": "Gets or sets the job count of the configuration.",
            "format": "int32"
          },
          "lastModifiedTime": {
            "type": "string",
            "description": "Gets or sets the last modified time.",
            "format": "date-time",
            "nullable": false
          },
          "logVerbose": {
            "type": "boolean",
            "description": "Gets or sets verbose log option."
          },
          "nodeConfigurationCount": {
            "type": "integer",
            "description": "Gets the number of compiled node configurations.",
            "nullable": false
          },
          "parameters": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/DscConfigurationParameter"
            },
            "description": "Gets or sets the configuration parameters."
          },
          "provisioningState": {
            "type": "string",
            "description": "Gets or sets the provisioning state of the configuration.",
            "enum": [
              "Succeeded"
            ]
          },
          "source": {
            "$ref": "#/components/schemas/ContentSource"
          },
          "state": {
            "type": "string",
            "description": "Gets or sets the state of the configuration.",
            "enum": [
              "New",
              "Edit",
              "Published"
            ]
          }
        },
        "description": "Definition of the configuration property type."
      },
      "DscConfigurationUpdateParameters": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Gets or sets name of the resource."
          },
          "properties": {
            "$ref": "#/components/schemas/DscConfigurationCreateOrUpdateProperties"
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Gets or sets the tags attached to the resource."
          }
        },
        "description": "The parameters supplied to the create or update configuration operation."
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "type": "oauth2",
        "description": "Azure Active Directory OAuth2 Flow"
      }
    }
  }
}