@pulumi/meraki
Version:
A Pulumi package for creating and managing Cisco Meraki resources. Based on terraform-provider-meraki: version v0.2.0
1,700 lines • 834 kB
TypeScript
import * as outputs from "../types/output";
export interface GetDevicesItem {
/**
* Physical address of the device
*/
address: string;
/**
* Additional device information
*/
details: outputs.GetDevicesItemDetail[];
/**
* Firmware version of the device
*/
firmware: string;
/**
* IMEI of the device, if applicable
*/
imei: number;
/**
* LAN IP address of the device
*/
lanIp: string;
/**
* Latitude of the device
*/
lat: number;
/**
* Longitude of the device
*/
lng: number;
/**
* MAC address of the device
*/
mac: string;
/**
* Model of the device
*/
model: string;
/**
* Name of the device
*/
name: string;
/**
* ID of the network the device belongs to
*/
networkId: string;
/**
* Notes for the device, limited to 255 characters
*/
notes: string;
/**
* Product type of the device
*/
productType: string;
/**
* Serial number of the device
*/
serial: string;
/**
* List of tags assigned to the device
*/
tags: string[];
}
export interface GetDevicesItemDetail {
/**
* Additional property name
*/
name: string;
/**
* Additional property value
*/
value: string;
}
export interface GetNetworksItem {
/**
* Enrollment string for the network
*/
enrollmentString: string;
/**
* Network ID
*/
id: string;
/**
* If the network is bound to a config template
*/
isBoundToConfigTemplate: boolean;
/**
* Network name
*/
name: string;
/**
* Notes for the network
*/
notes: string;
/**
* Organization ID
*/
organizationId: string;
/**
* List of the product types that the network supports
*/
productTypes: string[];
/**
* Network tags
*/
tags: string[];
/**
* Timezone of the network
*/
timeZone: string;
/**
* URL to the network Dashboard UI
*/
url: string;
}
export interface GetOrganizationsItem {
/**
* API related settings
*/
api: outputs.GetOrganizationsItemApi;
/**
* Data for this organization
*/
cloud: outputs.GetOrganizationsItemCloud;
/**
* Organization ID
*/
id: string;
/**
* Licensing related settings
*/
licensing: outputs.GetOrganizationsItemLicensing;
/**
* Information about the organization's management system
*/
management: outputs.GetOrganizationsItemManagement;
/**
* Organization name
*/
name: string;
/**
* Organization URL
*/
url: string;
}
export interface GetOrganizationsItemApi {
/**
* Enable API access
*/
enabled: boolean;
}
export interface GetOrganizationsItemCloud {
/**
* Region info
*/
region: outputs.GetOrganizationsItemCloudRegion;
}
export interface GetOrganizationsItemCloudRegion {
/**
* Name of region
*/
name: string;
}
export interface GetOrganizationsItemLicensing {
/**
* Organization licensing model. Can be 'co-term', 'per-device', or 'subscription'.
*/
model: string;
}
export interface GetOrganizationsItemManagement {
/**
* Details related to organization management, possibly empty. Details may be named 'MSP ID', 'IP restriction mode for API', or 'IP restriction mode for dashboard', if the organization admin has configured any.
*/
details: outputs.GetOrganizationsItemManagementDetail[];
}
export interface GetOrganizationsItemManagementDetail {
/**
* Name of management data
*/
name: string;
/**
* Value of management data
*/
value: string;
}
export declare namespace administered {
interface GetIdentitiesMeItem {
/**
* Authentication info
*/
authentication: outputs.administered.GetIdentitiesMeItemAuthentication;
/**
* User email
*/
email: string;
/**
* Last seen active on Dashboard UI
*/
lastUsedDashboardAt: string;
/**
* Username
*/
name: string;
}
interface GetIdentitiesMeItemAuthentication {
/**
* API authentication
*/
api: outputs.administered.GetIdentitiesMeItemAuthenticationApi;
/**
* Authentication mode
*/
mode: string;
/**
* SAML authentication
*/
saml: outputs.administered.GetIdentitiesMeItemAuthenticationSaml;
/**
* TwoFactor authentication
*/
twoFactor: outputs.administered.GetIdentitiesMeItemAuthenticationTwoFactor;
}
interface GetIdentitiesMeItemAuthenticationApi {
/**
* API key
*/
key: outputs.administered.GetIdentitiesMeItemAuthenticationApiKey;
}
interface GetIdentitiesMeItemAuthenticationApiKey {
/**
* If API key is created for this user
*/
created: boolean;
}
interface GetIdentitiesMeItemAuthenticationSaml {
/**
* If SAML authentication is enabled for this user
*/
enabled: boolean;
}
interface GetIdentitiesMeItemAuthenticationTwoFactor {
/**
* If twoFactor authentication is enabled for this user
*/
enabled: boolean;
}
interface GetLicensingSubscriptionEntitlementsItem {
/**
* The feature tier associated with the entitlement (null for add-ons)
*/
featureTier: string;
/**
* Whether or not the entitlement is an add-on
*/
isAddOn: boolean;
/**
* The user-facing name of the entitlement
*/
name: string;
/**
* The product class associated with the entitlement
*/
productClass: string;
/**
* The product type of the entitlement
*/
productType: string;
/**
* The SKU identifier of the entitlement
*/
sku: string;
}
interface GetLicensingSubscriptionSubscriptionsComplianceStatusesItem {
/**
* Subscription details
*/
subscription: outputs.administered.GetLicensingSubscriptionSubscriptionsComplianceStatusesItemSubscription;
/**
* Violations
*/
violations: outputs.administered.GetLicensingSubscriptionSubscriptionsComplianceStatusesItemViolations;
}
interface GetLicensingSubscriptionSubscriptionsComplianceStatusesItemSubscription {
/**
* Subscription's ID
*/
id: string;
/**
* Friendly name to identify the subscription
*/
name: string;
/**
* One of the following: "inactive" | "active" | "out*of*compliance" | "expired" | "canceled"
*/
status: string;
}
interface GetLicensingSubscriptionSubscriptionsComplianceStatusesItemViolations {
/**
* List of violations by product class that are not compliance
*/
byProductClasses: outputs.administered.GetLicensingSubscriptionSubscriptionsComplianceStatusesItemViolationsByProductClass[];
}
interface GetLicensingSubscriptionSubscriptionsComplianceStatusesItemViolationsByProductClass {
/**
* End date of the grace period in ISO 8601 format
*/
gracePeriodEndsAt: string;
/**
* Missing entitlements details
*/
missing: outputs.administered.GetLicensingSubscriptionSubscriptionsComplianceStatusesItemViolationsByProductClassMissing;
/**
* Name of the product class
*/
productClass: string;
}
interface GetLicensingSubscriptionSubscriptionsComplianceStatusesItemViolationsByProductClassMissing {
/**
* List of missing entitlements
*/
entitlements: outputs.administered.GetLicensingSubscriptionSubscriptionsComplianceStatusesItemViolationsByProductClassMissingEntitlement[];
}
interface GetLicensingSubscriptionSubscriptionsComplianceStatusesItemViolationsByProductClassMissingEntitlement {
/**
* Number required
*/
quantity: number;
/**
* SKU of the required product
*/
sku: string;
}
interface GetLicensingSubscriptionSubscriptionsItem {
/**
* Numeric breakdown of network and entitlement counts
*/
counts: outputs.administered.GetLicensingSubscriptionSubscriptionsItemCounts;
/**
* Subscription description
*/
description: string;
/**
* Subscription expiration date
*/
endDate: string;
/**
* Entitlement info
*/
entitlements: outputs.administered.GetLicensingSubscriptionSubscriptionsItemEntitlement[];
/**
* Subscription name
*/
name: string;
/**
* Products the subscription has entitlements for
*/
productTypes: string[];
/**
* Subscription start date
*/
startDate: string;
/**
* Subscription status
*/
status: string;
/**
* Subscription's ID
*/
subscriptionId: string;
/**
* Web order id
*/
webOrderId: string;
}
interface GetLicensingSubscriptionSubscriptionsItemCounts {
/**
* Number of networks bound to this subscription
*/
networks: number;
/**
* Seat distribution
*/
seats: outputs.administered.GetLicensingSubscriptionSubscriptionsItemCountsSeats;
}
interface GetLicensingSubscriptionSubscriptionsItemCountsSeats {
/**
* Number of seats in use
*/
assigned: number;
/**
* Number of seats available for use
*/
available: number;
/**
* Total number of seats provided by this subscription
*/
limit: number;
}
interface GetLicensingSubscriptionSubscriptionsItemEntitlement {
/**
* Seat distribution
*/
seats: outputs.administered.GetLicensingSubscriptionSubscriptionsItemEntitlementSeats;
/**
* SKU of the required product
*/
sku: string;
}
interface GetLicensingSubscriptionSubscriptionsItemEntitlementSeats {
/**
* Number of seats in use
*/
assigned: number;
/**
* Number of seats available for use
*/
available: number;
/**
* Total number of seats provided by this subscription for this sku
*/
limit: number;
}
interface LicensingSubscriptionSubscriptionsBindItem {
/**
* Array of errors if failed
*/
errors: string[];
/**
* A list of entitlements required to successfully bind the networks to the subscription
*/
insufficientEntitlements: outputs.administered.LicensingSubscriptionSubscriptionsBindItemInsufficientEntitlement[];
/**
* Unbound networks
*/
networks: outputs.administered.LicensingSubscriptionSubscriptionsBindItemNetwork[];
/**
* Subscription ID
*/
subscriptionId: string;
}
interface LicensingSubscriptionSubscriptionsBindItemInsufficientEntitlement {
/**
* Number required
*/
quantity: number;
/**
* SKU of the required product
*/
sku: string;
}
interface LicensingSubscriptionSubscriptionsBindItemNetwork {
/**
* Network ID
*/
id: string;
/**
* Network name
*/
name: string;
}
interface LicensingSubscriptionSubscriptionsBindParameters {
/**
* List of network ids to bind to the subscription
*/
networkIds: string[];
}
interface LicensingSubscriptionSubscriptionsClaimItem {
/**
* Numeric breakdown of network and entitlement counts
*/
counts: outputs.administered.LicensingSubscriptionSubscriptionsClaimItemCounts;
/**
* Subscription description
*/
description: string;
/**
* Subscription expiration date
*/
endDate: string;
/**
* Entitlement info
*/
entitlements: outputs.administered.LicensingSubscriptionSubscriptionsClaimItemEntitlement[];
/**
* Subscription name
*/
name: string;
/**
* Products the subscription has entitlements for
*/
productTypes: string[];
/**
* Subscription start date
*/
startDate: string;
/**
* Subscription status
*/
status: string;
/**
* Subscription's ID
*/
subscriptionId: string;
/**
* Web order id
*/
webOrderId: string;
}
interface LicensingSubscriptionSubscriptionsClaimItemCounts {
/**
* Number of networks bound to this subscription
*/
networks: number;
/**
* Seat distribution
*/
seats: outputs.administered.LicensingSubscriptionSubscriptionsClaimItemCountsSeats;
}
interface LicensingSubscriptionSubscriptionsClaimItemCountsSeats {
/**
* Number of seats in use
*/
assigned: number;
/**
* Number of seats available for use
*/
available: number;
/**
* Total number of seats provided by this subscription
*/
limit: number;
}
interface LicensingSubscriptionSubscriptionsClaimItemEntitlement {
/**
* Seat distribution
*/
seats: outputs.administered.LicensingSubscriptionSubscriptionsClaimItemEntitlementSeats;
/**
* SKU of the required product
*/
sku: string;
}
interface LicensingSubscriptionSubscriptionsClaimItemEntitlementSeats {
/**
* Number of seats in use
*/
assigned: number;
/**
* Number of seats available for use
*/
available: number;
/**
* Total number of seats provided by this subscription for this sku
*/
limit: number;
}
interface LicensingSubscriptionSubscriptionsClaimKeyValidateItem {
/**
* Numeric breakdown of network and entitlement counts
*/
counts: outputs.administered.LicensingSubscriptionSubscriptionsClaimKeyValidateItemCounts;
/**
* Subscription description
*/
description: string;
/**
* Subscription expiration date
*/
endDate: string;
/**
* Entitlement info
*/
entitlements: outputs.administered.LicensingSubscriptionSubscriptionsClaimKeyValidateItemEntitlement[];
/**
* Subscription name
*/
name: string;
/**
* Products the subscription has entitlements for
*/
productTypes: string[];
/**
* Subscription start date
*/
startDate: string;
/**
* Subscription status
*/
status: string;
/**
* Subscription's ID
*/
subscriptionId: string;
/**
* Web order id
*/
webOrderId: string;
}
interface LicensingSubscriptionSubscriptionsClaimKeyValidateItemCounts {
/**
* Number of networks bound to this subscription
*/
networks: number;
/**
* Seat distribution
*/
seats: outputs.administered.LicensingSubscriptionSubscriptionsClaimKeyValidateItemCountsSeats;
}
interface LicensingSubscriptionSubscriptionsClaimKeyValidateItemCountsSeats {
/**
* Number of seats in use
*/
assigned: number;
/**
* Number of seats available for use
*/
available: number;
/**
* Total number of seats provided by this subscription
*/
limit: number;
}
interface LicensingSubscriptionSubscriptionsClaimKeyValidateItemEntitlement {
/**
* Seat distribution
*/
seats: outputs.administered.LicensingSubscriptionSubscriptionsClaimKeyValidateItemEntitlementSeats;
/**
* SKU of the required product
*/
sku: string;
}
interface LicensingSubscriptionSubscriptionsClaimKeyValidateItemEntitlementSeats {
/**
* Number of seats in use
*/
assigned: number;
/**
* Number of seats available for use
*/
available: number;
/**
* Total number of seats provided by this subscription for this sku
*/
limit: number;
}
interface LicensingSubscriptionSubscriptionsClaimKeyValidateParameters {
/**
* The subscription's claim key
*/
claimKey: string;
}
interface LicensingSubscriptionSubscriptionsClaimParameters {
/**
* The subscription's claim key
*/
claimKey: string;
/**
* Extra details or notes about the subscription
*/
description: string;
/**
* Friendly name to identify the subscription
*/
name: string;
/**
* The id of the organization claiming the subscription
*/
organizationId: string;
}
}
export declare namespace devices {
interface ApplianceRadioSettingsFiveGhzSettings {
/**
* Manual channel for 5 GHz
*/
channel: number;
/**
* Manual channel width for 5 GHz
*/
channelWidth: number;
/**
* Manual target power for 5 GHz
*/
targetPower: number;
}
interface ApplianceRadioSettingsTwoFourGhzSettings {
/**
* Manual channel for 2.4 GHz
*/
channel: number;
/**
* Manual target power for 2.4 GHz
*/
targetPower: number;
}
interface ApplianceUplinksSettingsInterfaces {
/**
* WAN 1 settings.
*/
wan1: outputs.devices.ApplianceUplinksSettingsInterfacesWan1;
/**
* WAN 2 settings.
*/
wan2: outputs.devices.ApplianceUplinksSettingsInterfacesWan2;
}
interface ApplianceUplinksSettingsInterfacesWan1 {
/**
* Enable or disable the interface.
*/
enabled: boolean;
/**
* Configuration options for PPPoE.
*/
pppoe: outputs.devices.ApplianceUplinksSettingsInterfacesWan1Pppoe;
/**
* SVI settings by protocol.
*/
svis: outputs.devices.ApplianceUplinksSettingsInterfacesWan1Svis;
/**
* VLAN tagging settings.
*/
vlanTagging: outputs.devices.ApplianceUplinksSettingsInterfacesWan1VlanTagging;
}
interface ApplianceUplinksSettingsInterfacesWan1Pppoe {
/**
* Settings for PPPoE Authentication.
*/
authentication: outputs.devices.ApplianceUplinksSettingsInterfacesWan1PppoeAuthentication;
/**
* Whether PPPoE is enabled.
*/
enabled: boolean;
}
interface ApplianceUplinksSettingsInterfacesWan1PppoeAuthentication {
/**
* Whether PPPoE authentication is enabled.
*/
enabled: boolean;
/**
* Password for PPPoE authentication. This parameter is not returned.
*/
password: string;
/**
* Username for PPPoE authentication.
*/
username: string;
}
interface ApplianceUplinksSettingsInterfacesWan1Svis {
/**
* IPv4 settings for static/dynamic mode.
*/
ipv4: outputs.devices.ApplianceUplinksSettingsInterfacesWan1SvisIpv4;
/**
* IPv6 settings for static/dynamic mode.
*/
ipv6: outputs.devices.ApplianceUplinksSettingsInterfacesWan1SvisIpv6;
}
interface ApplianceUplinksSettingsInterfacesWan1SvisIpv4 {
/**
* IP address and subnet mask when in static mode.
*/
address: string;
/**
* The assignment mode for this SVI. Applies only when PPPoE is disabled.
*/
assignmentMode: string;
/**
* Gateway IP address when in static mode.
*/
gateway: string;
/**
* The nameserver settings for this SVI.
*/
nameservers: outputs.devices.ApplianceUplinksSettingsInterfacesWan1SvisIpv4Nameservers;
}
interface ApplianceUplinksSettingsInterfacesWan1SvisIpv4Nameservers {
/**
* Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
*/
addresses: string[];
}
interface ApplianceUplinksSettingsInterfacesWan1SvisIpv6 {
/**
* Static address that will override the one(s) received by SLAAC.
*/
address: string;
/**
* The assignment mode for this SVI. Applies only when PPPoE is disabled.
*/
assignmentMode: string;
/**
* Static gateway that will override the one received by autoconf.
*/
gateway: string;
/**
* The nameserver settings for this SVI.
*/
nameservers: outputs.devices.ApplianceUplinksSettingsInterfacesWan1SvisIpv6Nameservers;
}
interface ApplianceUplinksSettingsInterfacesWan1SvisIpv6Nameservers {
/**
* Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
*/
addresses: string[];
}
interface ApplianceUplinksSettingsInterfacesWan1VlanTagging {
/**
* Whether VLAN tagging is enabled.
*/
enabled: boolean;
/**
* The ID of the VLAN to use for VLAN tagging.
*/
vlanId?: number;
}
interface ApplianceUplinksSettingsInterfacesWan2 {
/**
* Enable or disable the interface.
*/
enabled: boolean;
/**
* Configuration options for PPPoE.
*/
pppoe: outputs.devices.ApplianceUplinksSettingsInterfacesWan2Pppoe;
/**
* SVI settings by protocol.
*/
svis: outputs.devices.ApplianceUplinksSettingsInterfacesWan2Svis;
/**
* VLAN tagging settings.
*/
vlanTagging: outputs.devices.ApplianceUplinksSettingsInterfacesWan2VlanTagging;
}
interface ApplianceUplinksSettingsInterfacesWan2Pppoe {
/**
* Settings for PPPoE Authentication.
*/
authentication: outputs.devices.ApplianceUplinksSettingsInterfacesWan2PppoeAuthentication;
/**
* Whether PPPoE is enabled.
*/
enabled: boolean;
}
interface ApplianceUplinksSettingsInterfacesWan2PppoeAuthentication {
/**
* Whether PPPoE authentication is enabled.
*/
enabled: boolean;
/**
* Password for PPPoE authentication. This parameter is not returned.
*/
password: string;
/**
* Username for PPPoE authentication.
*/
username: string;
}
interface ApplianceUplinksSettingsInterfacesWan2Svis {
/**
* IPv4 settings for static/dynamic mode.
*/
ipv4: outputs.devices.ApplianceUplinksSettingsInterfacesWan2SvisIpv4;
/**
* IPv6 settings for static/dynamic mode.
*/
ipv6: outputs.devices.ApplianceUplinksSettingsInterfacesWan2SvisIpv6;
}
interface ApplianceUplinksSettingsInterfacesWan2SvisIpv4 {
/**
* IP address and subnet mask when in static mode.
*/
address: string;
/**
* The assignment mode for this SVI. Applies only when PPPoE is disabled.
*/
assignmentMode: string;
/**
* Gateway IP address when in static mode.
*/
gateway: string;
/**
* The nameserver settings for this SVI.
*/
nameservers: outputs.devices.ApplianceUplinksSettingsInterfacesWan2SvisIpv4Nameservers;
}
interface ApplianceUplinksSettingsInterfacesWan2SvisIpv4Nameservers {
/**
* Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
*/
addresses: string[];
}
interface ApplianceUplinksSettingsInterfacesWan2SvisIpv6 {
/**
* Static address that will override the one(s) received by SLAAC.
*/
address: string;
/**
* The assignment mode for this SVI. Applies only when PPPoE is disabled.
*/
assignmentMode: string;
/**
* Static gateway that will override the one received by autoconf.
*/
gateway: string;
/**
* The nameserver settings for this SVI.
*/
nameservers: outputs.devices.ApplianceUplinksSettingsInterfacesWan2SvisIpv6Nameservers;
}
interface ApplianceUplinksSettingsInterfacesWan2SvisIpv6Nameservers {
/**
* Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
*/
addresses: string[];
}
interface ApplianceUplinksSettingsInterfacesWan2VlanTagging {
/**
* Whether VLAN tagging is enabled.
*/
enabled: boolean;
/**
* The ID of the VLAN to use for VLAN tagging.
*/
vlanId?: number;
}
interface ApplianceVmxAuthenticationTokenItem {
/**
* The expiration time for the token, in ISO 8601 format
*/
expiresAt: string;
/**
* The newly generated authentication token for the vMX instance
*/
token: string;
}
interface BaseDetail {
/**
* Additional property name
*/
name: string;
/**
* Additional property value
*/
value: string;
}
interface BlinkLedsItem {
/**
* The duration in seconds. Will be between 5 and 120. Default is 20 seconds
*/
duration: number;
/**
* The duty cycle as the percent active. Will be between 10 and 90. Default is 50
*/
duty: number;
/**
* The period in milliseconds. Will be between 100 and 1000. Default is 160 milliseconds
*/
period: number;
}
interface BlinkLedsParameters {
/**
* The duration in seconds. Must be between 5 and 120. Default is 20 seconds
*/
duration: number;
/**
* The duty cycle as the percent active. Must be between 10 and 90. Default is 50.
*/
duty: number;
/**
* The period in milliseconds. Must be between 100 and 1000. Default is 160 milliseconds
*/
period: number;
}
interface CameraCustomAnalyticsParameter {
/**
* Name of the parameter
*/
name: string;
/**
* Value of the parameter
*/
value: number;
}
interface CameraGenerateSnapshotParameters {
/**
* [optional] If set to "true" the snapshot will be taken at full sensor resolution. This will error if used with timestamp.
*/
fullframe: boolean;
/**
* [optional] The snapshot will be taken from this time on the camera. The timestamp is expected to be in ISO 8601 format. If no timestamp is specified, we will assume current time.
*/
timestamp: string;
}
interface CameraSenseAudioDetection {
/**
* Boolean indicating if audio detection is enabled(true) or disabled(false) on the camera
*/
enabled: boolean;
}
interface CameraWirelessProfilesIds {
/**
* The id of the backup wireless profile
*/
backup: string;
/**
* The id of the primary wireless profile
*/
primary: string;
/**
* The id of the secondary wireless profile
*/
secondary: string;
}
interface CellularGatewayLanFixedIpAssignment {
/**
* The IP address you want to assign to a specific server or device
*/
ip: string;
/**
* The MAC address of the server or device that hosts the internal resource that you wish to receive the specified IP address
*/
mac: string;
/**
* A descriptive name of the assignment
*/
name: string;
}
interface CellularGatewayLanReservedIpRange {
/**
* Comment explaining the reserved IP range
*/
comment: string;
/**
* Ending IP included in the reserved range of IPs
*/
end: string;
/**
* Starting IP included in the reserved range of IPs
*/
start: string;
}
interface CellularGatewayPortForwardingRulesRule {
/**
* *any* or *restricted*. Specify the right to make inbound connections on the specified ports or port ranges. If *restricted*, a list of allowed IPs is mandatory.
*/
access: string;
/**
* An array of ranges of WAN IP addresses that are allowed to make inbound connections on the specified ports or port ranges.
*/
allowedIps: string[];
/**
* The IP address of the server or device that hosts the internal resource that you wish to make available on the WAN
*/
lanIp: string;
/**
* A port or port ranges that will receive the forwarded traffic from the WAN
*/
localPort: string;
/**
* A descriptive name for the rule
*/
name: string;
/**
* TCP or UDP
*/
protocol: string;
/**
* A port or port ranges that will be forwarded to the host on the LAN
*/
publicPort: string;
uplink: string;
}
interface CellularSimsSim {
/**
* APN configurations. If empty, the default APN will be used.
*/
apns: outputs.devices.CellularSimsSimApn[];
/**
* If true, this SIM is used for boot. Must be true on single-sim devices.
*/
isPrimary: boolean;
/**
* SIM slot being configured. Must be 'sim1' on single-sim devices.
*/
slot: string;
}
interface CellularSimsSimApn {
/**
* IP versions to support (permitted values include 'ipv4', 'ipv6').
*/
allowedIpTypes: string[];
/**
* APN authentication configurations.
*/
authentication: outputs.devices.CellularSimsSimApnAuthentication;
/**
* APN name.
*/
name: string;
}
interface CellularSimsSimApnAuthentication {
/**
* APN password, if type is set (if APN password is not supplied, the password is left unchanged).
*/
password: string;
/**
* APN auth type.
*/
type: string;
/**
* APN username, if type is set.
*/
username: string;
}
interface CellularSimsSimFailover {
/**
* Failover to secondary SIM (optional)
*/
enabled: boolean;
/**
* Failover timeout in seconds (optional)
*/
timeout: number;
}
interface GetAppliancePerformanceItem {
perfScore: number;
}
interface GetApplianceRadioSettingsItem {
/**
* Manual radio settings for 5 GHz
*/
fiveGhzSettings: outputs.devices.GetApplianceRadioSettingsItemFiveGhzSettings;
/**
* RF Profile ID
*/
rfProfileId: string;
/**
* The device serial
*/
serial: string;
/**
* Manual radio settings for 2.4 GHz
*/
twoFourGhzSettings: outputs.devices.GetApplianceRadioSettingsItemTwoFourGhzSettings;
}
interface GetApplianceRadioSettingsItemFiveGhzSettings {
/**
* Manual channel for 5 GHz
*/
channel: number;
/**
* Manual channel width for 5 GHz
*/
channelWidth: number;
/**
* Manual target power for 5 GHz
*/
targetPower: number;
}
interface GetApplianceRadioSettingsItemTwoFourGhzSettings {
/**
* Manual channel for 2.4 GHz
*/
channel: number;
/**
* Manual target power for 2.4 GHz
*/
targetPower: number;
}
interface GetApplianceUplinksSettingsItem {
/**
* Interface settings.
*/
interfaces: outputs.devices.GetApplianceUplinksSettingsItemInterfaces;
}
interface GetApplianceUplinksSettingsItemInterfaces {
/**
* WAN 1 settings.
*/
wan1: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan1;
/**
* WAN 2 settings.
*/
wan2: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan2;
}
interface GetApplianceUplinksSettingsItemInterfacesWan1 {
/**
* Enable or disable the interface.
*/
enabled: boolean;
/**
* Configuration options for PPPoE.
*/
pppoe: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan1Pppoe;
/**
* SVI settings by protocol.
*/
svis: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan1Svis;
/**
* VLAN tagging settings.
*/
vlanTagging: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan1VlanTagging;
}
interface GetApplianceUplinksSettingsItemInterfacesWan1Pppoe {
/**
* Settings for PPPoE Authentication.
*/
authentication: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan1PppoeAuthentication;
/**
* Whether PPPoE is enabled.
*/
enabled: boolean;
}
interface GetApplianceUplinksSettingsItemInterfacesWan1PppoeAuthentication {
/**
* Whether PPPoE authentication is enabled.
*/
enabled: boolean;
/**
* Username for PPPoE authentication.
*/
username: string;
}
interface GetApplianceUplinksSettingsItemInterfacesWan1Svis {
/**
* IPv4 settings for static/dynamic mode.
*/
ipv4: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan1SvisIpv4;
/**
* IPv6 settings for static/dynamic mode.
*/
ipv6: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan1SvisIpv6;
}
interface GetApplianceUplinksSettingsItemInterfacesWan1SvisIpv4 {
/**
* IP address and subnet mask when in static mode.
*/
address: string;
/**
* The assignment mode for this SVI. Applies only when PPPoE is disabled.
*/
assignmentMode: string;
/**
* Gateway IP address when in static mode.
*/
gateway: string;
/**
* The nameserver settings for this SVI.
*/
nameservers: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan1SvisIpv4Nameservers;
}
interface GetApplianceUplinksSettingsItemInterfacesWan1SvisIpv4Nameservers {
/**
* Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
*/
addresses: string[];
}
interface GetApplianceUplinksSettingsItemInterfacesWan1SvisIpv6 {
/**
* Static address that will override the one(s) received by SLAAC.
*/
address: string;
/**
* The assignment mode for this SVI. Applies only when PPPoE is disabled.
*/
assignmentMode: string;
/**
* Static gateway that will override the one received by autoconf.
*/
gateway: string;
/**
* The nameserver settings for this SVI.
*/
nameservers: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan1SvisIpv6Nameservers;
}
interface GetApplianceUplinksSettingsItemInterfacesWan1SvisIpv6Nameservers {
/**
* Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
*/
addresses: string[];
}
interface GetApplianceUplinksSettingsItemInterfacesWan1VlanTagging {
/**
* Whether VLAN tagging is enabled.
*/
enabled: boolean;
/**
* The ID of the VLAN to use for VLAN tagging.
*/
vlanId: number;
}
interface GetApplianceUplinksSettingsItemInterfacesWan2 {
/**
* Enable or disable the interface.
*/
enabled: boolean;
/**
* Configuration options for PPPoE.
*/
pppoe: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan2Pppoe;
/**
* SVI settings by protocol.
*/
svis: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan2Svis;
/**
* VLAN tagging settings.
*/
vlanTagging: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan2VlanTagging;
}
interface GetApplianceUplinksSettingsItemInterfacesWan2Pppoe {
/**
* Settings for PPPoE Authentication.
*/
authentication: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan2PppoeAuthentication;
/**
* Whether PPPoE is enabled.
*/
enabled: boolean;
}
interface GetApplianceUplinksSettingsItemInterfacesWan2PppoeAuthentication {
/**
* Whether PPPoE authentication is enabled.
*/
enabled: boolean;
/**
* Username for PPPoE authentication.
*/
username: string;
}
interface GetApplianceUplinksSettingsItemInterfacesWan2Svis {
/**
* IPv4 settings for static/dynamic mode.
*/
ipv4: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan2SvisIpv4;
/**
* IPv6 settings for static/dynamic mode.
*/
ipv6: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan2SvisIpv6;
}
interface GetApplianceUplinksSettingsItemInterfacesWan2SvisIpv4 {
/**
* IP address and subnet mask when in static mode.
*/
address: string;
/**
* The assignment mode for this SVI. Applies only when PPPoE is disabled.
*/
assignmentMode: string;
/**
* Gateway IP address when in static mode.
*/
gateway: string;
/**
* The nameserver settings for this SVI.
*/
nameservers: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan2SvisIpv4Nameservers;
}
interface GetApplianceUplinksSettingsItemInterfacesWan2SvisIpv4Nameservers {
/**
* Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
*/
addresses: string[];
}
interface GetApplianceUplinksSettingsItemInterfacesWan2SvisIpv6 {
/**
* Static address that will override the one(s) received by SLAAC.
*/
address: string;
/**
* The assignment mode for this SVI. Applies only when PPPoE is disabled.
*/
assignmentMode: string;
/**
* Static gateway that will override the one received by autoconf.
*/
gateway: string;
/**
* The nameserver settings for this SVI.
*/
nameservers: outputs.devices.GetApplianceUplinksSettingsItemInterfacesWan2SvisIpv6Nameservers;
}
interface GetApplianceUplinksSettingsItemInterfacesWan2SvisIpv6Nameservers {
/**
* Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
*/
addresses: string[];
}
interface GetApplianceUplinksSettingsItemInterfacesWan2VlanTagging {
/**
* Whether VLAN tagging is enabled.
*/
enabled: boolean;
/**
* The ID of the VLAN to use for VLAN tagging.
*/
vlanId: number;
}
interface GetCameraAnalyticsLiveItem {
ts: string;
zones: outputs.devices.GetCameraAnalyticsLiveItemZones;
}
interface GetCameraAnalyticsLiveItemZones {
status0: outputs.devices.GetCameraAnalyticsLiveItemZonesStatus0;
}
interface GetCameraAnalyticsLiveItemZonesStatus0 {
person: number;
}
interface GetCameraCustomAnalyticsItem {
/**
* Custom analytics artifact ID
*/
artifactId: string;
/**
* Whether custom analytics is enabled
*/
enabled: boolean;
/**
* Parameters for the custom analytics workload
*/
parameters: outputs.devices.GetCameraCustomAnalyticsItemParameter[];
}
interface GetCameraCustomAnalyticsItemParameter {
/**
* Name of the parameter
*/
name: string;
/**
* Value of the parameter
*/
value: number;
}
interface GetCameraQualityAndRetentionItem {
audioRecordingEnabled: boolean;
motionBasedRetentionEnabled: boolean;
motionDetectorVersion: number;
profileId: string;
quality: string;
resolution: string;
restrictedBandwidthModeEnabled: boolean;
}
interface GetCameraSenseItem {
audioDetection: outputs.devices.GetCameraSenseItemAudioDetection;
mqttBrokerId: string;
mqttTopics: string[];
senseEnabled: boolean;
}
interface GetCameraSenseItemAudioDetection {
enabled: boolean;
}
interface GetCameraVideoLinkItem {
url: string;
visionUrl: string;
}
interface GetCameraVideoSettingsItem {
/**
* Boolean indicating if external rtsp stream is exposed
*/
externalRtspEnabled: boolean;
/**
* External rstp url. Will only be returned if external rtsp stream is exposed
*/
rtspUrl: string;
}
interface GetCameraWirelessProfilesItem {
ids: outputs.devices.GetCameraWirelessProfilesItemIds;
}
interface GetCameraWirelessProfilesItemIds {
backup: string;
primary: string;
secondary: string;
}
interface GetCellularGatewayLanItem {
/**
* Lan IP of the MG
*/
deviceLanIp: string;
/**
* Name of the MG.
*/
deviceName: string;
/**
* Subnet configuration of the MG.
*/
deviceSubnet: string;
/**
* list of all fixed IP assignments for a single MG
*/
fixedIpAssignments: outputs.devices.GetCellularGatewayLanItemFixedIpAssignment[];
/**
* list of all reserved IP ranges for a single MG
*/
reservedIpRanges: outputs.devices.GetCellularGatewayLanItemReservedIpRange[];
}
interface GetCellularGatewayLanItemFixedIpAssignment {
/**
* The IP address you want to assign to a specific server or device
*/
ip: string;
/**
* The MAC address of the server or device that hosts the internal resource that you wish to receive the specified IP address
*/
mac: string;
/**
* A descriptive name of the assignment
*/
name: string;
}
interface GetCellularGatewayLanItemReservedIpRange {
/**
* Comment explaining the reserved IP range
*/
comment: string;
/**
* Ending IP included in the reserved range of IPs
*/
end: string;
/**
* Starting IP included in the reserved range of IPs
*/
start: string;
}
interface GetCellularGatewayPortForwardingRulesItem {
rules: outputs.devices.GetCellularGatewayPortForwardingRulesItemRule[];
}
interface GetCellularGatewayPortForwardingRulesItemRule {
access: string;
lanIp: string;
localPort: string;
name: string;
protocol: string;
publicPort: string;
uplink: string;
}
interface GetCellularSimsItem {
sims: outputs.devices.GetCellularSimsItemSim[];
}
interface GetCellularSimsItemSim {
apns: outputs.devices.GetCellularSimsItemSimApn[];
isPrimary: boolean;
slot: string;
}
interface GetCellularSimsItemSimApn {
allowedIpTypes: string[];
authentication: outputs.devices.GetCellularSimsItemSimApnAuthentication;
name: string;
}
interface GetCellularSimsItemSimApnAuthentication {
type: string;
username: string;
}
interface GetLiveToolsArpTableItem {
/**
* Id of the ARP table request. Used to check the status of the request.
*/
arpTableId: string;
/**
* The ARP table entries
*/
entries: outputs.devices.GetLiveToolsArpTableItemEntry[];
/**
* An error message for a failed execution
*/
error: string;
/**
* ARP table request parameters
*/
request: outputs.devices.GetLiveToolsArpTableItemRequest;
/**
* Status of the ARP table request.
*/
status: string;
/**
* GET this url to check the status of your ARP table request.
*/
url: string;
}
interface GetLiveToolsArpTableItemEntry {
/**
* The IP address of the ARP table entry
*/
ip: string;
/**
* Time of the last update of the ARP table entry
*/
lastUpdatedAt: string;
/**
* The MAC address of the ARP table entry
*/
mac: string;
/**
* The VLAN ID of the ARP table entry
*/
vlanId: number;
}
interface GetLiveToolsArpTableItemRequest {
/**
* Device serial number
*/
serial: string;
}
interface GetLiveToolsCableTestItem {
/**
* Id of the cable test request. Used to check the status of the request.
*/
cableTestId: string;
/**
* An error message for a failed execution
*/
error: string;
/**
* Cable test request parameters
*/
request: outputs.devices.GetLiveToolsCableTestItemRequest;
/**
* Results of the cable test request, one for each requested port.
*/
results: outputs.devices.GetLiveToolsCableTestItemResult[];
/**
* Status of the cable test request.
*/
status: string;
/**
* GET this url to check the status of your cable test request.
*/
url: string;
}
interface GetLiveToolsCableTestItemRequest {
/**
* A list of ports for which to perform the cable test.
*/
ports: string[];
/**
* Device serial number
*/
serial: string;
}
interface GetLiveToolsCableTestItemResult {
/**
* If an error occurred during the cable test, the error message will be populated here.
*/
error: string;
/**
* Results for each twisted pair within the cable.
*/
pairs: outputs.devices.GetLiveToolsCableTestItemResultPair[];
/**
* The port for which the test was performed.
*/
port: string;
/**
* Speed in Mbps. A speed of 0 indicates the port is down or the port speed is automatic.
*/
speedMbps: number;
/**
* The current status of the port. If the cable test is still being performed on the port, "in-progress" is used. If an error occurred during the cable test, "error" is used and the error property will be populated.
*/
status: string;
}
interface GetLiveToolsCableTestItemResultPair {
/**
* The index of the twisted pair tested.
*/
index: number;
/**
* The detected length of the twisted pair.
*/
lengthMeters: number;
/**
* The test result of the twisted pair tested.
*/
status: string;
}
interface GetLiveToolsPingDeviceItem {
/**
* Information for callback used to send back results
*/
callback: outputs.devices.GetLiveToolsPingDeviceItemCallback;
/**
* Id to check the status of your ping request.
*/
pingId: string;
/**
* Ping request parameters
*/
request: outputs.devices.GetLiveToolsPingDeviceItemRequest;
/**
* Results of the ping request.
*/
results: outputs.devices.GetLiveToolsPingDeviceItemResults;
/**
* Status of the ping request.
*/
status: string;
/**
* GET this url to check the status of your ping request.
*/
url: string;
}
interface G