UNPKG

@pulumi/linode

Version:

A Pulumi package for creating and managing linode cloud resources.

1,647 lines 211 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; export interface DatabaseMysqlUpdates { /** * The day to perform maintenance. */ dayOfWeek: pulumi.Input<string>; /** * The maximum maintenance window time in hours. */ duration: pulumi.Input<number>; /** * Whether maintenance occurs on a weekly or monthly basis. */ frequency: pulumi.Input<string>; /** * The hour to begin maintenance based in UTC time. */ hourOfDay: pulumi.Input<number>; /** * The week of the month to perform monthly frequency updates. Required for monthly frequency updates. */ weekOfMonth?: pulumi.Input<number>; } export interface DatabaseMysqlV2PendingUpdate { deadline: pulumi.Input<string>; description: pulumi.Input<string>; plannedFor: pulumi.Input<string>; } 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?: pulumi.Input<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?: pulumi.Input<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?: pulumi.Input<string>; } export interface DatabaseMysqlV2Updates { dayOfWeek: pulumi.Input<number>; duration: pulumi.Input<number>; frequency: pulumi.Input<string>; hourOfDay: pulumi.Input<number>; } export interface DatabasePostgresqlUpdates { /** * The day to perform maintenance. */ dayOfWeek: pulumi.Input<string>; /** * The maximum maintenance window time in hours. */ duration: pulumi.Input<number>; /** * Whether maintenance occurs on a weekly or monthly basis. */ frequency: pulumi.Input<string>; /** * The hour to begin maintenance based in UTC time. */ hourOfDay: pulumi.Input<number>; /** * The week of the month to perform monthly frequency updates. Required for monthly frequency updates. */ weekOfMonth?: pulumi.Input<number>; } export interface DatabasePostgresqlV2PendingUpdate { deadline: pulumi.Input<string>; description: pulumi.Input<string>; plannedFor: pulumi.Input<string>; } 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?: pulumi.Input<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?: pulumi.Input<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?: pulumi.Input<string>; } export interface DatabasePostgresqlV2Updates { dayOfWeek: pulumi.Input<number>; duration: pulumi.Input<number>; frequency: pulumi.Input<string>; hourOfDay: pulumi.Input<number>; } export interface FirewallDevice { /** * The ID of the underlying entity this device references (i.e. the Linode's ID). */ entityId: pulumi.Input<number>; /** * The ID of the Firewall Device. */ id: pulumi.Input<number>; /** * This Firewall's unique label. */ label: pulumi.Input<string>; /** * The type of Firewall Device. */ type: pulumi.Input<string>; /** * The URL of the underlying entity this device references. */ url: pulumi.Input<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: pulumi.Input<string>; /** * Used to describe this rule. For display purposes only. */ description?: pulumi.Input<string>; /** * A list of IPv4 addresses or networks. Must be in IP/mask (CIDR) format. */ ipv4s?: pulumi.Input<pulumi.Input<string>[]>; /** * A list of IPv6 addresses or networks. Must be in IP/mask (CIDR) format. */ ipv6s?: pulumi.Input<pulumi.Input<string>[]>; /** * Used to identify this rule. For display purposes only. */ label: pulumi.Input<string>; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports?: pulumi.Input<string>; /** * The network protocol this rule controls. (`TCP`, `UDP`, `ICMP`) */ protocol: pulumi.Input<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: pulumi.Input<string>; /** * Used to describe this rule. For display purposes only. */ description?: pulumi.Input<string>; /** * A list of CIDR blocks or 0.0.0.0/0 (to allow all) this rule applies to. */ ipv4s?: pulumi.Input<pulumi.Input<string>[]>; /** * A list of IPv6 addresses or networks this rule applies to. */ ipv6s?: pulumi.Input<pulumi.Input<string>[]>; /** * This Firewall's unique label. */ label: pulumi.Input<string>; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports?: pulumi.Input<string>; /** * The network protocol this rule controls. */ protocol: pulumi.Input<string>; } 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 GetAccountAvailabilitiesAvailabilityArgs { /** * A set of services which are available for the given region. */ availables?: pulumi.Input<pulumi.Input<string>[]>; /** * The region this availability entry refers to. */ region: pulumi.Input<string>; /** * A set of services that are unavailable for the given region. */ unavailables?: pulumi.Input<pulumi.Input<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 GetAccountAvailabilitiesFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<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 GetAccountLoginsFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<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 GetAccountLoginsLoginArgs { /** * When the login was initiated. */ datetime?: pulumi.Input<string>; /** * The unique ID of this login object. */ id: pulumi.Input<number>; /** * The remote IP address that requested the login. */ ip?: pulumi.Input<string>; /** * True if the User that was logged into was a restricted User, false otherwise. */ restricted?: pulumi.Input<boolean>; /** * Whether the login attempt succeeded or failed. */ status?: pulumi.Input<string>; /** * The username of the User that was logged into. */ username?: pulumi.Input<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 GetChildAccountsChildAccountArgs { /** * When this account was first activated */ activeSince?: pulumi.Input<string>; /** * First line of this Account's billing address. */ address1?: pulumi.Input<string>; /** * Second line of this Account's billing address. */ address2?: pulumi.Input<string>; /** * This Account's balance, in US dollars. */ balance?: pulumi.Input<number>; /** * A set containing all the capabilities of this Account. */ capabilities?: pulumi.Input<pulumi.Input<string>[]>; /** * The city for this Account's billing address. */ city?: pulumi.Input<string>; /** * The company name associated with this Account. */ company?: pulumi.Input<string>; /** * The two-letter country code of this Account's billing address. */ country?: pulumi.Input<string>; /** * The email address for this Account, for account management communications, and may be used for other communications as configured. */ email?: pulumi.Input<string>; /** * The unique ID of this Account. */ euuid?: pulumi.Input<string>; /** * The first name of the person associated with this Account. */ firstName?: pulumi.Input<string>; /** * The Email of the Account. */ id?: pulumi.Input<string>; /** * The last name of the person associated with this Account. */ lastName?: pulumi.Input<string>; /** * The phone number associated with this Account. */ phone?: pulumi.Input<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?: pulumi.Input<string>; /** * The zip code of this Account's billing address. */ zip?: pulumi.Input<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 GetChildAccountsFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<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 GetDatabaseBackupsBackupArgs { /** * A time value given in a combined date and time format that represents when the database backup was created. */ created?: pulumi.Input<string>; /** * The ID of the database backup object. */ id?: pulumi.Input<number>; /** * The database backup’s label, for display purposes only. */ label?: pulumi.Input<string>; /** * The type of database backup, determined by how the backup was created. */ type?: pulumi.Input<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 GetDatabaseBackupsFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<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 GetDatabaseEnginesEngineArgs { /** * The Managed Database engine type. */ engine?: pulumi.Input<string>; /** * The Managed Database engine ID in engine/version format. */ id?: pulumi.Input<string>; /** * The Managed Database engine version. */ version?: pulumi.Input<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 GetDatabaseEnginesFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<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 GetDatabaseMysqlBackupsFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<string>[]>; } 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; /** * 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 GetDatabasesDatabaseArgs { /** * A list of IP addresses that can access the Managed Database. */ allowLists?: pulumi.Input<pulumi.Input<string>[]>; /** * The number of Linode Instance nodes deployed to the Managed Database. */ clusterSize?: pulumi.Input<number>; /** * When this Managed Database was created. */ created?: pulumi.Input<string>; /** * Whether the Managed Databases is encrypted. */ encrypted?: pulumi.Input<boolean>; /** * The Managed Database engine. */ engine?: pulumi.Input<string>; /** * The primary host for the Managed Database. */ hostPrimary?: pulumi.Input<string>; /** * The secondary/private network host for the Managed Database. */ hostSecondary?: pulumi.Input<string>; /** * The ID of the Managed Database. */ id?: pulumi.Input<number>; /** * he API route for the database instance. */ instanceUri?: pulumi.Input<string>; /** * A unique, user-defined string referring to the Managed Database. */ label?: pulumi.Input<string>; /** * The region to use for the Managed Database. */ region?: pulumi.Input<string>; /** * The replication method used for the Managed Database. */ replicationType?: pulumi.Input<string>; /** * Whether to require SSL credentials to establish a connection to the Managed Database. */ sslConnection?: pulumi.Input<boolean>; /** * The operating status of the Managed Database. */ status?: pulumi.Input<string>; /** * The Linode Instance type used for the nodes of the Managed Database instance. */ type?: pulumi.Input<string>; /** * When this Managed Database was last updated. */ updated?: pulumi.Input<string>; /** * The Managed Database engine version. */ version?: pulumi.Input<string>; } 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 GetDatabasesFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<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 GetDomainsDomainArgs { /** * The list of IPs that may perform a zone transfer for this Domain. */ axfrIps?: pulumi.Input<pulumi.Input<string>[]>; /** * A description for this Domain. */ description?: pulumi.Input<string>; /** * The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain */ domain?: pulumi.Input<string>; /** * The amount of time in seconds that may pass before this Domain is no longer authoritative. */ expireSec?: pulumi.Input<number>; /** * The group this Domain belongs to. */ group?: pulumi.Input<string>; /** * The unique ID of this Domain. */ id?: pulumi.Input<number>; /** * The IP addresses representing the master DNS for this Domain. */ masterIps?: pulumi.Input<pulumi.Input<string>[]>; /** * The amount of time in seconds before this Domain should be refreshed. */ refreshSec?: pulumi.Input<number>; /** * The interval, in seconds, at which a failed refresh should be retried. */ retrySec?: pulumi.Input<number>; /** * Start of Authority email address. */ soaEmail?: pulumi.Input<string>; /** * Used to control whether this Domain is currently being rendered. (`disabled`, `active`) */ status?: pulumi.Input<string>; /** * An array of tags applied to this object. Tags are case-insensitive and are for organizational purposes only. */ tags?: pulumi.Input<pulumi.Input<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?: pulumi.Input<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?: pulumi.Input<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 GetDomainsFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<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 GetFirewallsFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetFirewallsFirewall { /** * When this firewall was created. */ created?: string; /** * The devices associated with this firewall. */ devices?: inputs.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?: inputs.GetFirewallsFirewallInbound[]; /** * 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 assigned to this Firewall.. */ nodebalancers?: number[]; /** * The default behavior for outbound traffic. */ outboundPolicy?: string; /** * A set of firewall rules that specify what outbound network traffic is allowed. */ outbounds?: inputs.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 GetFirewallsFirewallArgs { /** * When this firewall was created. */ created?: pulumi.Input<string>; /** * The devices associated with this firewall. */ devices?: pulumi.Input<pulumi.Input<inputs.GetFirewallsFirewallDeviceArgs>[]>; /** * If true, the Firewall is inactive. */ disabled?: pulumi.Input<boolean>; /** * The unique ID assigned to this Firewall. */ id?: pulumi.Input<number>; /** * The default behavior for inbound traffic. */ inboundPolicy?: pulumi.Input<string>; /** * A set of firewall rules that specify what inbound network traffic is allowed. */ inbounds?: pulumi.Input<pulumi.Input<inputs.GetFirewallsFirewallInboundArgs>[]>; /** * The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned. */ label?: pulumi.Input<string>; /** * The IDs of Linodes this firewall is applied to. */ linodes?: pulumi.Input<pulumi.Input<number>[]>; /** * The IDs of NodeBalancers assigned to this Firewall.. */ nodebalancers?: pulumi.Input<pulumi.Input<number>[]>; /** * The default behavior for outbound traffic. */ outboundPolicy?: pulumi.Input<string>; /** * A set of firewall rules that specify what outbound network traffic is allowed. */ outbounds?: pulumi.Input<pulumi.Input<inputs.GetFirewallsFirewallOutboundArgs>[]>; /** * The status of the firewall. */ status?: pulumi.Input<string>; /** * An array of tags applied to this object. Tags are case-insensitive and are for organizational purposes only. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * When this firewall was last updated. */ updated?: pulumi.Input<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 GetFirewallsFirewallDeviceArgs { /** * The ID of the underlying entity this device references (i.e. the Linode's ID). */ entityId?: pulumi.Input<number>; /** * The unique ID assigned to this Firewall. */ id?: pulumi.Input<number>; /** * The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned. */ label?: pulumi.Input<string>; /** * The type of Firewall Device. */ type?: pulumi.Input<string>; /** * The URL of the underlying entity this device references. */ url?: pulumi.Input<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 GetFirewallsFirewallInboundArgs { /** * Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP). */ action?: pulumi.Input<string>; /** * A list of IPv4 addresses or networks in IP/mask format. */ ipv4s?: pulumi.Input<pulumi.Input<string>[]>; /** * A list of IPv6 addresses or networks in IP/mask format. */ ipv6s?: pulumi.Input<pulumi.Input<string>[]>; /** * The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned. */ label?: pulumi.Input<string>; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports?: pulumi.Input<string>; /** * The network protocol this rule controls. (TCP, UDP, ICMP) */ protocol?: pulumi.Input<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 GetFirewallsFirewallOutboundArgs { /** * Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP). */ action?: pulumi.Input<string>; /** * A list of IPv4 addresses or networks in IP/mask format. */ ipv4s?: pulumi.Input<pulumi.Input<string>[]>; /** * A list of IPv6 addresses or networks in IP/mask format. */ ipv6s?: pulumi.Input<pulumi.Input<string>[]>; /** * The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned. */ label?: pulumi.Input<string>; /** * A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91"). */ ports?: pulumi.Input<string>; /** * The network protocol this rule controls. (TCP, UDP, ICMP) */ protocol?: pulumi.Input<string>; } export interface GetImageReplication { /** * The region of an image replica. */ region?: string; /** * The status of an image replica. */ status?: string; } export interface GetImageReplicationArgs { /** * The region of an image replica. */ region?: pulumi.Input<string>; /** * The status of an image replica. */ status?: pulumi.Input<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 GetImagesFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<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; /** * True if the Image is public. */ isPublic?: boolean; /** * A short description of the Image. */ label?: string; /** * A list of image replication regions and corresponding status. */ replications?: inputs.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 GetImagesImageArgs { /** * The capabilities of this Image. */ capabilities?: pulumi.Input<pulumi.Input<string>[]>; /** * When this Image was created. */ created?: pulumi.Input<string>; /** * The name of the User who created this Image, or "linode" for official Images. */ createdBy?: pulumi.Input<string>; /** * Whether or not this Image is deprecated. Will only be true for deprecated public Images. */ deprecated?: pulumi.Input<boolean>; /** * A detailed description of this Image. */ description?: pulumi.Input<string>; /** * Only Images created automatically (from a deleted Linode; type=automatic) will expire. */ expiry?: pulumi.Input<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: pulumi.Input<string>; /** * True if the Image is public. */ isPublic?: pulumi.Input<boolean>; /** * A short description of the Image. */ label?: pulumi.Input<string>; /** * A list of image replication regions and corresponding status. */ replications?: pulumi.Input<pulumi.Input<inputs.GetImagesImageReplicationArgs>[]>; /** * The minimum size this Image needs to deploy. Size is in MB. example: 2500 */ size?: pulumi.Input<number>; /** * The status of an image replica. */ status?: pulumi.Input<string>; /** * A list of customized tags. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * The total size of the image in all available regions. */ totalSize?: pulumi.Input<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?: pulumi.Input<string>; /** * The upstream distribution vendor. `None` for private Images. */ vendor?: pulumi.Input<string>; } export interface GetImagesImageReplication { /** * The region of an image replica. */ region?: string; /** * The status of an image replica. */ status?: string; } export interface GetImagesImageReplicationArgs { /** * The region of an image replica. */ region?: pulumi.Input<string>; /** * The status of an image replica. */ status?: pulumi.Input<string>; } export interface GetInstanceTypesFilter { /** * 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 GetInstanceTypesFilterArgs { /** * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`) */ matchBy?: pulumi.Input<string>; /** * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields. */ name: pulumi.Input<string>; /** * A list of values for the filter to allow. These values should all be in string form. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetInstanceTypesType { /** * The number of VPUs this Linode Type offers. */ acceleratedDevices?: number; /** * Information about the optional Backup service offered for Linodes. */ addons?: inputs.GetInstanceTypesTypeAddon[]; /** * The class of the Linode Type. See all classes [here](https://techdocs.akamai.com/linode-api/reference/get-linode-types). */ class?: string; /** * The Disk size, in MB, of the Linode Type. */ disk?: number; /** * The ID representing the Linode Type. */ id: string; /** * The Linode Type's label is for display purposes only. */ label?: string; /** * The amount of RAM included in this Linode Type. */ memory?: number; /** * The Mbits outbound bandwidth allocation. */ networkOut?: number; /** * Cost in US dollars, broken down into hourly and monthly charges. */ prices?: inputs.GetInstanceTypesTypePrice[]; /** * A list of region-specific prices for this plan. */ regionPrices?: inputs.GetInstanceTypesTypeRegionPrice[]; /** * The monthly outbound transfer amount, in MB. */ transfer?: number; /** * The number of VCPU cores this Linode Type offers. */ vcpus?: number; } export interface GetInstanceTypesTypeArgs { /** * The number of VPUs this Linode Type offers. */ acceleratedDevices?: pulumi.Input<number>; /** * Information about the optional Backup service offered for Linodes. */ addons?: pulumi.Input<pulumi.Input<inputs.GetInstanceTypesTypeAddonArgs>[]>; /** * The class of the Linode Type. See all classes [here](https://techdocs.akamai.com/linode-api/reference/get-linode-types). */ class?: pulumi.Input<string>; /** * The Disk size, in MB, of the Linode Type. */ disk?: pulumi.Input<number>; /** * The ID representing the Linode Type. */ id: pulumi.Input<string>; /** * The Linode Type's label is for display purposes only. */ label?: pulumi.Input<string>; /** * The amount of RAM included in this Linode Type. */ memory?: pulumi.Input<number>; /** * The Mbits outbound bandwidth allocation. */ networkOut?: pulumi.Input<number>; /** * Cost in US dollars, broken down into hourly and monthly charges. */ prices?: pulumi.Input<pulumi.Input<inputs.GetInstanceTypesTypePriceArgs>[]>; /** * A list of region-specific prices for this plan. */ regionPrices?: pulumi.Input<pulumi.Input<inputs.GetInstanceTypesTypeRegionPriceArgs>[]>; /** * The monthly outbound transfer amount, in MB. */ transfer?: pulumi.Input<number>; /** * The number of VCPU cores this Linode Type offers. */ vcpus?: pulumi.Input<number>; } export interface GetInstanceTypesTypeAddon { backups: inputs.GetInstanceTypesTypeAddonBackup[]; } export interface GetInstanceTypesTypeAddonArgs { backups: pulumi.Input<pulumi.Input<inputs.GetInstanceTypesTypeAddonBackupArgs>[]>; } export interface GetInstanceTypesTypeAddonBackup { prices: inputs.GetInstanceTypesTypeAddonBackupPrice[]; regionPrices: inputs.GetInstanceTypesTypeAddonBackupRegionPrice[]; } export interface GetInstanceTypesTypeAddonBackupArgs { prices: pulumi.Input<pulumi.Input<inputs.GetInstanceTypesTypeAddonBackupPriceArgs>[]>; regionPrices: pulumi.Input<pulumi.Input<inputs.GetInstanceTypesTypeAddonBackupRegionPriceArgs>[]>; } export interface GetInstanceTypesTypeAddonBackupPrice { /** * The cost (in US dollars) per hour to add Backups service. */ hourly: number; /** * The cost (in US dollars) per month to add Backups service. */ monthly: number; } export interface GetInstanceTypesTypeAddonBackupPriceArgs { /** * The cost (in US dollars) per hour to add Backups service. */ hourly: pulumi.Input<number>; /** * The cost (in US dollars) per month to add Backups service. */ monthly: pulumi.Input<number>; } export interface GetInstanceTypesTypeAddonBackupRegionPrice { hourly: number; /** * The ID representing the Linode Type. */ id: string; monthly: number; } export interface GetInstanceTypesTypeAddonBackupRegionPriceArgs { hourly: pulumi.Input<number>; /** * The ID representing the Linode Type. */ id: pulumi.Input<string>; monthly: pulumi.Input<number>; } export interface GetInstanceTypesTypePrice { /** * Cost (in US dollars) per hour. */ hourly: number; /** * Cost (in US dollars) per month. */ monthly: number; } export interface GetInstanceTypesTypePriceArgs { /** * Cost (in US dollars) per hour. */ hourly: pulumi.Input<number>; /** * Cost (in US dollars) per month. */ monthly: pulumi.Input<number>; } export interface GetInstanceTypesTypeRegionPrice { hourly: number; /** * The ID representing the Linode Type. */ id: string; monthly: number; } export interface GetInstanceTypesTypeRegionPriceArgs { hourly: pulumi.Input<number>; /** * The ID representing the Linode Type. */ id: pulumi.Input<string>; monthly: pulumi.Input<number>; } export interface GetInstancesFilter { /** * 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 sec