# GENERATED BY KOMAND SDK - DO NOT EDIT
import insightconnect_plugin_runtime
import json


class Component:
    DESCRIPTION = "Get endpoints for a customer based on the last seen after date and time"


class Input:
    SINCE = "since"
    

class Output:
    ITEMS = "items"
    

class GetEndpointsInput(insightconnect_plugin_runtime.Input):
    schema = json.loads("""
   {
  "type": "object",
  "title": "Variables",
  "properties": {
    "since": {
      "type": "string",
      "title": "Since",
      "description": "Last seen after date and time (UTC) or duration inclusive, eg. 2019-09-23T12:02:01.700Z, -P1D, PT20M, PT4H500S",
      "order": 1
    }
  }
}
    """)

    def __init__(self):
        super(self.__class__, self).__init__(self.schema)


class GetEndpointsOutput(insightconnect_plugin_runtime.Output):
    schema = json.loads("""
   {
  "type": "object",
  "title": "Variables",
  "properties": {
    "items": {
      "type": "array",
      "title": "Items",
      "description": "Endpoint items",
      "items": {
        "$ref": "#/definitions/endpoint_entry"
      },
      "order": 1
    }
  },
  "required": [
    "items"
  ],
  "definitions": {
    "assigned_product": {
      "type": "object",
      "title": "assigned_product",
      "properties": {
        "code": {
          "type": "string",
          "title": "Code",
          "order": 1
        },
        "status": {
          "type": "string",
          "title": "Status",
          "order": 3
        },
        "version": {
          "type": "string",
          "title": "Version",
          "order": 2
        }
      }
    },
    "endpoint_entry": {
      "type": "object",
      "title": "endpoint_entry",
      "properties": {
        "adSyncInfo": {
          "type": "object",
          "title": "AdSyncInfo",
          "order": 1
        },
        "alert_status": {
          "type": "integer",
          "title": "Alert Status",
          "order": 2
        },
        "assignedProducts": {
          "type": "array",
          "title": "AssignedProducts",
          "items": {
            "$ref": "#/definitions/assigned_product"
          },
          "order": 3
        },
        "awsInfo": {
          "type": "object",
          "title": "AwsInfo",
          "order": 4
        },
        "azureInfo": {
          "type": "object",
          "title": "AzureInfo",
          "order": 5
        },
        "beta": {
          "type": "boolean",
          "title": "Beta",
          "order": 6
        },
        "decloned_from": {
          "type": "string",
          "title": "Decloned From",
          "order": 7
        },
        "deleted_at": {
          "type": "string",
          "title": "Deleted At",
          "order": 8
        },
        "device_encryption_status_unmanaged": {
          "type": "boolean",
          "title": "Device Encryption Status Unmanaged",
          "order": 9
        },
        "early_access_program": {
          "type": "string",
          "title": "Early Access Program",
          "order": 10
        },
        "endpoint_type": {
          "type": "string",
          "title": "Endpoint Type",
          "order": 11
        },
        "group_full_name": {
          "type": "string",
          "title": "Group Full Name",
          "order": 12
        },
        "group_id": {
          "type": "string",
          "title": "Group Id",
          "order": 13
        },
        "group_name": {
          "type": "string",
          "title": "Group Name",
          "order": 14
        },
        "health_status": {
          "type": "integer",
          "title": "Health Status",
          "order": 15
        },
        "heartbeat_utm_name": {
          "type": "string",
          "title": "Heartbeat Utm Name",
          "order": 16
        },
        "id": {
          "type": "string",
          "title": "Id",
          "order": 17
        },
        "info": {
          "type": "object",
          "title": "Info",
          "order": 18
        },
        "is_adsync_group": {
          "type": "boolean",
          "title": "Is Adsync Group",
          "order": 19
        },
        "java_id": {
          "type": "string",
          "title": "Java Id",
          "order": 20
        },
        "last_activity": {
          "type": "string",
          "title": "Last Activity",
          "order": 21
        },
        "last_user": {
          "type": "string",
          "title": "Last User",
          "order": 22
        },
        "last_user_id": {
          "type": "string",
          "title": "Last User Id",
          "order": 23
        },
        "license_codes": {
          "type": "array",
          "title": "License Codes",
          "items": {
            "type": "string"
          },
          "order": 24
        },
        "machine_id": {
          "type": "string",
          "title": "Machine Id",
          "order": 25
        },
        "name": {
          "type": "string",
          "title": "Name",
          "order": 26
        },
        "registered_at": {
          "type": "string",
          "title": "Registered At",
          "order": 27
        },
        "status": {
          "type": "object",
          "title": "Status",
          "order": 28
        },
        "tamper_protection": {
          "$ref": "#/definitions/tamper_protection_entity",
          "title": "Tamper Protection",
          "order": 29
        },
        "transport": {
          "type": "string",
          "title": "Transport",
          "order": 30
        }
      },
      "definitions": {
        "assigned_product": {
          "type": "object",
          "title": "assigned_product",
          "properties": {
            "code": {
              "type": "string",
              "title": "Code",
              "order": 1
            },
            "status": {
              "type": "string",
              "title": "Status",
              "order": 3
            },
            "version": {
              "type": "string",
              "title": "Version",
              "order": 2
            }
          }
        },
        "previous_password_entity": {
          "type": "object",
          "title": "previous_password_entity",
          "properties": {
            "invalidated": {
              "type": "string",
              "title": "Invalidated",
              "displayType": "date",
              "format": "date-time",
              "order": 1
            },
            "password": {
              "type": "string",
              "title": "Password",
              "order": 2
            }
          }
        },
        "tamper_protection_entity": {
          "type": "object",
          "title": "tamper_protection_entity",
          "properties": {
            "enabled": {
              "type": "boolean",
              "title": "Enabled",
              "order": 1
            },
            "globally_enabled": {
              "type": "boolean",
              "title": "Globally Enabled",
              "order": 2
            },
            "password": {
              "type": "string",
              "title": "Password",
              "order": 3
            },
            "previous_passwords": {
              "type": "array",
              "title": "Previous Passwords",
              "items": {
                "$ref": "#/definitions/previous_password_entity"
              },
              "order": 4
            }
          },
          "definitions": {
            "previous_password_entity": {
              "type": "object",
              "title": "previous_password_entity",
              "properties": {
                "invalidated": {
                  "type": "string",
                  "title": "Invalidated",
                  "displayType": "date",
                  "format": "date-time",
                  "order": 1
                },
                "password": {
                  "type": "string",
                  "title": "Password",
                  "order": 2
                }
              }
            }
          }
        }
      }
    },
    "previous_password_entity": {
      "type": "object",
      "title": "previous_password_entity",
      "properties": {
        "invalidated": {
          "type": "string",
          "title": "Invalidated",
          "displayType": "date",
          "format": "date-time",
          "order": 1
        },
        "password": {
          "type": "string",
          "title": "Password",
          "order": 2
        }
      }
    },
    "tamper_protection_entity": {
      "type": "object",
      "title": "tamper_protection_entity",
      "properties": {
        "enabled": {
          "type": "boolean",
          "title": "Enabled",
          "order": 1
        },
        "globally_enabled": {
          "type": "boolean",
          "title": "Globally Enabled",
          "order": 2
        },
        "password": {
          "type": "string",
          "title": "Password",
          "order": 3
        },
        "previous_passwords": {
          "type": "array",
          "title": "Previous Passwords",
          "items": {
            "$ref": "#/definitions/previous_password_entity"
          },
          "order": 4
        }
      },
      "definitions": {
        "previous_password_entity": {
          "type": "object",
          "title": "previous_password_entity",
          "properties": {
            "invalidated": {
              "type": "string",
              "title": "Invalidated",
              "displayType": "date",
              "format": "date-time",
              "order": 1
            },
            "password": {
              "type": "string",
              "title": "Password",
              "order": 2
            }
          }
        }
      }
    }
  }
}
    """)

    def __init__(self):
        super(self.__class__, self).__init__(self.schema)

