swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: GuestConfiguration
  version: 2018-11-20
  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/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: guestconfiguration
  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: {}
paths:
  /providers/Microsoft.GuestConfiguration/operations:
    get:
      description: Lists all of the available GuestConfiguration REST API operations.
      operationId: Operations_List
      parameters:
        - description: Client Api Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            description: The response model for the list of Automation operations
            properties:
              value:
                description: List of Automation operations supported by the Automation resource provider.
                items:
                  description: GuestConfiguration REST API operation
                  properties:
                    display:
                      description: Provider, Resource, Operation and description values.
                      properties:
                        description:
                          description: Description about operation.
                          type: string
                        operation:
                          description: "Operation type: Read, write, delete, etc."
                          type: string
                        provider:
                          description: "Service provider: Microsoft.GuestConfiguration"
                          type: string
                        resource:
                          description: "Resource on which the operation is performed:  For ex. "
                          type: string
                    name:
                      description: "Operation name: For ex. providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/write or read"
                      type: string
                    properties:
                      description: Provider, Resource, Operation and description values.
                      properties:
                        statusCode:
                          description: "Service provider: Microsoft.GuestConfiguration"
                          type: string
                      x-ms-client-flatten: true
                  type: object
                type: array
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response of an operation failure
            properties:
              message:
                description: Error message indicating why the operation failed.
                type: string
      tags:
        - Operations
      x-ms-examples:
        Lists all of the available GuestConfiguration REST API operations:
          parameters:
            api-version: 2018-11-20
          responses:
            "200":
              body:
                value:
                  - display:
                      description: Create new guest configuration assignment.
                      operation: Microsoft.GuestConfiguration/guestConfigurationAssignments/write
                      provider: Microsoft Guest Configuration
                      resource: Microsoft.GuestConfiguration/guestConfigurationAssignments
                    name: Microsoft.GuestConfiguration/guestConfigurationAssignments/write
                    properties: null
                  - display:
                      description: Registers the subscription for the Microsoft.GuestConfiguration resource provider.
                      operation: Registers the feature for Microsoft.GuestConfiguration.
                      provider: Microsoft Guest Configuration
                      resource: Register
                    name: Microsoft.GuestConfiguration/register/action
                    properties: null
                  - display:
                      description: Get guest configuration assignment.
                      operation: Microsoft.GuestConfiguration/guestConfigurationAssignments/read
                      provider: Microsoft Guest Configuration
                      resource: Microsoft.GuestConfiguration/guestConfigurationAssignments
                    name: Microsoft.GuestConfiguration/guestConfigurationAssignments/read
                    properties: null
                  - display:
                      description: Get guest configuration assignment report.
                      operation: Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read
                      provider: Microsoft Guest Configuration
                      resource: Microsoft.GuestConfiguration/guestConfigurationAssignments
                    name: Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read
                    properties: null
              headers: {}
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments":
    get:
      description: List all guest configuration assignments for a virtual machine.
      operationId: GuestConfigurationAssignments_List
      parameters:
        - description: The resource group name.
          in: path
          name: resourceGroupName
          pattern: ^[-\w\._]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: The name of the virtual machine.
          in: path
          name: vmName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Client Api Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/GuestConfigurationAssignmentList"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response of an operation failure
            properties:
              message:
                description: Error message indicating why the operation failed.
                type: string
      tags:
        - GuestConfigurationAssignments
      x-ms-examples:
        List all guest configuration assignments for a virtual machine:
          parameters:
            api-version: 2018-11-20
            resourceGroupName: myResourceGroupName
            subscriptionId: mySubscriptionId
            vmName: myVMName
          responses:
            "200":
              body:
                - id: /subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2
                  location: centraluseuap
                  name: AuditSecureProtocol2
                  properties:
                    assignmentHash: content hash
                    complianceStatus: Compliant
                    context: null
                    guestConfiguration:
                      configurationParameter: []
                      configurationSetting: null
                      contentHash: content hash
                      contentUri: https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol2/AuditSecureProtocol2_1.0.0.3.zip
                      kind: null
                      name: AuditSecureProtocol2
                      version: 1.0.0.3
                    lastComplianceStatusChecked: 2018-08-29T22:14:13Z
                    latestReportId: /subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1
                    provisioningState: null
                - id: /subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment
                  location: centraluseuap
                  name: myAssignment
                  properties:
                    assignmentHash: content hash
                    complianceStatus: Compliant
                    context: null
                    guestConfiguration:
                      configurationParameter: []
                      configurationSetting: null
                      contentHash: content hash
                      contentUri: https://mystorageaccount.blob.core.windows.net/builtinconfig/myAssignment/myAssignment.0.0.3.zip
                      kind: null
                      name: myAssignment
                      version: 1.0.0.3
                    lastComplianceStatusChecked: 2018-08-29T22:14:13Z
                    latestReportId: /subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1
                    provisioningState: null
              headers: {}
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}":
    delete:
      description: Delete a guest configuration assignment
      operationId: GuestConfigurationAssignments_Delete
      parameters:
        - description: The resource group name.
          in: path
          name: resourceGroupName
          pattern: ^[-\w\._]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Name of the guest configuration assignment
          in: path
          name: guestConfigurationAssignmentName
          required: true
          type: string
        - description: Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: The name of the virtual machine.
          in: path
          name: vmName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Client Api Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response of an operation failure
            properties:
              message:
                description: Error message indicating why the operation failed.
                type: string
      tags:
        - GuestConfigurationAssignments
      x-ms-examples:
        Delete an guest configuration assignment:
          parameters:
            api-version: 2018-11-20
            guestConfigurationAssignmentName: SecureProtocol
            resourceGroupName: myResourceGroupName
            subscriptionId: mySubscriptionId
            vmName: myVMName
          responses:
            "200": {}
      x-ms-long-running-operation: true
    get:
      description: Get information about a guest configuration assignment
      operationId: GuestConfigurationAssignments_Get
      parameters:
        - description: The resource group name.
          in: path
          name: resourceGroupName
          pattern: ^[-\w\._]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The guest configuration assignment name.
          in: path
          name: guestConfigurationAssignmentName
          required: true
          type: string
        - description: Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: The name of the virtual machine.
          in: path
          name: vmName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Client Api Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK. The guest configuration assignment was returned successfully.
          schema:
            $ref: "#/definitions/GuestConfigurationAssignment"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response of an operation failure
            properties:
              message:
                description: Error message indicating why the operation failed.
                type: string
      tags:
        - GuestConfigurationAssignments
      x-ms-examples:
        Get a guest configuration assignment:
          parameters:
            api-version: 2018-11-20
            guestConfigurationAssignmentName: SecureProtocol
            resourceGroupName: myResourceGroupName
            subscriptionId: mySubscriptionId
            vmName: myVMName
          responses:
            "200":
              body:
                id: /subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol
                location: centraluseuap
                name: AuditSecureProtocol
                properties:
                  assignmentHash: E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
                  complianceStatus: Compliant
                  context: null
                  guestConfiguration:
                    configurationParameter: []
                    configurationSetting: null
                    contentHash: content hash
                    contentUri: https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip
                    kind: null
                    name: AuditSecureProtocol
                    version: 1.0.0.3
                  lastComplianceStatusChecked: 2018-08-29T22:14:13Z
                  latestReportId: /subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1
                  provisioningState: Succeeded
              headers: {}
    put:
      description: Creates an association between a VM and guest configuration
      operationId: GuestConfigurationAssignments_CreateOrUpdate
      parameters:
        - description: Name of the guest configuration assignment.
          in: path
          name: guestConfigurationAssignmentName
          required: true
          type: string
        - description: Parameters supplied to the create or update guest configuration assignment.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/GuestConfigurationAssignment"
        - description: Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: The resource group name.
          in: path
          name: resourceGroupName
          pattern: ^[-\w\._]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The name of the virtual machine.
          in: path
          name: vmName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Client Api Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK. The guest configuration assignment for the VM was updated successfully.
          schema:
            $ref: "#/definitions/GuestConfigurationAssignment"
        "201":
          description: Created. The guest configuration assignment for the VM was created successfully.
          schema:
            $ref: "#/definitions/GuestConfigurationAssignment"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response of an operation failure
            properties:
              message:
                description: Error message indicating why the operation failed.
                type: string
      tags:
        - GuestConfigurationAssignments
      x-ms-examples:
        Create or update guest configuration assignment:
          parameters:
            api-version: 2018-11-20
            guestConfigurationAssignmentName: WhitelistedApplication
            parameters:
              location: westcentralus
              name: WhitelistedApplication
              properties:
                context: Azure policy
                guestConfiguration:
                  configurationParameter:
                    - name: "[InstalledApplication]bwhitelistedapp;Name"
                      value: NotePad,sql
                  configurationSetting:
                    actionAfterReboot: ContinueConfiguration
                    configurationMode: MonitorOnly
                    configurationModeFrequencyMins: 15
                    rebootIfNeeded: "False"
                  name: WhitelistedApplication
                  version: 1.*
            resourceGroupName: myResourceGroupName
            subscriptionId: mySubscriptionId
            vmName: myVMName
          responses:
            "200":
              body:
                id: null
                location: westcentralus
                name: WhitelistedApplication
                properties:
                  assignmentHash: null
                  complianceStatus: Pending
                  context: Azure policy
                  guestConfiguration:
                    configurationParameter:
                      - name: "[InstalledApplication]bwhitelistedapp;Name"
                        value: NotePad,sql
                    configurationSetting:
                      actionAfterReboot: ContinueConfiguration
                      configurationMode: MonitorOnly
                      configurationModeFrequencyMins: 15
                      rebootIfNeeded: "False"
                    contentHash: null
                    contentUri: null
                    kind: null
                    name: WhitelistedApplication
                    version: 1.0.0.3
                  lastComplianceStatusChecked: null
                  latestReportId: null
                  provisioningState: Succeeded
              headers: {}
            "201":
              body:
                id: null
                location: westcentralus
                name: WhitelistedApplication
                properties:
                  assignmentHash: null
                  complianceStatus: Pending
                  context: Azure policy
                  guestConfiguration:
                    configurationParameter:
                      - name: "[InstalledApplication]bwhitelistedapp;Name"
                        value: NotePad,sql
                    configurationSetting:
                      actionAfterReboot: ContinueConfiguration
                      configurationMode: MonitorOnly
                      configurationModeFrequencyMins: 15
                      rebootIfNeeded: "False"
                    contentHash: null
                    contentUri: null
                    kind: null
                    name: WhitelistedApplication
                    version: 1.0.0.3
                  lastComplianceStatusChecked: null
                  latestReportId: null
                  provisioningState: Succeeded
              headers: {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports":
    get:
      description: List all reports for the guest configuration assignment, latest report first.
      operationId: GuestConfigurationAssignmentReports_List
      parameters:
        - description: The resource group name.
          in: path
          name: resourceGroupName
          pattern: ^[-\w\._]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The guest configuration assignment name.
          in: path
          name: guestConfigurationAssignmentName
          required: true
          type: string
        - description: Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: The name of the virtual machine.
          in: path
          name: vmName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Client Api Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no reports returned."
          schema:
            $ref: "#/definitions/GuestConfigurationAssignmentReportList"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response of an operation failure
            properties:
              message:
                description: Error message indicating why the operation failed.
                type: string
      tags:
        - GuestConfigurationAssignmentReports
      x-ms-examples:
        List all guest configuration assignments for a virtual machine:
          parameters:
            api-version: 2018-11-20
            guestConfigurationAssignmentName: AuditSecureProtocol
            resourceGroupName: myResourceGroupName
            subscriptionId: mySubscriptionid
            vmName: myVMName
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1
                    name: 7367cbb8-ae99-47d0-a33b-a283564d2cb1
                    properties:
                      assignment:
                        configuration:
                          name: AuditSecureProtocol
                        name: AuditSecureProtocol
                      complianceStatus: Compliant
                      details: null
                      endTime: 2018-08-29T22:14:13Z
                      reportId: 7367cbb8-ae99-47d0-a33b-a283564d2cb1
                      startTime: 2018-08-29T22:13:53Z
                      vm:
                        id: /subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm
                        uuid: vmuuid
                  - id: /subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c
                    name: 41ee2caf-48f9-4999-a793-82ec7c6beb2c
                    properties:
                      assignment:
                        configuration:
                          name: AuditSecureProtocol
                        name: AuditSecureProtocol
                      complianceStatus: Compliant
                      details: null
                      endTime: 2018-08-29T20:14:13Z
                      reportId: 41ee2caf-48f9-4999-a793-82ec7c6beb2c
                      startTime: 2018-08-29T20:13:53Z
                      vm:
                        id: /subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm
                        uuid: vmuuid
              headers: {}
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}":
    get:
      description: Get a report for the guest configuration assignment, by reportId.
      operationId: GuestConfigurationAssignmentReports_Get
      parameters:
        - description: The resource group name.
          in: path
          name: resourceGroupName
          pattern: ^[-\w\._]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The guest configuration assignment name.
          in: path
          name: guestConfigurationAssignmentName
          required: true
          type: string
        - description: The GUID for the guest configuration assignment report.
          in: path
          name: reportId
          required: true
          type: string
        - description: Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: The name of the virtual machine.
          in: path
          name: vmName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Client Api Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no report was returned."
          schema:
            $ref: "#/definitions/GuestConfigurationAssignmentReport"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error response of an operation failure
            properties:
              message:
                description: Error message indicating why the operation failed.
                type: string
      tags:
        - GuestConfigurationAssignmentReports
      x-ms-examples:
        Get a guest configuration assignment report by Id for a virtual machine:
          parameters:
            api-version: 2018-11-20
            guestConfigurationAssignmentName: AuditSecureProtocol
            reportId: 7367cbb8-ae99-47d0-a33b-a283564d2cb1
            resourceGroupName: myResourceGroupName
            subscriptionId: mySubscriptionid
            vmName: myvm
          responses:
            "200":
              body:
                id: /subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1
                name: 7367cbb8-ae99-47d0-a33b-a283564d2cb1
                properties:
                  assignment:
                    configuration:
                      name: AuditSecureProtocol
                      version: 1.0.0.0
                    name: AuditSecureProtocol
                  complianceStatus: Compliant
                  details:
                    complianceStatus: Compliant
                    endTime: 2018-08-29T22:14:13Z
                    jobId: 7367cbb8-ae99-47d0-a33b-a283564d2cb1
                    operationType: Consistency
                    resources:
                      - complianceStatus: Compliant
                        properties:
                          ConfigurationName: IsWebServerSecure
                          DependsOn: null
                          IsSingleInstance: Yes
                          ModuleName: SecureProtocolWebServer
                          ModuleVersion: 1.0.0.3
                          Protocols:
                            - Ensure: Absent
                              Protocol: SSL 2.0
                            - Ensure: Absent
                              Protocol: SSL 3.0
                            - Ensure: Absent
                              Protocol: TLS 1.0
                            - Ensure: Absent
                              Protocol: PCT 1.0
                            - Ensure: Absent
                              Protocol: Multi-Protocol Unified Hello
                            - Ensure: Absent
                              Protocol: TLS 1.1
                            - Ensure: Absent
                              Protocol: TLS 1.2
                          PsDscRunAsCredential: null
                          Reasons: null
                          ResourceId: "[SecureWebServer]s1"
                          SourceInfo: null
                        reasons:
                          - code: DSC::RESOURCE::SUCCESS
                            phrase: Operation successful.
                    startTime: 2018-08-29T22:13:53Z
                  endTime: 2018-08-29T22:14:13Z
                  reportId: 7367cbb8-ae99-47d0-a33b-a283564d2cb1
                  startTime: 2018-08-29T22:13:53Z
                  vm:
                    id: /subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm
                    uuid: vmuuid
              headers: {}
