UNPKG

@pulumi/linode

Version:

A Pulumi package for creating and managing linode cloud resources.

1,728 lines 219 kB
import * as outputs from "../types/output"; export interface DatabaseMysqlUpdates { /** * The day to perform maintenance. */ dayOfWeek: string; /** * The maximum maintenance window time in hours. */ duration: number; /** * Whether maintenance occurs on a weekly or monthly basis. */ frequency: string; /** * The hour to begin maintenance based in UTC time. */ hourOfDay: number; /** * The week of the month to perform monthly frequency updates. Required for monthly frequency updates. */ weekOfMonth?: number; } export interface DatabaseMysqlV2PendingUpdate { /** * The time when a mandatory update needs to be applied. */ deadline: string; /** * A description of the update. */ description: string; /** * The date and time a maintenance update will be applied. */ plannedFor: string; } export interface DatabaseMysqlV2PrivateNetwork { /** * Set to `true` to allow clients outside of the VPC to connect to the database using a public IP address. */ publicAccess: boolean; /** * The ID of the VPC subnet to restrict access to this database using. */ subnetId: number; /** * The ID of the virtual private cloud (VPC) to restrict access to this database using. */ vpcId: number; } export interface DatabaseMysqlV2Timeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). */ create?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. */ delete?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). */ update?: string; } export interface DatabaseMysqlV2Updates { /** * The numeric reference for the day of the week to perform maintenance. 1 is Monday, 2 is Tuesday, through to 7 which is Sunday. */ dayOfWeek: number; /** * The maximum maintenance window time in hours. */ duration: number; /** * How frequently maintenance occurs. Currently can only be weekly. */ frequency: string; /** * How frequently maintenance occurs. Currently can only be weekly. */ hourOfDay: number; } export interface DatabasePostgresqlUpdates { /** * The day to perform maintenance. */ dayOfWeek: string; /** * The maximum maintenance window time in hours. */ duration: number; /** * Whether maintenance occurs on a weekly or monthly basis. */ frequency: string; /** * The hour to begin maintenance based in UTC time. */ hourOfDay: number; /** * The week of the month to perform monthly frequency updates. Required for monthly frequency updates. */ weekOfMonth?: number; } export interface DatabasePostgresqlV2PendingUpdate { /** * The time when a mandatory update needs to be applied. */ deadline: string; /** * A description of the update. */ description: string; /** * The date and time a maintenance update will be applied. */ plannedFor: string; } export interface DatabasePostgresqlV2PrivateNetwork { /** * Set to `true` to allow clients outside of the VPC to connect to the database using a public IP address. */ publicAccess: boolean; /** * The ID of the VPC subnet to restrict access to this database using. */ subnetId: number; /** * The ID of the virtual private cloud (VPC) to restrict access to this database using. */ vpcId: number; } export interface DatabasePostgresqlV2Timeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). */ create?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. */ delete?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). */ update?: string; } export interface DatabasePostgresqlV2Updates { /** * The numeric reference for the day of the week to perform maintenance. 1 is Monday, 2 is Tuesday, through to 7 which is Sunday. */ dayOfWeek: number; /** * The maximum maintenance window time in hours. */ duration: number; /** * How frequently maintenance occurs. Currently can only be weekly. */ frequency: string; /** * How frequently maintenance occurs. Currently can only be weekly. */ hourOfDay: number; } export interface FirewallDevice { /** * The ID of the underlying entity this device references (i.e. the Linode's ID). */ entityId: number; /** * The ID of the Firewall Device. */ id: number; /** * This Firewall's unique label. */ label: string; /** * The type of Firewall Device. */ type: string; /** * The URL of the underlying entity this device references. */ url: string; } export interface FirewallInbound { /** * Controls whether traffic is accepted or dropped by this rule (`ACCEPT`, `DROP`). Overrides the Firewall’s inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule. */ action: string; /** * Used to describe this rule. For display purposes only. */ description: string; /** * A list of IPv4 addresses or networks. Must be in IP/mask (CIDR) format. */ ipv4s?: string[]; /** * A list of IPv6 addresses or networks. Must be in IP/mask (CIDR) format. */ ipv6s?: string[]; /** * Used to identify this rule. For display purposes only. */ label: string; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports?: string; /** * The network protocol this rule controls. (`TCP`, `UDP`, `ICMP`) */ protocol: string; } export interface FirewallOutbound { /** * Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall's inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule. */ action: string; /** * Used to describe this rule. For display purposes only. */ description: string; /** * A list of CIDR blocks or 0.0.0.0/0 (to allow all) this rule applies to. */ ipv4s?: string[]; /** * A list of IPv6 addresses or networks this rule applies to. */ ipv6s?: string[]; /** * This Firewall's unique label. */ label: string; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports?: string; /** * The network protocol this rule controls. */ protocol: string; } export interface FirewallSettingsDefaultFirewallIds { /** * The Linode's default firewall. */ linode: number; /** * The NodeBalancer's default firewall. */ nodebalancer: number; /** * The public interface's default firewall. */ publicInterface: number; /** * The VPC interface's default firewall. */ vpcInterface: number; } export interface GetAccountAvailabilitiesAvailability { /** * A set of services which are available for the given region. */ availables: string[]; /** * The region this availability entry refers to. */ region: string; /** * A set of services that are unavailable for the given region. */ unavailables: string[]; } export interface GetAccountAvailabilitiesFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetAccountLoginsFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetAccountLoginsLogin { /** * When the login was initiated. */ datetime: string; /** * The unique ID of this login object. */ id: number; /** * The remote IP address that requested the login. */ ip: string; /** * True if the User that was logged into was a restricted User, false otherwise. */ restricted: boolean; /** * Whether the login attempt succeeded or failed. */ status: string; /** * The username of the User that was logged into. */ username: string; } export interface GetChildAccountsChildAccount { /** * When this account was first activated */ activeSince: string; /** * First line of this Account's billing address. */ address1: string; /** * Second line of this Account's billing address. */ address2: string; /** * This Account's balance, in US dollars. */ balance: number; /** * A set containing all the capabilities of this Account. */ capabilities: string[]; /** * The city for this Account's billing address. */ city: string; /** * The company name associated with this Account. */ company: string; /** * The two-letter country code of this Account's billing address. */ country: string; /** * The email address for this Account, for account management communications, and may be used for other communications as configured. */ email: string; /** * The unique ID of this Account. */ euuid: string; /** * The first name of the person associated with this Account. */ firstName: string; /** * The Email of the Account. */ id: string; /** * The last name of the person associated with this Account. */ lastName: string; /** * The phone number associated with this Account. */ phone: string; /** * If billing address is in the United States, this is the State portion of the Account's billing address. If the address is outside the US, this is the Province associated with the Account's billing address. */ state: string; /** * The zip code of this Account's billing address. */ zip: string; } export interface GetChildAccountsFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetConsumerImageShareGroupImageSharesFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetConsumerImageShareGroupImageSharesImageShare { /** * The capabilities of the Image represented by the Image Share. */ capabilities: string[]; /** * When this Image Share was created. */ created: string; /** * Whether this Image is deprecated. */ deprecated: boolean; /** * A description of the Image Share. */ description: string; /** * The unique ID assigned to this Image Share. */ id: string; /** * Details about image sharing, including who the image is shared with and by. */ imageSharing: outputs.GetConsumerImageShareGroupImageSharesImageShareImageSharing; /** * True if the Image is public. */ isPublic: boolean; /** * The label of the Image Share. */ label: string; /** * The minimum size this Image needs to deploy. Size is in MB. example: 2500 */ size: number; /** * The current status of this image. (`creating`, `pendingUpload`, `available`) */ status: string; /** * A list of customized tags. */ tags: string[]; /** * The total size of the image in all available regions. */ totalSize: number; /** * How the Image was created. Manual Images can be created at any time. "Automatic" Images are created automatically from a deleted Linode. (`manual`, `automatic`) */ type: string; } export interface GetConsumerImageShareGroupImageSharesImageShareImageSharing { /** * Details about who the image is shared by. */ sharedBy: outputs.GetConsumerImageShareGroupImageSharesImageShareImageSharingSharedBy; /** * Details about who the image is shared with. */ sharedWith: outputs.GetConsumerImageShareGroupImageSharesImageShareImageSharingSharedWith; } export interface GetConsumerImageShareGroupImageSharesImageShareImageSharingSharedBy { /** * The sharegroupId from the im_ImageShare row. */ sharegroupId: number; /** * The label from the associated im_ImageShareGroup row. */ sharegroupLabel: string; /** * The sharegroupUuid from the im_ImageShare row. */ sharegroupUuid: string; /** * The image id of the base image (will only be shown to producers, will be null for consumers). */ sourceImageId: string; } export interface GetConsumerImageShareGroupImageSharesImageShareImageSharingSharedWith { /** * The number of sharegroups the private image is present in. */ sharegroupCount: number; /** * The GET api url to view the sharegroups in which the image is shared. */ sharegroupListUrl: string; } export interface GetConsumerImageShareGroupTokensFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetConsumerImageShareGroupTokensToken { /** * When the token was created. */ created: string; /** * When the token will expire. */ expiry: string; /** * A label for the token. */ label: string; /** * The label of the Image Share Group that the token is for. */ sharegroupLabel: string; /** * The UUID of the Image Share Group that the token is for. */ sharegroupUuid: string; /** * The status of the token. */ status: string; /** * The UUID of the token. */ tokenUuid: string; /** * When the token was last updated. */ updated: string; /** * The UUID of the Image Share Group for which to create a token. */ validForSharegroupUuid: string; } export interface GetDatabaseBackupsBackup { /** * A time value given in a combined date and time format that represents when the database backup was created. */ created: string; /** * The ID of the database backup object. */ id: number; /** * The database backup’s label, for display purposes only. */ label: string; /** * The type of database backup, determined by how the backup was created. */ type: string; } export interface GetDatabaseBackupsFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetDatabaseEnginesEngine { /** * The Managed Database engine type. */ engine: string; /** * The Managed Database engine ID in engine/version format. */ id: string; /** * The Managed Database engine version. */ version: string; } export interface GetDatabaseEnginesFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetDatabaseMysqlBackupsBackup { /** * A time value given in a combined date and time format that represents when the database backup was created. */ created: string; /** * The ID of the database backup object. */ id: number; /** * The database backup’s label, for display purposes only. */ label: string; /** * The type of database backup, determined by how the backup was created. */ type: string; } export interface GetDatabaseMysqlBackupsFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetDatabaseMysqlConfigBinlogRetentionPeriod { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysql { connectTimeout: outputs.GetDatabaseMysqlConfigMysqlConnectTimeout; defaultTimeZone: outputs.GetDatabaseMysqlConfigMysqlDefaultTimeZone; groupConcatMaxLen: outputs.GetDatabaseMysqlConfigMysqlGroupConcatMaxLen; informationSchemaStatsExpiry: outputs.GetDatabaseMysqlConfigMysqlInformationSchemaStatsExpiry; innodbChangeBufferMaxSize: outputs.GetDatabaseMysqlConfigMysqlInnodbChangeBufferMaxSize; innodbFlushNeighbors: outputs.GetDatabaseMysqlConfigMysqlInnodbFlushNeighbors; innodbFtMinTokenSize: outputs.GetDatabaseMysqlConfigMysqlInnodbFtMinTokenSize; innodbFtServerStopwordTable: outputs.GetDatabaseMysqlConfigMysqlInnodbFtServerStopwordTable; innodbLockWaitTimeout: outputs.GetDatabaseMysqlConfigMysqlInnodbLockWaitTimeout; innodbLogBufferSize: outputs.GetDatabaseMysqlConfigMysqlInnodbLogBufferSize; innodbOnlineAlterLogMaxSize: outputs.GetDatabaseMysqlConfigMysqlInnodbOnlineAlterLogMaxSize; innodbReadIoThreads: outputs.GetDatabaseMysqlConfigMysqlInnodbReadIoThreads; innodbRollbackOnTimeout: outputs.GetDatabaseMysqlConfigMysqlInnodbRollbackOnTimeout; innodbThreadConcurrency: outputs.GetDatabaseMysqlConfigMysqlInnodbThreadConcurrency; innodbWriteIoThreads: outputs.GetDatabaseMysqlConfigMysqlInnodbWriteIoThreads; interactiveTimeout: outputs.GetDatabaseMysqlConfigMysqlInteractiveTimeout; internalTmpMemStorageEngine: outputs.GetDatabaseMysqlConfigMysqlInternalTmpMemStorageEngine; maxAllowedPacket: outputs.GetDatabaseMysqlConfigMysqlMaxAllowedPacket; maxHeapTableSize: outputs.GetDatabaseMysqlConfigMysqlMaxHeapTableSize; netBufferLength: outputs.GetDatabaseMysqlConfigMysqlNetBufferLength; netReadTimeout: outputs.GetDatabaseMysqlConfigMysqlNetReadTimeout; netWriteTimeout: outputs.GetDatabaseMysqlConfigMysqlNetWriteTimeout; sortBufferSize: outputs.GetDatabaseMysqlConfigMysqlSortBufferSize; sqlMode: outputs.GetDatabaseMysqlConfigMysqlSqlMode; sqlRequirePrimaryKey: outputs.GetDatabaseMysqlConfigMysqlSqlRequirePrimaryKey; tmpTableSize: outputs.GetDatabaseMysqlConfigMysqlTmpTableSize; waitTimeout: outputs.GetDatabaseMysqlConfigMysqlWaitTimeout; } export interface GetDatabaseMysqlConfigMysqlConnectTimeout { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlDefaultTimeZone { description: string; example: string; maxLength: number; minLength: number; pattern: string; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlGroupConcatMaxLen { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInformationSchemaStatsExpiry { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbChangeBufferMaxSize { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbFlushNeighbors { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbFtMinTokenSize { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbFtServerStopwordTable { description: string; example: string; maxLength: number; pattern: string; requiresRestart: boolean; types: string[]; } export interface GetDatabaseMysqlConfigMysqlInnodbLockWaitTimeout { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbLogBufferSize { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbOnlineAlterLogMaxSize { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbReadIoThreads { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbRollbackOnTimeout { description: string; example: boolean; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbThreadConcurrency { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInnodbWriteIoThreads { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInteractiveTimeout { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlInternalTmpMemStorageEngine { description: string; enums: string[]; example: string; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlMaxAllowedPacket { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlMaxHeapTableSize { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlNetBufferLength { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlNetReadTimeout { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlNetWriteTimeout { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlSortBufferSize { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlSqlMode { description: string; example: string; maxLength: number; pattern: string; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlSqlRequirePrimaryKey { description: string; example: boolean; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlTmpTableSize { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlConfigMysqlWaitTimeout { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabaseMysqlUpdate { dayOfWeek: string; duration: number; frequency: string; hourOfDay: number; weekOfMonth: number; } export interface GetDatabaseMysqlV2PendingUpdate { /** * The time when a mandatory update needs to be applied. */ deadline: string; /** * A description of the update. */ description: string; /** * The date and time a maintenance update will be applied. */ plannedFor: string; } export interface GetDatabaseMysqlV2PrivateNetwork { /** * If true, clients outside of the VPC can connect to the database using a public IP address. */ publicAccess: boolean; /** * The ID of the VPC subnet to restrict access to this database using. */ subnetId: number; /** * The ID of the virtual private cloud (VPC) to restrict access to this database using. */ vpcId: number; } export interface GetDatabaseMysqlV2Updates { /** * The numeric reference for the day of the week to perform maintenance. 1 is Monday, 2 is Tuesday, through to 7 which is Sunday. */ dayOfWeek: number; /** * The maximum maintenance window time in hours. */ duration: number; /** * How frequently maintenance occurs. Currently can only be weekly. */ frequency: string; /** * The hour of the day (0-23) when maintenance occurs. */ hourOfDay: number; } export interface GetDatabasePostgresqlConfigPgStatMonitorEnable { description: string; requiresRestart: boolean; type: string; } export interface GetDatabasePostgresqlConfigPglookout { maxFailoverReplicationTimeLag: outputs.GetDatabasePostgresqlConfigPglookoutMaxFailoverReplicationTimeLag; } export interface GetDatabasePostgresqlConfigPglookoutMaxFailoverReplicationTimeLag { description: string; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabasePostgresqlConfigSharedBuffersPercentage { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabasePostgresqlConfigWorkMem { description: string; example: number; maximum: number; minimum: number; requiresRestart: boolean; type: string; } export interface GetDatabasePostgresqlUpdate { dayOfWeek: string; duration: number; frequency: string; hourOfDay: number; weekOfMonth: number; } export interface GetDatabasePostgresqlV2PendingUpdate { /** * The time when a mandatory update needs to be applied. */ deadline: string; /** * A description of the update. */ description: string; /** * The date and time a maintenance update will be applied. */ plannedFor: string; } export interface GetDatabasePostgresqlV2PrivateNetwork { /** * If true, clients outside of the VPC can connect to the database using a public IP address. */ publicAccess: boolean; /** * The ID of the VPC subnet to restrict access to this database using. */ subnetId: number; /** * The ID of the virtual private cloud (VPC) to restrict access to this database using. */ vpcId: number; } export interface GetDatabasePostgresqlV2Updates { /** * The numeric reference for the day of the week to perform maintenance. 1 is Monday, 2 is Tuesday, through to 7 which is Sunday. */ dayOfWeek: number; /** * The maximum maintenance window time in hours. */ duration: number; /** * How frequently maintenance occurs. Currently can only be weekly. */ frequency: string; /** * How frequently maintenance occurs. Currently can only be weekly. */ hourOfDay: number; } export interface GetDatabasesDatabase { /** * A list of IP addresses that can access the Managed Database. */ allowLists: string[]; /** * The number of Linode Instance nodes deployed to the Managed Database. */ clusterSize: number; /** * When this Managed Database was created. */ created: string; /** * Whether the Managed Databases is encrypted. */ encrypted: boolean; /** * The Managed Database engine. */ engine: string; /** * The primary host for the Managed Database. */ hostPrimary: string; /** * The secondary/private network host for the Managed Database. */ hostSecondary: string; /** * The ID of the Managed Database. */ id: number; /** * he API route for the database instance. */ instanceUri: string; /** * A unique, user-defined string referring to the Managed Database. */ label: string; /** * Restricts access to this database using a virtual private cloud (VPC) that you've configured in the region where the database will live. */ privateNetwork: outputs.GetDatabasesDatabasePrivateNetwork; /** * The region to use for the Managed Database. */ region: string; /** * The replication method used for the Managed Database. */ replicationType: string; /** * Whether to require SSL credentials to establish a connection to the Managed Database. */ sslConnection: boolean; /** * The operating status of the Managed Database. */ status: string; /** * The Linode Instance type used for the nodes of the Managed Database instance. */ type: string; /** * When this Managed Database was last updated. */ updated: string; /** * The Managed Database engine version. */ version: string; } export interface GetDatabasesDatabasePrivateNetwork { /** * If true, clients outside of the VPC can connect to the database using a public IP address. */ publicAccess: boolean; /** * The ID of the VPC subnet to restrict access to this database using. */ subnetId: number; /** * The ID of the virtual private cloud (VPC) to restrict access to this database using. */ vpcId: number; } export interface GetDatabasesFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetDomainsDomain { /** * The list of IPs that may perform a zone transfer for this Domain. */ axfrIps: string[]; /** * A description for this Domain. */ description: string; /** * The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain */ domain?: string; /** * The amount of time in seconds that may pass before this Domain is no longer authoritative. */ expireSec: number; /** * The group this Domain belongs to. */ group: string; /** * The unique ID of this Domain. */ id?: number; /** * The IP addresses representing the master DNS for this Domain. */ masterIps: string[]; /** * The amount of time in seconds before this Domain should be refreshed. */ refreshSec: number; /** * The interval, in seconds, at which a failed refresh should be retried. */ retrySec: number; /** * Start of Authority email address. */ soaEmail: string; /** * Used to control whether this Domain is currently being rendered. (`disabled`, `active`) */ status: string; /** * An array of tags applied to this object. Tags are case-insensitive and are for organizational purposes only. */ tags: string[]; /** * 'Time to Live'-the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. */ ttlSec: number; /** * If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave) (`master`, `slave`) */ type: string; } export interface GetDomainsFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetFirewallDevice { /** * The ID of the underlying entity this device references (i.e. the Linode's ID). */ entityId: number; /** * The Firewall's ID. */ id: number; /** * The label of the underlying entity this device references. */ label: string; /** * The type of Firewall Device. */ type: string; /** * The URL of the underlying entity this device references. */ url: string; } export interface GetFirewallInbound { /** * Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule. */ action: string; description: string; /** * A list of IPv4 addresses or networks. Must be in IP/mask format. */ ipv4s: string[]; /** * A list of IPv6 addresses or networks. Must be in IP/mask format. */ ipv6s: string[]; /** * The label of the underlying entity this device references. */ label: string; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports: string; /** * The network protocol this rule controls. (`TCP`, `UDP`, `ICMP`) */ protocol: string; } export interface GetFirewallOutbound { /** * Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule. */ action: string; description: string; /** * A list of IPv4 addresses or networks. Must be in IP/mask format. */ ipv4s: string[]; /** * A list of IPv6 addresses or networks. Must be in IP/mask format. */ ipv6s: string[]; /** * The label of the underlying entity this device references. */ label: string; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports: string; /** * The network protocol this rule controls. (`TCP`, `UDP`, `ICMP`) */ protocol: string; } export interface GetFirewallSettingsDefaultFirewallIds { linode: number; nodebalancer: number; publicInterface: number; vpcInterface: number; } export interface GetFirewallTemplateInbound { action: string; description: string; ipv4s: string[]; ipv6s: string[]; label: string; ports: string; protocol: string; } export interface GetFirewallTemplateOutbound { action: string; description: string; ipv4s: string[]; ipv6s: string[]; label: string; ports: string; protocol: string; } export interface GetFirewallTemplatesFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetFirewallTemplatesFirewallTemplate { /** * The default behavior for inbound traffic. */ inboundPolicy: string; /** * A list of firewall rules specifying allowed inbound network traffic. */ inbounds: outputs.GetFirewallTemplatesFirewallTemplateInbound[]; /** * The default behavior for outbound traffic. */ outboundPolicy: string; /** * A list of firewall rules specifying allowed outbound network traffic. */ outbounds: outputs.GetFirewallTemplatesFirewallTemplateOutbound[]; /** * The slug of the firewall template. */ slug: string; } export interface GetFirewallTemplatesFirewallTemplateInbound { action: string; description: string; ipv4s: string[]; ipv6s: string[]; label: string; ports: string; protocol: string; } export interface GetFirewallTemplatesFirewallTemplateOutbound { action: string; description: string; ipv4s: string[]; ipv6s: string[]; label: string; ports: string; protocol: string; } export interface GetFirewallsFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetFirewallsFirewall { /** * When this firewall was created. */ created: string; /** * The devices associated with this firewall. */ devices: outputs.GetFirewallsFirewallDevice[]; /** * If true, the Firewall is inactive. */ disabled: boolean; /** * The unique ID assigned to this Firewall. */ id: number; /** * The default behavior for inbound traffic. */ inboundPolicy: string; /** * A set of firewall rules that specify what inbound network traffic is allowed. */ inbounds: outputs.GetFirewallsFirewallInbound[]; /** * The IDs of Linode Interfaces this firewall is applied to. */ interfaces: number[]; /** * The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned. */ label: string; /** * The IDs of Linodes this firewall is applied to. */ linodes: number[]; /** * The IDs of NodeBalancers this firewall is applied to. */ nodebalancers: number[]; /** * The default behavior for outbound traffic. */ outboundPolicy: string; /** * A set of firewall rules that specify what outbound network traffic is allowed. */ outbounds: outputs.GetFirewallsFirewallOutbound[]; /** * The status of the firewall. */ status: string; /** * An array of tags applied to this object. Tags are case-insensitive and are for organizational purposes only. */ tags: string[]; /** * When this firewall was last updated. */ updated: string; } export interface GetFirewallsFirewallDevice { /** * The ID of the underlying entity this device references (i.e. the Linode's ID). */ entityId: number; /** * The unique ID assigned to this Firewall. */ id: number; /** * The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned. */ label: string; /** * The type of Firewall Device. */ type: string; /** * The URL of the underlying entity this device references. */ url: string; } export interface GetFirewallsFirewallInbound { /** * Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP). */ action: string; /** * A list of IPv4 addresses or networks in IP/mask format. */ ipv4s: string[]; /** * A list of IPv6 addresses or networks in IP/mask format. */ ipv6s: string[]; /** * The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned. */ label: string; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports: string; /** * The network protocol this rule controls. (TCP, UDP, ICMP) */ protocol: string; } export interface GetFirewallsFirewallOutbound { /** * Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP). */ action: string; /** * A list of IPv4 addresses or networks in IP/mask format. */ ipv4s: string[]; /** * A list of IPv6 addresses or networks in IP/mask format. */ ipv6s: string[]; /** * The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned. */ label: string; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports: string; /** * The network protocol this rule controls. (TCP, UDP, ICMP) */ protocol: string; } export interface GetImageImageSharing { /** * Details about who the image is shared by. */ sharedBy: outputs.GetImageImageSharingSharedBy; /** * Details about who the image is shared with. */ sharedWith: outputs.GetImageImageSharingSharedWith; } export interface GetImageImageSharingSharedBy { /** * The sharegroupId from the im_ImageShare row. */ sharegroupId: number; /** * The label from the associated im_ImageShareGroup row. */ sharegroupLabel: string; /** * The sharegroupUuid from the im_ImageShare row. */ sharegroupUuid: string; /** * The image id of the base image (will only be shown to producers, will be null for consumers). */ sourceImageId: string; } export interface GetImageImageSharingSharedWith { /** * The number of sharegroups the private image is present in. */ sharegroupCount: number; /** * The GET api url to view the sharegroups in which the image is shared. */ sharegroupListUrl: string; } export interface GetImageReplication { /** * The region of an image replica. */ region: string; /** * The status of an image replica. */ status: string; } export interface GetImagesFilter { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: string; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: string; /** * A list of values for the filter to allow. These values should all be in string form. */ values: string[]; } export interface GetImagesImage { /** * The capabilities of this Image. */ capabilities: string[]; /** * When this Image was created. */ created: string; /** * The name of the User who created this Image, or "linode" for official Images. */ createdBy: string; /** * Whether or not this Image is deprecated. Will only be true for deprecated public Images. */ deprecated: boolean; /** * A detailed description of this Image. */ description: string; /** * Only Images created automatically (from a deleted Linode; type=automatic) will expire. */ expiry: string; /** * The unique ID of this Image. The ID of private images begin with `private/` followed by the numeric identifier of the private image, for example `private/12345`. */ id: string; /** * Details about image sharing, including who the image is shared with and by. (**Note: v4beta only and may not currently be available to all users.**) */ imageSharing: outputs.GetImagesImageImageSharing; /** * True if the Image is public. */ isPublic: boolean; /** * True if the Image is shared. (**Note: v4beta only and may not currently be available to all users.**) */ isShared: boolean; /** * A short description of the Image. */ label: string; /** * A list of image replication regions and corresponding status. */ replications: outputs.GetImagesImageReplication[]; /** * The minimum size this Image needs to deploy. Size is in MB. example: 2500 */ size: number; /** * The status of an image replica. */ status: string; /** * A list of customized tags. */ tags: string[]; /** * The total size of the image in all available regions. */ totalSize: number; /** * How the Image was created. Manual Images can be created at any time. "Automatic" Images are created automatically from a deleted Linode. (`manual`, `automatic`) */ type: string; /** * The upstream distribution vendor. `None` for private Images. */ vendor: string; } export interface GetImagesImageImageSharing { /** * Details about who the image is shared by. */ sharedBy: outputs.GetImagesImageImageSharingSharedBy; /** * Details about who the image is shared with. */ sharedWith: outputs.GetImagesImageImageSharingSharedWith; } export interface GetImagesImageImageSharingSharedBy { /** * The sharegroupId from the im_ImageShare row. */ sharegroupId: number; /** * The label from the associated im_ImageShareGroup row. */ sharegroupLabel: string; /** * The sharegroupUuid from the im_ImageShare row. */ sharegroupUuid: string; /** * The image id of the base image (will only be shown to producers, will be null for consumers). */ sourceImageId: string; } export interface GetImagesImageImageSharingSharedWith { /** * The number of sharegroups the private image is present in. */ sharegroupCount: number; /** * The GET api url to view the sharegroups in which the image is shared. */ sharegroupListUrl: string; } export interface GetImagesImageReplication { /** * The region of an image replica. */ region: string; /** * The status of an image replica. */ status: string; } export interface GetInstanceBackupsAutomatic { available: boolean; /** * A list of the labels of the Configuration profiles that are part of the Backup. */ configs: string[]; /** * The date the Backup was taken. */ created: string; disks: outputs.GetInstanceBackupsAutomaticDisk[]; /** * The date the Backup completed. */ finished: string; /** * The unique ID of