# GENERATED BY KOMAND SDK - DO NOT EDIT
import insightconnect_plugin_runtime
import json


class Component:
    DESCRIPTION = "Get endpoints for a customer based on the last seen after date and time"


class Input:
    SINCE = "since"
    

class Output:
    ITEMS = "items"
    

class GetEndpointsInput(insightconnect_plugin_runtime.Input):
    schema = json.loads("""
   {
  "type": "object",
  "title": "Variables",
  "properties": {
    "since": {
      "type": "string",
      "title": "Since",
      "description": "Last seen after date and time (UTC) or duration inclusive, eg. 2019-09-23T12:02:01.700Z, -P1D, PT20M, PT4H500S",
      "order": 1
    }
  }
}
    """)

    def __init__(self):
        super(self.__class__, self).__init__(self.schema)


class GetEndpointsOutput(insightconnect_plugin_runtime.Output):
    schema = json.loads("""
   {
  "type": "object",
  "title": "Variables",
  "properties": {
    "items": {
      "type": "array",
      "title": "Items",
      "description": "Endpoint items",
      "items": {
        "$ref": "#/definitions/endpoint_entry"
      },
      "order": 1
    }
  },
  "required": [
    "items"
  ],
  "definitions": {
    "assigned_product": {
      "type": "object",
      "title": "assigned_product",
      "properties": {
        "code": {
          "type": "string",
          "title": "Code",
          "order": 1
        },
        "status": {
          "type": "string",
          "title": "Status",
          "order": 3
        },
        "version": {
          "type": "string",
          "title": "Version",
          "order": 2
        }
      }
    },
    "endpoint_entry": {
      "type": "object",
      "title": "endpoint_entry",
      "properties": {
        "adSyncInfo": {
          "type": "object",
          "title": "AdSyncInfo",
          "order": 1
        },
        "alert_status": {
          "type": "integer",
          "title": "Alert Status",
          "order": 2
        },
        "assignedProducts": {
          "type": "array",
          "title": "AssignedProducts",
          "items": {
            "$ref": "#/definitions/assigned_product"
          },
          "order": 3
        },
        "awsInfo": {
          "type": "object",
          "title": "AwsInfo",
          "order": 4
        },
        "azureInfo": {
          "type": "object",
          "title": "AzureInfo",
          "order": 5
        },
        "beta": {
          "type": "boolean",
          "title": "Beta",
          "order": 6
        },
        "decloned_from": {
          "type": "string",
          "title": "Decloned From",
          "order": 7
        },
        "deleted_at": {
          "type": "string",
          "title": "Deleted At",
          "order": 8
        },
        "device_encryption_status_unmanaged": {
          "type": "boolean",
          "title": "Device Encryption Status Unmanaged",
          "order": 9
        },
        "early_access_program": {
          "type": "string",
          "title": "Early Access Program",
          "order": 10
        },
        "endpoint_type": {
          "type": "string",
          "title": "Endpoint Type",
          "order": 11
        },
        "group_full_name": {
          "type": "string",
          "title": "Group Full Name",
          "order": 12
        },
        "group_id": {
          "type": "string",
          "title": "Group Id",
          "order": 13
        },
        "group_name": {
          "type": "string",
          "title": "Group Name",
          "order": 14
        },
        "health_status": {
          "type": "integer",
          "title": "Health Status",
          "order": 15
        },
        "heartbeat_utm_name": {
          "type": "string",
          "title": "Heartbeat Utm Name",
          "order": 16
        },
        "id": {
          "type": "string",
          "title": "Id",
          "order": 17
        },
        "info": {
          "type": "object",
          "title": "Info",
          "order": 18
        },
        "is_adsync_group": {
          "type": "boolean",
          "title": "Is Adsync Group",
          "order": 19
        },
        "java_id": {
          "type": "string",
          "title": "Java Id",
          "order": 20
        },
        "last_activity": {
          "type": "string",
          "title": "Last Activity",
          "order": 21
        },
        "last_user": {
          "type": "string",
          "title": "Last User",
          "order": 22
        },
        "last_user_id": {
          "type": "string",
          "title": "Last User Id",
          "order": 23
        },
        "license_codes": {
          "type": "array",
          "title": "License Codes",
          "items": {
            "type": "string"
          },
          "order": 24
        },
        "machine_id": {
          "type": "string",
          "title": "Machine Id",
          "order": 25
        },
        "name": {
          "type": "string",
          "title": "Name",
          "order": 26
        },
        "registered_at": {
          "type": "string",
          "title": "Registered At",
          "order": 27
        },
        "status": {
          "type": "object",
          "title": "Status",
          "order": 28
        },
        "tamper_protection": {
          "$ref": "#/definitions/tamper_protection_entity",
          "title": "Tamper Protection",
          "order": 29
        },
        "transport": {
          "type": "string",
          "title": "Transport",
          "order": 30
        }
      },
      "definitions": {
        "assigned_product": {
          "type": "object",
          "title": "assigned_product",
          "properties": {
            "code": {
              "type": "string",
              "title": "Code",
              "order": 1
            },
            "status": {
              "type": "string",
              "title": "Status",
              "order": 3
            },
            "version": {
              "type": "string",
              "title": "Version",
              "order": 2
            }
          }
        },
        "previous_password_entity": {
          "type": "object",
          "title": "previous_password_entity",
          "properties": {
            "invalidated": {
              "type": "string",
              "title": "Invalidated",
              "displayType": "date",
              "format": "date-time",
              "order": 1
            },
            "password": {
              "type": "string",
              "title": "Password",
              "order": 2
            }
          }
        },
        "tamper_protection_entity": {
          "type": "object",
          "title": "tamper_protection_entity",
          "properties": {
            "enabled": {
              "type": "boolean",
              "title": "Enabled",
              "order": 1
            },
            "globally_enabled": {
              "type": "boolean",
              "title": "Globally Enabled",
              "order": 2
            },
            "password": {
              "type": "string",
              "title": "Password",
              "order": 3
            },
            "previous_passwords": {
              "type": "array",
              "title": "Previous Passwords",
              "items": {
                "$ref": "#/definitions/previous_password_entity"
              },
              "order": 4
            }
          },
          "definitions": {
            "previous_password_entity": {
              "type": "object",
              "title": "previous_password_entity",
              "properties": {
                "invalidated": {
                  "type": "string",
                  "title": "Invalidated",
                  "displayType": "date",
                  "format": "date-time",
                  "order": 1
                },
                "password": {
                  "type": "string",
                  "title": "Password",
                  "order": 2
                }
              }
            }
          }
        }
      }
    },
    "previous_password_entity": {
      "type": "object",
      "title": "previous_password_entity",
      "properties": {
        "invalidated": {
          "type": "string",
          "title": "Invalidated",
          "displayType": "date",
          "format": "date-time",
          "order": 1
        },
        "password": {
          "type": "string",
          "title": "Password",
          "order": 2
        }
      }
    },
    "tamper_protection_entity": {
      "type": "object",
      "title": "tamper_protection_entity",
      "properties": {
        "enabled": {
          "type": "boolean",
          "title": "Enabled",
          "order": 1
        },
        "globally_enabled": {
          "type": "boolean",
          "title": "Globally Enabled",
          "order": 2
        },
        "password": {
          "type": "string",
          "title": "Password",
          "order": 3
        },
        "previous_passwords": {
          "type": "array",
          "title": "Previous Passwords",
          "items": {
            "$ref": "#/definitions/previous_password_entity"
          },
          "order": 4
        }
      },
      "definitions": {
        "previous_password_entity": {
          "type": "object",
          "title": "previous_password_entity",
          "properties": {
            "invalidated": {
              "type": "string",
              "title": "Invalidated",
              "displayType": "date",
              "format": "date-time",
              "order": 1
            },
            "password": {
              "type": "string",
              "title": "Password",
              "order": 2
            }
          }
        }
      }
    }
  }
}
    """)

    def __init__(self):
        super(self.__class__, self).__init__(self.schema)