definitions:
  AssignmentInfo:
    description: Information about the guest configuration assignment.
    properties:
      configuration:
        $ref: "#/definitions/ConfigurationInfo"
        description: Information about the configuration.
      name:
        description: Name of the guest configuration assignment.
        readOnly: true
        type: string
  AssignmentReportDetails:
    description: Details of the guest configuration assignment report.
    properties:
      complianceStatus:
        description: A value indicating compliance status of the virtual machine for the assigned guest configuration.
        enum:
          - Compliant
          - NonCompliant
          - Pending
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: complianceStatus
      endTime:
        description: End date and time of the guest configuration assignment compliance status check.
        format: date-time
        readOnly: true
        type: string
      jobId:
        description: GUID of the report.
        readOnly: true
        type: string
      operationType:
        description: Type of report, Consistency or Initial
        enum:
          - Consistency
          - Initial
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: type
      resources:
        description: The list of resources for which guest configuration assignment compliance is checked.
        items:
          $ref: "#/definitions/AssignmentReportResource"
        type: array
      startTime:
        description: Start date and time of the guest configuration assignment compliance status check.
        format: date-time
        readOnly: true
        type: string
  AssignmentReportResource:
    description: The guest configuration assignment resource.
    properties:
      complianceStatus:
        description: A value indicating compliance status of the virtual machine for the assigned guest configuration.
        enum:
          - Compliant
          - NonCompliant
          - Pending
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: complianceStatus
      properties:
        description: Properties of a guest configuration assignment resource.
        readOnly: true
        type: object
      reasons:
        description: Compliance reason and reason code for a resource.
        items:
          $ref: "#/definitions/AssignmentReportResourceComplianceReason"
        type: array
  AssignmentReportResourceComplianceReason:
    description: Reason and code for the compliance of the guest configuration assignment resource.
    properties:
      code:
        description: Code for the compliance of the guest configuration assignment resource.
        readOnly: true
        type: string
      phrase:
        description: Reason for the compliance of the guest configuration assignment resource.
        readOnly: true
        type: string
  ConfigurationInfo:
    description: Information about the configuration.
    properties:
      name:
        description: Name of the configuration.
        readOnly: true
        type: string
      version:
        description: Version of the configuration.
        readOnly: true
        type: string
  ConfigurationParameter:
    description: Represents a configuration parameter.
    properties:
      name:
        description: Name of the configuration parameter.
        readOnly: true
        type: string
      value:
        description: Value of the configuration parameter.
        readOnly: true
        type: string
  ConfigurationSetting:
    description: Configuration setting of LCM (Local Configuration Manager).
    properties:
      actionAfterReboot:
        description: Specifies what happens after a reboot during the application of a configuration. The possible values are ContinueConfiguration and StopConfiguration
        enum:
          - ContinueConfiguration
          - StopConfiguration
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: actionAfterReboot
      allowModuleOverwrite:
        description: If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false
        enum:
          - "True"
          - "False"
        type: string
        x-ms-enum:
          modelAsString: true
          name: allowModuleOverwrite
      configurationMode:
        description: Specifies how the LCM(Local Configuration Manager) actually applies the configuration to the target nodes. Possible values are ApplyOnly, ApplyAndMonitor, and ApplyAndAutoCorrect.
        enum:
          - ApplyOnly
          - ApplyAndMonitor
          - ApplyAndAutoCorrect
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: configurationMode
      configurationModeFrequencyMins:
        default: 15
        description: How often, in minutes, the current configuration is checked and applied. This property is ignored if the ConfigurationMode property is set to ApplyOnly. The default value is 15.
        readOnly: true
        type: number
      rebootIfNeeded:
        default: "False"
        description: Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module.
        enum:
          - "True"
          - "False"
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: rebootIfNeeded
      refreshFrequencyMins:
        default: 30
        description: The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30.
        readOnly: true
        type: number
  GuestConfigurationAssignment:
    allOf:
      - allOf:
          - description: The core properties of ARM resources
            properties:
              id:
                description: ARM resource id of the guest configuration assignment.
                readOnly: true
                type: string
              location:
                description: Region where the VM is located.
                readOnly: true
                type: string
              name:
                description: Name of the guest configuration assignment.
                readOnly: true
                type: string
              type:
                description: The type of the resource.
                readOnly: true
                type: string
            type: object
            x-ms-azure-resource: true
        description: ARM proxy resource.
        properties: {}
        type: object
    description: Guest configuration assignment is an association between a VM and guest configuration.
    properties:
      properties:
        $ref: "#/definitions/GuestConfigurationAssignmentProperties"
        description: Properties of the Guest configuration assignment.
        x-ms-client-flatten: false
  GuestConfigurationAssignmentList:
    description: The response of the list guest configuration assignment operation.
    properties:
      value:
        description: Result of the list guest configuration assignment operation.
        items:
          $ref: "#/definitions/GuestConfigurationAssignment"
        type: array
  GuestConfigurationAssignmentProperties:
    description: Guest configuration assignment properties.
    properties:
      assignmentHash:
        description: Combined hash of the configuration package and parameters.
        readOnly: true
        type: string
        x-nullable: true
      complianceStatus:
        description: A value indicating compliance status of the virtual machine for the assigned guest configuration.
        enum:
          - Compliant
          - NonCompliant
          - Pending
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: complianceStatus
      context:
        description: "The source which initiated the guest configuration assignment. Ex: Azure Policy"
        type: string
      guestConfiguration:
        $ref: "#/definitions/GuestConfigurationNavigation"
        description: The guest configuration to assign.
      lastComplianceStatusChecked:
        description: Date and time when last compliance status was checked.
        format: date-time
        readOnly: true
        type: string
        x-nullable: true
      latestReportId:
        description: "Id of the latest report for the guest configuration assignment. "
        readOnly: true
        type: string
        x-nullable: true
      provisioningState:
        description: The provisioning state, which only appears in the response.
        enum:
          - Succeeded
          - Failed
          - Canceled
          - Created
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: provisioningState
        x-nullable: true
  GuestConfigurationAssignmentReport:
    description: Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more.
    properties:
      id:
        description: ARM resource id of the report for the guest configuration assignment.
        readOnly: true
        type: string
      name:
        description: GUID that identifies the guest configuration assignment report under a subscription, resource group.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/GuestConfigurationAssignmentReportProperties"
        description: Properties of the guest configuration report.
  GuestConfigurationAssignmentReportList:
    description: List of guest configuration assignment reports.
    properties:
      value:
        description: List of reports for the guest configuration. Report contains information such as compliance status, reason and more.
        items:
          $ref: "#/definitions/GuestConfigurationAssignmentReport"
        type: array
  GuestConfigurationAssignmentReportProperties:
    description: Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more.
    properties:
      assignment:
        $ref: "#/definitions/AssignmentInfo"
        description: Configuration details of the guest configuration assignment.
      complianceStatus:
        description: A value indicating compliance status of the virtual machine for the assigned guest configuration.
        enum:
          - Compliant
          - NonCompliant
          - Pending
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: complianceStatus
      details:
        $ref: "#/definitions/AssignmentReportDetails"
        description: Details of the assignment report.
        x-nullable: true
      endTime:
        description: End date and time of the guest configuration assignment compliance status check.
        format: date-time
        readOnly: true
        type: string
      reportId:
        description: GUID that identifies the guest configuration assignment report under a subscription, resource group.
        readOnly: true
        type: string
      startTime:
        description: Start date and time of the guest configuration assignment compliance status check.
        format: date-time
        readOnly: true
        type: string
      vm:
        $ref: "#/definitions/VMInfo"
        description: Information about the VM.
  GuestConfigurationNavigation:
    description: Guest configuration is an artifact that encapsulates DSC configuration and its dependencies. The artifact is a zip file containing DSC configuration (as MOF) and dependent resources and other dependencies like modules.
    properties:
      configurationParameter:
        description: The configuration parameters for the guest configuration.
        items:
          $ref: "#/definitions/ConfigurationParameter"
        type: array
      configurationSetting:
        $ref: "#/definitions/ConfigurationSetting"
        description: The configuration setting for the guest configuration.
      contentHash:
        description: Combined hash of the guest configuration package and configuration parameters.
        readOnly: true
        type: string
      contentUri:
        description: Uri of the storage where guest configuration package is uploaded.
        readOnly: true
        type: string
      kind:
        description: Kind of the guest configuration. For example:DSC
        enum:
          - DSC
        type: string
        x-ms-enum:
          modelAsString: true
          name: kind
      name:
        description: Name of the guest configuration.
        type: string
      version:
        description: Version of the guest configuration.
        type: string
  VMInfo:
    description: Information about the VM.
    properties:
      id:
        description: Azure resource Id of the VM.
        readOnly: true
        type: string
      uuid:
        description: UUID(Universally Unique Identifier) of the VM.
        readOnly: true
        type: string
