UNPKG

@ibm-cloud/platform-services

Version:

Node.js client library for IBM Cloud Platform Services

879 lines (878 loc) 48.2 kB
/** * (C) Copyright IBM Corp. 2026. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /// <reference types="node" /> import { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http'; import { AbortSignal, BaseService, UserOptions } from 'ibm-cloud-sdk-core'; /** * API for IBM Cloud account notifications, providing capabilities to: * - View notifications * - Get and update acknowledgements * - Manage user communication preferences * - Manage notification distribution lists * * API Version: 1.0.0 */ declare class PlatformNotificationsV1 extends BaseService { static DEFAULT_SERVICE_URL: string; static DEFAULT_SERVICE_NAME: string; /************************* * Factory method ************************/ /** * Constructs an instance of PlatformNotificationsV1 with passed in options and external configuration. * * @param {UserOptions} [options] - The parameters to send to the service. * @param {string} [options.serviceName] - The name of the service to configure * @param {Authenticator} [options.authenticator] - The Authenticator object used to authenticate requests to the service * @param {string} [options.serviceUrl] - The base URL for the service * @returns {PlatformNotificationsV1} */ static newInstance(options: UserOptions): PlatformNotificationsV1; /** * Construct a PlatformNotificationsV1 object. * * @param {Object} options - Options for the service. * @param {string} [options.serviceUrl] - The base URL for the service * @param {OutgoingHttpHeaders} [options.headers] - Default headers that shall be included with every request to the service. * @param {Authenticator} options.authenticator - The Authenticator object used to authenticate requests to the service * @constructor * @returns {PlatformNotificationsV1} */ constructor(options: UserOptions); /************************* * notifications ************************/ /** * Get user notifications. * * Retrieve all notifications for the requested user. * * @param {Object} [params] - The parameters to send to the service. * @param {string} [params.accountId] - The IBM Cloud account ID. If not provided, the account ID from the bearer * token will be used. * @param {string} [params.start] - An opaque page token that specifies the resource to start the page on or after. If * unspecified, the first page of results is returned. * @param {number} [params.limit] - The maximum number of items to return per page. If unspecified, a default limit of * 50 is used. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.NotificationCollection>>} */ listNotifications(params?: PlatformNotificationsV1.ListNotificationsParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.NotificationCollection>>; /** * Get acknowledgement. * * Retrieve the ID of the last notification acknowledged by the user for a specific account. * * @param {Object} [params] - The parameters to send to the service. * @param {string} [params.accountId] - The IBM Cloud account ID. If not provided, the account ID from the bearer * token will be used. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.Acknowledgement>>} */ getAcknowledgement(params?: PlatformNotificationsV1.GetAcknowledgementParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.Acknowledgement>>; /** * Update acknowledgement. * * Update the ID of the last notification acknowledged by the user for a specific account. * * @param {Object} params - The parameters to send to the service. * @param {number} params.lastAcknowledged - The timestamp of the last acknowledgement. * @param {string} [params.accountId] - The IBM Cloud account ID. If not provided, the account ID from the bearer * token will be used. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.Acknowledgement>>} */ replaceNotificationAcknowledgement(params: PlatformNotificationsV1.ReplaceNotificationAcknowledgementParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.Acknowledgement>>; /************************* * distributionLists ************************/ /** * Get all destination entries. * * Retrieve all destinations in the distribution list for the specified account. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - The IBM Cloud account ID. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.AddDestinationCollection>>} */ listDistributionListDestinations(params: PlatformNotificationsV1.ListDistributionListDestinationsParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.AddDestinationCollection>>; /** * Add a destination entry. * * Add a destination entry to the distribution list. A maximum of 10 destination entries per destination type. In * terms of enterprise accounts, you can provide an Event Notifications destination that is from a different account * than the distribution list account, provided these two accounts are from the same enterprise and the user has * permission to manage the Event Notifications destinations on both accounts. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - The IBM Cloud account ID. * @param {AddDestinationPrototype} params.addDestinationPrototype - * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.AddDestination>>} */ createDistributionListDestination(params: PlatformNotificationsV1.CreateDistributionListDestinationParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.AddDestination>>; /** * Get a destination entry. * * Retrieve a specific destination from the distribution list of the account. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - The IBM Cloud account ID. * @param {string} params.destinationId - The ID of the destination. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.AddDestination>>} */ getDistributionListDestination(params: PlatformNotificationsV1.GetDistributionListDestinationParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.AddDestination>>; /** * Delete a destination entry. * * Remove a destination entry. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - The IBM Cloud account ID. * @param {string} params.destinationId - The ID of the destination. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.EmptyObject>>} */ deleteDistributionListDestination(params: PlatformNotificationsV1.DeleteDistributionListDestinationParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.EmptyObject>>; /** * Test a destination entry. * * Send a test notification to a destination in the distribution list. This allows you to verify that the destination * is properly configured and can receive notifications. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - The IBM Cloud account ID. * @param {string} params.destinationId - The ID of the destination. * @param {TestDestinationRequestBodyPrototype} params.testDestinationRequestBodyPrototype - * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.TestDestinationResponseBody>>} */ testDistributionListDestination(params: PlatformNotificationsV1.TestDistributionListDestinationParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.TestDestinationResponseBody>>; /************************* * userPreferences ************************/ /** * Get all communication preferences. * * Retrieve all communication preferences of a user in an account. * * @param {Object} params - The parameters to send to the service. * @param {string} params.iamId - The IAM ID of the user. Must match the IAM ID in the bearer token. * @param {string} [params.accountId] - The IBM Cloud account ID. If not provided, the account ID from the bearer * token will be used. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.PreferencesObject>>} */ getPreferences(params: PlatformNotificationsV1.GetPreferencesParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.PreferencesObject>>; /** * Create communication preferences. * * Create communication preferences for the specified account. * * @param {Object} params - The parameters to send to the service. * @param {string} params.iamId - The IAM ID of the user. Must match the IAM ID in the bearer token. * @param {PreferenceValueWithUpdates} [params.incidentSeverity1] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.incidentSeverity2] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.incidentSeverity3] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.incidentSeverity4] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.maintenanceHigh] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.maintenanceMedium] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.maintenanceLow] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithoutUpdates} [params.announcementsMajor] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.announcementsMinor] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.securityNormal] - Preference settings for notification types that do * not support updates. * @param {PreferenceValueWithoutUpdates} [params.accountNormal] - Preference settings for notification types that do * not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsageOrder] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsageInvoices] - Preference settings for notification * types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsagePayments] - Preference settings for notification * types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsageSubscriptionsAndPromoCodes] - Preference settings for * notification types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsageSpendingAlerts] - Preference settings for * notification types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.resourceactivityNormal] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.orderingReview] - Preference settings for notification types that do * not support updates. * @param {PreferenceValueWithoutUpdates} [params.orderingApproved] - Preference settings for notification types that * do not support updates. * @param {PreferenceValueWithoutUpdates} [params.orderingApprovedVsi] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.orderingApprovedServer] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.provisioningReloadComplete] - Preference settings for notification * types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.provisioningCompleteVsi] - Preference settings for notification * types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.provisioningCompleteServer] - Preference settings for notification * types that do not support updates. * @param {string} [params.accountId] - The IBM Cloud account ID. If not provided, the account ID from the bearer * token will be used. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.PreferencesObject>>} */ createPreferences(params: PlatformNotificationsV1.CreatePreferencesParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.PreferencesObject>>; /** * Update communication preferences. * * Update communication preferences for the specified account. * * @param {Object} params - The parameters to send to the service. * @param {string} params.iamId - The IAM ID of the user. Must match the IAM ID in the bearer token. * @param {PreferenceValueWithUpdates} [params.incidentSeverity1] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.incidentSeverity2] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.incidentSeverity3] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.incidentSeverity4] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.maintenanceHigh] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.maintenanceMedium] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithUpdates} [params.maintenanceLow] - Preference settings for notification types that * support updates. * @param {PreferenceValueWithoutUpdates} [params.announcementsMajor] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.announcementsMinor] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.securityNormal] - Preference settings for notification types that do * not support updates. * @param {PreferenceValueWithoutUpdates} [params.accountNormal] - Preference settings for notification types that do * not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsageOrder] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsageInvoices] - Preference settings for notification * types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsagePayments] - Preference settings for notification * types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsageSubscriptionsAndPromoCodes] - Preference settings for * notification types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.billingAndUsageSpendingAlerts] - Preference settings for * notification types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.resourceactivityNormal] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.orderingReview] - Preference settings for notification types that do * not support updates. * @param {PreferenceValueWithoutUpdates} [params.orderingApproved] - Preference settings for notification types that * do not support updates. * @param {PreferenceValueWithoutUpdates} [params.orderingApprovedVsi] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.orderingApprovedServer] - Preference settings for notification types * that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.provisioningReloadComplete] - Preference settings for notification * types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.provisioningCompleteVsi] - Preference settings for notification * types that do not support updates. * @param {PreferenceValueWithoutUpdates} [params.provisioningCompleteServer] - Preference settings for notification * types that do not support updates. * @param {string} [params.accountId] - The IBM Cloud account ID. If not provided, the account ID from the bearer * token will be used. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.PreferencesObject>>} */ replaceNotificationPreferences(params: PlatformNotificationsV1.ReplaceNotificationPreferencesParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.PreferencesObject>>; /** * Reset all preferences to their default values. * * Delete all communication preferences for the specified account, and reset all preferences to their default values. * * @param {Object} params - The parameters to send to the service. * @param {string} params.iamId - The IAM ID of the user. Must match the IAM ID in the bearer token. * @param {string} [params.accountId] - The IBM Cloud account ID. If not provided, the account ID from the bearer * token will be used. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.EmptyObject>>} */ deleteNotificationPreferences(params: PlatformNotificationsV1.DeleteNotificationPreferencesParams): Promise<PlatformNotificationsV1.Response<PlatformNotificationsV1.EmptyObject>>; } /************************* * interfaces ************************/ declare namespace PlatformNotificationsV1 { /** An operation response. */ export interface Response<T = any> { result: T; status: number; statusText: string; headers: IncomingHttpHeaders; } /** The callback for a service request. */ export type Callback<T> = (error: any, response?: Response<T>) => void; /** The body of a service request that returns no response data. */ export interface EmptyObject { } /** A standard JS object, defined to avoid the limitations of `Object` and `object` */ export interface JsonObject { [key: string]: any; } /************************* * request interfaces ************************/ interface DefaultParams { headers?: OutgoingHttpHeaders; signal?: AbortSignal; } /** Parameters for the `listNotifications` operation. */ export interface ListNotificationsParams extends DefaultParams { /** The IBM Cloud account ID. If not provided, the account ID from the bearer token will be used. */ accountId?: string; /** An opaque page token that specifies the resource to start the page on or after. If unspecified, the first * page of results is returned. */ start?: string; /** The maximum number of items to return per page. If unspecified, a default limit of 50 is used. */ limit?: number; } /** Parameters for the `getAcknowledgement` operation. */ export interface GetAcknowledgementParams extends DefaultParams { /** The IBM Cloud account ID. If not provided, the account ID from the bearer token will be used. */ accountId?: string; } /** Parameters for the `replaceNotificationAcknowledgement` operation. */ export interface ReplaceNotificationAcknowledgementParams extends DefaultParams { /** The timestamp of the last acknowledgement. */ lastAcknowledged: number; /** The IBM Cloud account ID. If not provided, the account ID from the bearer token will be used. */ accountId?: string; } /** Parameters for the `listDistributionListDestinations` operation. */ export interface ListDistributionListDestinationsParams extends DefaultParams { /** The IBM Cloud account ID. */ accountId: string; } /** Parameters for the `createDistributionListDestination` operation. */ export interface CreateDistributionListDestinationParams extends DefaultParams { /** The IBM Cloud account ID. */ accountId: string; addDestinationPrototype: AddDestinationPrototype; } /** Parameters for the `getDistributionListDestination` operation. */ export interface GetDistributionListDestinationParams extends DefaultParams { /** The IBM Cloud account ID. */ accountId: string; /** The ID of the destination. */ destinationId: string; } /** Parameters for the `deleteDistributionListDestination` operation. */ export interface DeleteDistributionListDestinationParams extends DefaultParams { /** The IBM Cloud account ID. */ accountId: string; /** The ID of the destination. */ destinationId: string; } /** Parameters for the `testDistributionListDestination` operation. */ export interface TestDistributionListDestinationParams extends DefaultParams { /** The IBM Cloud account ID. */ accountId: string; /** The ID of the destination. */ destinationId: string; testDestinationRequestBodyPrototype: TestDestinationRequestBodyPrototype; } /** Parameters for the `getPreferences` operation. */ export interface GetPreferencesParams extends DefaultParams { /** The IAM ID of the user. Must match the IAM ID in the bearer token. */ iamId: string; /** The IBM Cloud account ID. If not provided, the account ID from the bearer token will be used. */ accountId?: string; } /** Parameters for the `createPreferences` operation. */ export interface CreatePreferencesParams extends DefaultParams { /** The IAM ID of the user. Must match the IAM ID in the bearer token. */ iamId: string; /** Preference settings for notification types that support updates. */ incidentSeverity1?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ incidentSeverity2?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ incidentSeverity3?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ incidentSeverity4?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ maintenanceHigh?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ maintenanceMedium?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ maintenanceLow?: PreferenceValueWithUpdates; /** Preference settings for notification types that do not support updates. */ announcementsMajor?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ announcementsMinor?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ securityNormal?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ accountNormal?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsageOrder?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsageInvoices?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsagePayments?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsageSubscriptionsAndPromoCodes?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsageSpendingAlerts?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ resourceactivityNormal?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ orderingReview?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ orderingApproved?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ orderingApprovedVsi?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ orderingApprovedServer?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ provisioningReloadComplete?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ provisioningCompleteVsi?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ provisioningCompleteServer?: PreferenceValueWithoutUpdates; /** The IBM Cloud account ID. If not provided, the account ID from the bearer token will be used. */ accountId?: string; } /** Parameters for the `replaceNotificationPreferences` operation. */ export interface ReplaceNotificationPreferencesParams extends DefaultParams { /** The IAM ID of the user. Must match the IAM ID in the bearer token. */ iamId: string; /** Preference settings for notification types that support updates. */ incidentSeverity1?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ incidentSeverity2?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ incidentSeverity3?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ incidentSeverity4?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ maintenanceHigh?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ maintenanceMedium?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ maintenanceLow?: PreferenceValueWithUpdates; /** Preference settings for notification types that do not support updates. */ announcementsMajor?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ announcementsMinor?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ securityNormal?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ accountNormal?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsageOrder?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsageInvoices?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsagePayments?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsageSubscriptionsAndPromoCodes?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billingAndUsageSpendingAlerts?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ resourceactivityNormal?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ orderingReview?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ orderingApproved?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ orderingApprovedVsi?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ orderingApprovedServer?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ provisioningReloadComplete?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ provisioningCompleteVsi?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ provisioningCompleteServer?: PreferenceValueWithoutUpdates; /** The IBM Cloud account ID. If not provided, the account ID from the bearer token will be used. */ accountId?: string; } /** Parameters for the `deleteNotificationPreferences` operation. */ export interface DeleteNotificationPreferencesParams extends DefaultParams { /** The IAM ID of the user. Must match the IAM ID in the bearer token. */ iamId: string; /** The IBM Cloud account ID. If not provided, the account ID from the bearer token will be used. */ accountId?: string; } /************************* * model interfaces ************************/ /** * Status indicating whether the user has unread notifications. */ export interface Acknowledgement { /** Indicates whether the user has unread notifications. */ has_unread: boolean; /** The timestamp of the last acknowledgement. */ last_acknowledged: number; } /** * AddDestination. */ export interface AddDestination { } /** * List of destinations in the distribution list. */ export interface AddDestinationCollection { /** Array of destination entries. */ destinations: AddDestination[]; } /** * AddDestinationPrototype. */ export interface AddDestinationPrototype { } /** * A notification entry. */ export interface Notification { /** The title of the notification. */ title: string; /** The body content of the notification. */ body: string; /** The unique identifier for the notification. */ id: string; /** The category of the notification. */ category: Notification.Constants.Category | string; /** Array of component/service names affected by this notification. */ component_names: string[]; /** The start time of the notification in Unix timestamp (seconds). */ start_time?: number; /** Indicates if the notification is global. */ is_global: boolean; /** The current state of the notification. */ state?: Notification.Constants.State | string; /** Array of region identifiers affected by this notification. */ regions: string[]; /** Array of CRN masks that define the scope of affected resources. */ crn_masks: string[]; /** The record identifier for tracking purposes. */ record_id?: string; /** The source identifier of the notification. */ source_id?: string; /** The completion code of the notification. */ completion_code?: Notification.Constants.CompletionCode | string; /** The end time of the notification in Unix timestamp (seconds). */ end_time?: number; /** The last update time of the notification in Unix timestamp (seconds). */ update_time?: number; /** The severity level of the notification (0-3). The display value depends on the notification type: * * **Incidents:** * - 1 = Severity 1 * - 2 = Severity 2 * - 3 = Severity 3 * - 0 = Severity 4 * * **Maintenance:** * - 1 = High * - 2 = Medium * - 3 = Low * * **Announcements:** * - 1 = Major * - 0 = Minor. */ severity: number; /** Lucene query string for filtering affected resources. Only present when instance targets are specified and * resource_link is not available. Mutually exclusive with resource_link. */ lucene_query?: string; /** Link to additional resource information or documentation. Takes precedence over lucene_query when both are * available. Mutually exclusive with lucene_query. */ resource_link?: string; /** The timestamp when the notification was created. */ creation_timestamp: number; } export namespace Notification { namespace Constants { /** The category of the notification. */ enum Category { INCIDENT = "incident", MAINTENANCE = "maintenance", ANNOUNCEMENTS = "announcements", SECURITY_BULLETINS = "security_bulletins", SECURITY = "security", RESOURCE = "resource", BILLING_AND_USAGE = "billing_and_usage", ORDERING = "ordering", PROVISIONING = "provisioning", ACCOUNT = "account" } /** The current state of the notification. */ enum State { NEW = "new", IN_PROGRESS = "in-progress", COMPLETE = "complete", RESOLVED = "resolved" } /** The completion code of the notification. */ enum CompletionCode { SUCCESSFUL = "successful", FAILED = "failed", CANCELLED = "cancelled" } } } /** * Collection of user notifications with token-based pagination metadata. */ export interface NotificationCollection { /** The maximum number of items returned in this response. */ limit: number; /** The total number of notifications in the collection. */ total_count: number; /** A pagination link object containing the URL to a page. */ first: PaginationLink; /** A pagination link object with a page token. Used for next, previous, and last page links. */ previous?: PaginationLinkWithToken; /** A pagination link object with a page token. Used for next, previous, and last page links. */ next?: PaginationLinkWithToken; /** A pagination link object with a page token. Used for next, previous, and last page links. */ last?: PaginationLinkWithToken; /** Array of notification entries. */ notifications: Notification[]; } /** * A pagination link object containing the URL to a page. */ export interface PaginationLink { /** The full URL path to the page. */ href: string; } /** * A pagination link object with a page token. Used for next, previous, and last page links. */ export interface PaginationLinkWithToken { /** Complete URL to the page. */ href: string; /** Opaque page token that can be used to retrieve the page. */ start: string; } /** * Preference settings for notification types that support updates. */ export interface PreferenceValueWithUpdates { /** Array of communication channels for this preference. */ channels: PreferenceValueWithUpdates.Constants.Channels[] | string[]; /** Whether to receive updates for this preference. Optional, defaults to false if not provided. */ updates?: boolean; } export namespace PreferenceValueWithUpdates { namespace Constants { /** Array of communication channels for this preference. */ enum Channels { EMAIL = "email" } } } /** * Preference settings for notification types that do not support updates. */ export interface PreferenceValueWithoutUpdates { /** Array of communication channels for this preference. */ channels: PreferenceValueWithoutUpdates.Constants.Channels[] | string[]; } export namespace PreferenceValueWithoutUpdates { namespace Constants { /** Array of communication channels for this preference. */ enum Channels { EMAIL = "email" } } } /** * User communication preferences object. Only include preferences where communication is desired; absence of a key * means no communication for that preference type. */ export interface PreferencesObject { /** Preference settings for notification types that support updates. */ incident_severity1?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ incident_severity2?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ incident_severity3?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ incident_severity4?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ maintenance_high?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ maintenance_medium?: PreferenceValueWithUpdates; /** Preference settings for notification types that support updates. */ maintenance_low?: PreferenceValueWithUpdates; /** Preference settings for notification types that do not support updates. */ announcements_major?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ announcements_minor?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ security_normal?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ account_normal?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billing_and_usage_order?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billing_and_usage_invoices?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billing_and_usage_payments?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billing_and_usage_subscriptions_and_promo_codes?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ billing_and_usage_spending_alerts?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ resourceactivity_normal?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ ordering_review?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ ordering_approved?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ ordering_approved_vsi?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ ordering_approved_server?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ provisioning_reload_complete?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ provisioning_complete_vsi?: PreferenceValueWithoutUpdates; /** Preference settings for notification types that do not support updates. */ provisioning_complete_server?: PreferenceValueWithoutUpdates; } /** * TestDestinationRequestBodyPrototype. */ export interface TestDestinationRequestBodyPrototype { } /** * Response from the test notification endpoint. */ export interface TestDestinationResponseBody { /** The status message that indicates the test result. */ message: string; } /** * Prototype for creating an Event Notifications destination entry. */ export interface AddDestinationPrototypeEventNotificationDestinationPrototype extends AddDestinationPrototype { /** The GUID of the Event Notifications instance. */ destination_id: string; /** The type of the destination. */ destination_type: AddDestinationPrototypeEventNotificationDestinationPrototype.Constants.DestinationType | string; } export namespace AddDestinationPrototypeEventNotificationDestinationPrototype { namespace Constants { /** The type of the destination. */ enum DestinationType { EVENT_NOTIFICATIONS = "event_notifications" } } } /** * An Event Notifications destination entry in the distribution list. */ export interface AddDestinationEventNotificationDestination extends AddDestination { /** The GUID of the Event Notifications instance. */ destination_id: string; /** The type of the destination. */ destination_type: AddDestinationEventNotificationDestination.Constants.DestinationType | string; } export namespace AddDestinationEventNotificationDestination { namespace Constants { /** The type of the destination. */ enum DestinationType { EVENT_NOTIFICATIONS = "event_notifications" } } } /** * Request body for testing an Event Notifications destination. */ export interface TestDestinationRequestBodyPrototypeTestEventNotificationDestinationRequestBodyPrototype extends TestDestinationRequestBodyPrototype { /** The type of the destination. */ destination_type: TestDestinationRequestBodyPrototypeTestEventNotificationDestinationRequestBodyPrototype.Constants.DestinationType | string; /** The type of the notification to test. */ notification_type: TestDestinationRequestBodyPrototypeTestEventNotificationDestinationRequestBodyPrototype.Constants.NotificationType | string; } export namespace TestDestinationRequestBodyPrototypeTestEventNotificationDestinationRequestBodyPrototype { namespace Constants { /** The type of the destination. */ enum DestinationType { EVENT_NOTIFICATIONS = "event_notifications" } /** The type of the notification to test. */ enum NotificationType { INCIDENT = "incident", ANNOUNCEMENTS = "announcements", MAINTENANCE = "maintenance", SECURITY_BULLETINS = "security_bulletins", RESOURCE = "resource", BILLING_AND_USAGE = "billing_and_usage" } } } /************************* * pager classes ************************/ /** * NotificationsPager can be used to simplify the use of listNotifications(). */ export class NotificationsPager { protected _hasNext: boolean; protected pageContext: any; protected client: PlatformNotificationsV1; protected params: PlatformNotificationsV1.ListNotificationsParams; /** * Construct a NotificationsPager object. * * @param {PlatformNotificationsV1} client - The service client instance used to invoke listNotifications() * @param {Object} [params] - The parameters to be passed to listNotifications() * @constructor * @returns {NotificationsPager} */ constructor(client: PlatformNotificationsV1, params?: PlatformNotificationsV1.ListNotificationsParams); /** * Returns true if there are potentially more results to be retrieved by invoking getNext(). * @returns {boolean} */ hasNext(): boolean; /** * Returns the next page of results by invoking listNotifications(). * @returns {Promise<PlatformNotificationsV1.Notification[]>} */ getNext(): Promise<PlatformNotificationsV1.Notification[]>; /** * Returns all results by invoking listNotifications() repeatedly until all pages of results have been retrieved. * @returns {Promise<PlatformNotificationsV1.Notification[]>} */ getAll(): Promise<PlatformNotificationsV1.Notification[]>; } export {}; } export = PlatformNotificationsV1;