# GENERATED BY KOMAND SDK - DO NOT EDIT {   "type": "object",   "title": "Variables",   "properties": {     "since": {       "type": "string",       "title": "Since",       "description": "Last seen after date and time (UTC) or duration inclusive, eg. 2019-09-23T12:02:01.700Z, -P1D, PT20M, PT4H500S",       "order": 1     }   } } {   "type": "object",   "title": "Variables",   "properties": {     "items": {       "type": "array",       "title": "Items",       "description": "Endpoint items",       "items": {         "$ref": "#/definitions/endpoint_entry"       },       "order": 1     }   },   "required": [     "items"   ],   "definitions": {     "assigned_product": {       "type": "object",       "title": "assigned_product",       "properties": {         "code": {           "type": "string",           "title": "Code",           "order": 1         },         "status": {           "type": "string",           "title": "Status",           "order": 3         },         "version": {           "type": "string",           "title": "Version",           "order": 2         }       }     },     "endpoint_entry": {       "type": "object",       "title": "endpoint_entry",       "properties": {         "adSyncInfo": {           "type": "object",           "title": "AdSyncInfo",           "order": 1         },         "alert_status": {           "type": "integer",           "title": "Alert Status",           "order": 2         },         "assignedProducts": {           "type": "array",           "title": "AssignedProducts",           "items": {             "$ref": "#/definitions/assigned_product"           },           "order": 3         },         "awsInfo": {           "type": "object",           "title": "AwsInfo",           "order": 4         },         "azureInfo": {           "type": "object",           "title": "AzureInfo",           "order": 5         },         "beta": {           "type": "boolean",           "title": "Beta",           "order": 6         },         "decloned_from": {           "type": "string",           "title": "Decloned From",           "order": 7         },         "deleted_at": {           "type": "string",           "title": "Deleted At",           "order": 8         },         "device_encryption_status_unmanaged": {           "type": "boolean",           "title": "Device Encryption Status Unmanaged",           "order": 9         },         "early_access_program": {           "type": "string",           "title": "Early Access Program",           "order": 10         },         "endpoint_type": {           "type": "string",           "title": "Endpoint Type",           "order": 11         },         "group_full_name": {           "type": "string",           "title": "Group Full Name",           "order": 12         },         "group_id": {           "type": "string",           "title": "Group Id",           "order": 13         },         "group_name": {           "type": "string",           "title": "Group Name",           "order": 14         },         "health_status": {           "type": "integer",           "title": "Health Status",           "order": 15         },         "heartbeat_utm_name": {           "type": "string",           "title": "Heartbeat Utm Name",           "order": 16         },         "id": {           "type": "string",           "title": "Id",           "order": 17         },         "info": {           "type": "object",           "title": "Info",           "order": 18         },         "is_adsync_group": {           "type": "boolean",           "title": "Is Adsync Group",           "order": 19         },         "java_id": {           "type": "string",           "title": "Java Id",           "order": 20         },         "last_activity": {           "type": "string",           "title": "Last Activity",           "order": 21         },         "last_user": {           "type": "string",           "title": "Last User",           "order": 22         },         "last_user_id": {           "type": "string",           "title": "Last User Id",           "order": 23         },         "license_codes": {           "type": "array",           "title": "License Codes",           "items": {             "type": "string"           },           "order": 24         },         "machine_id": {           "type": "string",           "title": "Machine Id",           "order": 25         },         "name": {           "type": "string",           "title": "Name",           "order": 26         },         "registered_at": {           "type": "string",           "title": "Registered At",           "order": 27         },         "status": {           "type": "object",           "title": "Status",           "order": 28         },         "tamper_protection": {           "$ref": "#/definitions/tamper_protection_entity",           "title": "Tamper Protection",           "order": 29         },         "transport": {           "type": "string",           "title": "Transport",           "order": 30         }       },       "definitions": {         "assigned_product": {           "type": "object",           "title": "assigned_product",           "properties": {             "code": {               "type": "string",               "title": "Code",               "order": 1             },             "status": {               "type": "string",               "title": "Status",               "order": 3             },             "version": {               "type": "string",               "title": "Version",               "order": 2             }           }         },         "previous_password_entity": {           "type": "object",           "title": "previous_password_entity",           "properties": {             "invalidated": {               "type": "string",               "title": "Invalidated",               "displayType": "date",               "format": "date-time",               "order": 1             },             "password": {               "type": "string",               "title": "Password",               "order": 2             }           }         },         "tamper_protection_entity": {           "type": "object",           "title": "tamper_protection_entity",           "properties": {             "enabled": {               "type": "boolean",               "title": "Enabled",               "order": 1             },             "globally_enabled": {               "type": "boolean",               "title": "Globally Enabled",               "order": 2             },             "password": {               "type": "string",               "title": "Password",               "order": 3             },             "previous_passwords": {               "type": "array",               "title": "Previous Passwords",               "items": {                 "$ref": "#/definitions/previous_password_entity"               },               "order": 4             }           },           "definitions": {             "previous_password_entity": {               "type": "object",               "title": "previous_password_entity",               "properties": {                 "invalidated": {                   "type": "string",                   "title": "Invalidated",                   "displayType": "date",                   "format": "date-time",                   "order": 1                 },                 "password": {                   "type": "string",                   "title": "Password",                   "order": 2                 }               }             }           }         }       }     },     "previous_password_entity": {       "type": "object",       "title": "previous_password_entity",       "properties": {         "invalidated": {           "type": "string",           "title": "Invalidated",           "displayType": "date",           "format": "date-time",           "order": 1         },         "password": {           "type": "string",           "title": "Password",           "order": 2         }       }     },     "tamper_protection_entity": {       "type": "object",       "title": "tamper_protection_entity",       "properties": {         "enabled": {           "type": "boolean",           "title": "Enabled",           "order": 1         },         "globally_enabled": {           "type": "boolean",           "title": "Globally Enabled",           "order": 2         },         "password": {           "type": "string",           "title": "Password",           "order": 3         },         "previous_passwords": {           "type": "array",           "title": "Previous Passwords",           "items": {             "$ref": "#/definitions/previous_password_entity"           },           "order": 4         }       },       "definitions": {         "previous_password_entity": {           "type": "object",           "title": "previous_password_entity",           "properties": {             "invalidated": {               "type": "string",               "title": "Invalidated",               "displayType": "date",               "format": "date-time",               "order": 1             },             "password": {               "type": "string",               "title": "Password",               "order": 2             }           }         }       }     }   } }