import { APIResource } from "../core/resource.mjs"; import * as BusinessPartnersAPI from "./business-partners.mjs"; import { APIPromise } from "../core/api-promise.mjs"; import { PageCursorURL, PagePromise } from "../core/pagination.mjs"; import { RequestOptions } from "../internal/request-options.mjs"; /** * Software deployed to company devices */ export declare class SoftwareDeployments extends APIResource { /** * A list of software deployments. * * - Requires: `API Tier 2` * - Filterable fields: `software_id`, `active_group_type` * - Expandable fields: `software` * - Sortable fields: `id`, `created_at`, `updated_at` */ list(query?: SoftwareDeploymentListParams | null | undefined, options?: RequestOptions): PagePromise; /** * Create a new software deployment */ create(body: SoftwareDeploymentCreateParams, options?: RequestOptions): APIPromise; /** * Retrieve a specific software deployment */ retrieve(id: string, query?: SoftwareDeploymentRetrieveParams | null | undefined, options?: RequestOptions): APIPromise; /** * Update a specific software deployment. */ update(id: string, body: SoftwareDeploymentUpdateParams, options?: RequestOptions): APIPromise; /** * Delete a software deployment */ delete(id: string, options?: RequestOptions): APIPromise; } export type SoftwareDeploymentListResponsesPageCursorURL = PageCursorURL; export interface SoftwareDeploymentListResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * The ID of the software to deploy. */ software_id: string; /** * Record update date */ updated_at: string; /** * Type of group targeting: 'Role' or 'Device'. */ active_group_type?: 'Role' | 'Device'; /** * Group ID for role-based targeting. Required if active_group_type is 'Role'. Must * be null if 'Device'. */ group_id?: string; /** * Whether installation report syncing is in progress. When true, deployment status * may be temporarily inconsistent. */ is_report_syncing_in_progress?: boolean; /** * Device group ID for device-based targeting. Required if active_group_type is * 'Device'. Must be null if 'Role'. */ ma_device_group_id?: string; /** * The software being deployed. Expandable to get software name, icon, and * metadata. * * Expandable field */ software?: SoftwareDeploymentListResponse.Software; } export declare namespace SoftwareDeploymentListResponse { /** * The software being deployed. Expandable to get software name, icon, and * metadata. * * Expandable field */ interface Software { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Platforms this software is available on (macOS, Windows, etc). */ available_platforms?: Array; /** * Category of the software. */ category?: string; /** * Description of the software. */ description?: string; /** * Custom display name for the software. */ display_name?: string; /** * URL for the software icon. */ icon_url?: string; /** * The name of the software. */ name?: string; /** * Scope of the software (PUBLIC, CUSTOM, INTERNAL). */ scope?: string; } } export interface SoftwareDeploymentCreateResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * The ID of the software to deploy. */ software_id: string; /** * Record update date */ updated_at: string; /** * Type of group targeting: 'Role' or 'Device'. */ active_group_type?: 'Role' | 'Device'; /** * Group ID for role-based targeting. Required if active_group_type is 'Role'. Must * be null if 'Device'. */ group_id?: string; /** * Whether installation report syncing is in progress. When true, deployment status * may be temporarily inconsistent. */ is_report_syncing_in_progress?: boolean; /** * Device group ID for device-based targeting. Required if active_group_type is * 'Device'. Must be null if 'Role'. */ ma_device_group_id?: string; /** * The software being deployed. Expandable to get software name, icon, and * metadata. * * Expandable field */ software?: SoftwareDeploymentCreateResponse.Software; } export declare namespace SoftwareDeploymentCreateResponse { /** * The software being deployed. Expandable to get software name, icon, and * metadata. * * Expandable field */ interface Software { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Platforms this software is available on (macOS, Windows, etc). */ available_platforms?: Array; /** * Category of the software. */ category?: string; /** * Description of the software. */ description?: string; /** * Custom display name for the software. */ display_name?: string; /** * URL for the software icon. */ icon_url?: string; /** * The name of the software. */ name?: string; /** * Scope of the software (PUBLIC, CUSTOM, INTERNAL). */ scope?: string; } } /** * Meta information for the response. */ export interface SoftwareDeploymentRetrieveResponse extends BusinessPartnersAPI.Meta { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * The ID of the software to deploy. */ software_id: string; /** * Record update date */ updated_at: string; /** * Type of group targeting: 'Role' or 'Device'. */ active_group_type?: 'Role' | 'Device'; /** * Group ID for role-based targeting. Required if active_group_type is 'Role'. Must * be null if 'Device'. */ group_id?: string; /** * Whether installation report syncing is in progress. When true, deployment status * may be temporarily inconsistent. */ is_report_syncing_in_progress?: boolean; /** * Device group ID for device-based targeting. Required if active_group_type is * 'Device'. Must be null if 'Role'. */ ma_device_group_id?: string; /** * The software being deployed. Expandable to get software name, icon, and * metadata. * * Expandable field */ software?: SoftwareDeploymentRetrieveResponse.Software; } export declare namespace SoftwareDeploymentRetrieveResponse { /** * The software being deployed. Expandable to get software name, icon, and * metadata. * * Expandable field */ interface Software { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Platforms this software is available on (macOS, Windows, etc). */ available_platforms?: Array; /** * Category of the software. */ category?: string; /** * Description of the software. */ description?: string; /** * Custom display name for the software. */ display_name?: string; /** * URL for the software icon. */ icon_url?: string; /** * The name of the software. */ name?: string; /** * Scope of the software (PUBLIC, CUSTOM, INTERNAL). */ scope?: string; } } export interface SoftwareDeploymentUpdateResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * The ID of the software to deploy. */ software_id: string; /** * Record update date */ updated_at: string; /** * Type of group targeting: 'Role' or 'Device'. */ active_group_type?: 'Role' | 'Device'; /** * Group ID for role-based targeting. Required if active_group_type is 'Role'. Must * be null if 'Device'. */ group_id?: string; /** * Whether installation report syncing is in progress. When true, deployment status * may be temporarily inconsistent. */ is_report_syncing_in_progress?: boolean; /** * Device group ID for device-based targeting. Required if active_group_type is * 'Device'. Must be null if 'Role'. */ ma_device_group_id?: string; /** * The software being deployed. Expandable to get software name, icon, and * metadata. * * Expandable field */ software?: SoftwareDeploymentUpdateResponse.Software; } export declare namespace SoftwareDeploymentUpdateResponse { /** * The software being deployed. Expandable to get software name, icon, and * metadata. * * Expandable field */ interface Software { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Platforms this software is available on (macOS, Windows, etc). */ available_platforms?: Array; /** * Category of the software. */ category?: string; /** * Description of the software. */ description?: string; /** * Custom display name for the software. */ display_name?: string; /** * URL for the software icon. */ icon_url?: string; /** * The name of the software. */ name?: string; /** * Scope of the software (PUBLIC, CUSTOM, INTERNAL). */ scope?: string; } } export interface SoftwareDeploymentListParams { cursor?: string; expand?: string; filter?: string; order_by?: string; } export interface SoftwareDeploymentCreateParams { /** * The ID of the software to deploy. */ software_id: string; /** * Type of group targeting: 'Role' or 'Device'. */ active_group_type?: 'Role' | 'Device'; /** * Group ID for role-based targeting. Required if active_group_type is 'Role'. Must * be null if 'Device'. */ group_id?: string; /** * Device group ID for device-based targeting. Required if active_group_type is * 'Device'. Must be null if 'Role'. */ ma_device_group_id?: string; } export interface SoftwareDeploymentRetrieveParams { expand?: string; } export interface SoftwareDeploymentUpdateParams { /** * The ID of the software to deploy. */ software_id: string; /** * Type of group targeting: 'Role' or 'Device'. */ active_group_type?: 'Role' | 'Device'; /** * Group ID for role-based targeting. Required if active_group_type is 'Role'. Must * be null if 'Device'. */ group_id?: string; /** * Device group ID for device-based targeting. Required if active_group_type is * 'Device'. Must be null if 'Role'. */ ma_device_group_id?: string; } export declare namespace SoftwareDeployments { export { type SoftwareDeploymentListResponse as SoftwareDeploymentListResponse, type SoftwareDeploymentCreateResponse as SoftwareDeploymentCreateResponse, type SoftwareDeploymentRetrieveResponse as SoftwareDeploymentRetrieveResponse, type SoftwareDeploymentUpdateResponse as SoftwareDeploymentUpdateResponse, type SoftwareDeploymentListResponsesPageCursorURL as SoftwareDeploymentListResponsesPageCursorURL, type SoftwareDeploymentListParams as SoftwareDeploymentListParams, type SoftwareDeploymentCreateParams as SoftwareDeploymentCreateParams, type SoftwareDeploymentRetrieveParams as SoftwareDeploymentRetrieveParams, type SoftwareDeploymentUpdateParams as SoftwareDeploymentUpdateParams, }; } //# sourceMappingURL=software-deployments.d.mts.map