UNPKG

@pulumiverse/scaleway

Version:

A Pulumi package for creating and managing Scaleway cloud resources.

2,000 lines 259 kB
import * as outputs from "../types/output"; export interface AppleSiliconServerPrivateNetwork { /** * The date and time of the creation of the Apple Silicon server. */ createdAt: string; /** * The ID of the server. */ id: string; /** * List of IPAM IP IDs to attach to the server */ ipamIpIds: string[]; /** * The private network status */ status: string; /** * The date and time of the last update of the Apple Silicon server. */ updatedAt: string; /** * The VLAN ID associated to the private network */ vlan: number; } export interface BaremetalServerIp { /** * The address of the IPv6. */ address: string; /** * The ID of the IPv6. */ id: string; /** * The reverse of the IPv6. */ reverse: string; /** * The type of the IPv6. */ version: string; } export interface BaremetalServerIpv4 { /** * The address of the IPv6. */ address: string; /** * The ID of the IPv6. */ id: string; /** * The reverse of the IPv6. */ reverse: string; /** * The type of the IPv6. */ version: string; } export interface BaremetalServerIpv6 { /** * The address of the IPv6. */ address: string; /** * The ID of the IPv6. */ id: string; /** * The reverse of the IPv6. */ reverse: string; /** * The type of the IPv6. */ version: string; } export interface BaremetalServerOption { /** * The auto expiration date for compatible options */ expiresAt: string; /** * The id of the option to enable. Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-options-list-options) to find the available options IDs. */ id: string; /** * The name of the server. */ name: string; } export interface BaremetalServerPrivateIp { /** * The address of the IPv6. */ address: string; /** * The ID of the IPv6. */ id: string; } export interface BaremetalServerPrivateNetwork { /** * The date and time of the creation of the private network. */ createdAt: string; /** * The id of the private network to attach. */ id: string; /** * List of IPAM IP IDs to assign to the server in the requested private network. */ ipamIpIds: string[]; /** * The ID of the Server-to-Private Network mapping. */ mappingId: string; /** * The private network status. */ status: string; /** * The date and time of the last update of the private network. */ updatedAt: string; /** * The VLAN ID associated to the private network. */ vlan: number; } export interface BlockSnapshotImport { /** * Bucket containing qcow */ bucket: string; /** * Key of the qcow file in the specified bucket */ key: string; } export interface CockpitAlertManagerContactPoint { /** * Email addresses for the alert receivers */ email?: string; } export interface CockpitEndpoint { /** * (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). */ alertmanagerUrl: string; /** * (Deprecated) URL for Grafana. */ grafanaUrl: string; /** * (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ logsUrl: string; /** * (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ metricsUrl: string; /** * (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ tracesUrl: string; } export interface CockpitPushUrl { /** * Push URL for logs (Grafana Loki) */ pushLogsUrl: string; /** * Push URL for metrics (Grafana Mimir) */ pushMetricsUrl: string; } export interface CockpitTokenScopes { /** * Permission to query logs. */ queryLogs?: boolean; /** * Permission to query metrics. */ queryMetrics?: boolean; /** * Permission to query traces. */ queryTraces?: boolean; /** * Permission to set up alerts. */ setupAlerts?: boolean; /** * Permission to set up logs rules. */ setupLogsRules?: boolean; /** * Permission to set up metrics rules. */ setupMetricsRules?: boolean; /** * Permission to write logs. */ writeLogs?: boolean; /** * Permission to write metrics. */ writeMetrics?: boolean; /** * Permission to write traces. */ writeTraces?: boolean; } export interface ContainerHealthCheck { /** * Number of consecutive health check failures before considering the container unhealthy. */ failureThreshold: number; /** * HTTP health check configuration. */ https: outputs.ContainerHealthCheckHttp[]; /** * Period between health checks (in seconds). */ interval: string; } export interface ContainerHealthCheckHttp { /** * Path to use for the HTTP health check. */ path: string; } export interface ContainerScalingOption { /** * Scale depending on the number of concurrent requests being processed per container instance. */ concurrentRequestsThreshold?: number; /** * Scale depending on the CPU usage of a container instance. */ cpuUsageThreshold?: number; /** * Scale depending on the memory usage of a container instance. */ memoryUsageThreshold?: number; } export interface ContainerTriggerNats { /** * unique identifier of the Messaging and Queuing NATS account. */ accountId?: string; /** * THe ID of the project that contains the Messaging and Queuing NATS account (defaults to provider `projectId`) */ projectId: string; /** * Region where the Messaging and Queuing NATS account is enabled (defaults to provider `region`) */ region: string; /** * The subject to listen to. */ subject: string; } export interface ContainerTriggerSqs { /** * ID of the Messaging and Queuing namespace. This argument is deprecated. * * @deprecated The 'namespace_id' field is deprecated and will be removed in the next major version. It is no longer necessary to specify it */ namespaceId?: string; /** * The ID of the project in which SQS is enabled, (defaults to provider `projectId`) */ projectId: string; /** * The name of the SQS queue. */ queue: string; /** * Region where SQS is enabled (defaults to provider `region`) */ region: string; } export interface DatabaseAclAclRule { /** * A text describing this rule. Default description: `IP allowed` */ description: string; /** * The IP range to whitelist in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) */ ip: string; } export interface DatabaseInstanceLoadBalancer { /** * The ID of the endpoint. */ endpointId: string; /** * Hostname of the endpoint. */ hostname: string; /** * IPv4 address on the network. */ ip: string; /** * The name of the Database Instance. */ name: string; /** * Port in the Private Network. */ port: number; } export interface DatabaseInstanceLogsPolicy { /** * The max age (in days) of remote logs to keep on the Database Instance */ maxAgeRetention: number; /** * The max disk size of remote logs to keep on the Database Instance. */ totalDiskRetention: number; } export interface DatabaseInstancePrivateIp { /** * The private IPv4 address. */ address: string; /** * The ID of the IPv4 address resource. */ id: string; } export interface DatabaseInstancePrivateNetwork { /** * Whether or not the private network endpoint should be configured with IPAM */ enableIpam: boolean; /** * The ID of the endpoint. */ endpointId: string; /** * Hostname of the endpoint. */ hostname: string; /** * IPv4 address on the network. */ ip: string; /** * The IP with the given mask within the private subnet */ ipNet: string; /** * The name of the Database Instance. */ name: string; /** * The private network ID */ pnId: string; /** * Port in the Private Network. */ port: number; /** * The zone you want to attach the resource to */ zone: string; } export interface DatabaseInstanceReadReplica { /** * IPv4 address on the network. */ ip: string; /** * The name of the Database Instance. */ name: string; /** * Port in the Private Network. */ port: number; } export interface DatabaseReadReplicaDirectAccess { /** * The ID of the endpoint of the Read Replica. */ endpointId: string; /** * Hostname of the endpoint. Only one of IP and hostname may be set. */ hostname: string; /** * IPv4 address of the endpoint (IP address). Only one of IP and hostname may be set. */ ip: string; /** * Name of the endpoint. */ name: string; /** * TCP port of the endpoint. */ port: number; } export interface DatabaseReadReplicaPrivateNetwork { /** * If true, the IP network address within the private subnet is determined by the IP Address Management (IPAM) service. * * > **Important:** One of `serviceIp` or `enable_ipam=true` must be set. */ enableIpam: boolean; /** * The ID of the endpoint of the Read Replica. */ endpointId: string; /** * Hostname of the endpoint. Only one of IP and hostname may be set. */ hostname: string; /** * IPv4 address of the endpoint (IP address). Only one of IP and hostname may be set. */ ip: string; /** * Name of the endpoint. */ name: string; /** * TCP port of the endpoint. */ port: number; /** * UUID of the Private Netork to be connected to the Read Replica. */ privateNetworkId: string; /** * The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. If not set, The IP network address within the private subnet is determined by the IP Address Management (IPAM) service. */ serviceIp: string; /** * Private network zone */ zone: string; } export interface DomainRecordGeoIp { /** * The list of matches */ matches: outputs.DomainRecordGeoIpMatch[]; } export interface DomainRecordGeoIpMatch { /** * List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents */ continents?: string[]; /** * List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries */ countries?: string[]; /** * The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). */ data: string; } export interface DomainRecordHttpService { /** * IPs to check */ ips: string[]; /** * Text to search */ mustContain: string; /** * Strategy to return an IP from the IPs list */ strategy: string; /** * URL to match the mustContain text to validate an IP */ url: string; /** * User-agent used when checking the URL */ userAgent?: string; } export interface DomainRecordView { /** * The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). */ data: string; /** * The subnet of the view */ subnet: string; } export interface DomainRecordWeighted { /** * The weighted IP */ ip: string; /** * The weight of the IP */ weight: number; } export interface EdgeServicesBackendStageLbBackendConfig { /** * The Load Balancer config. */ lbConfig?: outputs.EdgeServicesBackendStageLbBackendConfigLbConfig; } export interface EdgeServicesBackendStageLbBackendConfigLbConfig { /** * The Fully Qualified Domain Name (in the format subdomain.example.com) to use in HTTP requests sent towards your Load Balancer. */ domainName?: string; /** * The ID of the frontend. */ frontendId?: string; /** * The ID of the Load Balancer. */ id?: string; /** * Defines whether the Load Balancer's frontend handles SSL connections. */ isSsl?: boolean; /** * `zone`) The zone of the Load Balancer. */ zone: string; } export interface EdgeServicesBackendStageS3BackendConfig { /** * The name of the Bucket. */ bucketName?: string; /** * The region of the Bucket. */ bucketRegion?: string; /** * Defines whether the bucket website feature is enabled. */ isWebsite?: boolean; } export interface EdgeServicesCacheStagePurgeRequest { /** * Defines whether to purge all content. */ all?: boolean; /** * The list of asserts to purge. */ assets?: string[]; /** * The pipeline ID in which the purge request will be created. */ pipelineId?: string; } export interface EdgeServicesRouteStageRule { /** * The ID of the backend stage that requests matching the rule should be forwarded to. */ backendStageId: string; /** * The rule condition to be matched. Requests matching the condition defined here will be directly forwarded to the backend specified by the `backendStageId` field. Requests that do not match will be checked by the next rule's condition. */ ruleHttpMatch?: outputs.EdgeServicesRouteStageRuleRuleHttpMatch; } export interface EdgeServicesRouteStageRuleRuleHttpMatch { /** * HTTP methods to filter for. A request using any of these methods will be considered to match the rule. Possible values are `get`, `post`, `put`, `patch`, `delete`, `head`, `options`. All methods will match if none is provided. */ methodFilters: string[]; /** * HTTP URL path to filter for. A request whose path matches the given filter will be considered to match the rule. All paths will match if none is provided. */ pathFilter?: outputs.EdgeServicesRouteStageRuleRuleHttpMatchPathFilter; } export interface EdgeServicesRouteStageRuleRuleHttpMatchPathFilter { /** * The type of filter to match for the HTTP URL path. For now, all path filters must be written in regex and use the `regex` type. */ pathFilterType: string; /** * The value to be matched for the HTTP URL path. */ value: string; } export interface EdgeServicesTlsStageSecret { /** * The region of the secret. */ region: string; /** * The ID of the Secret */ secretId: string; } export interface FunctionTriggerNats { /** * unique identifier of the Messaging and Queuing NATS account. */ accountId?: string; /** * THe ID of the project that contains the Messaging and Queuing NATS account (defaults to provider `projectId`) */ projectId: string; /** * Region where the Messaging and Queuing NATS account is enabled (defaults to provider `region`) */ region: string; /** * The subject to listen to. */ subject: string; } export interface FunctionTriggerSqs { /** * ID of the Messaging and Queuing namespace. This argument is deprecated. * * @deprecated The 'namespace_id' field is deprecated and will be removed in the next major version. It is no longer necessary to specify it */ namespaceId?: string; /** * The ID of the project in which SQS is enabled, (defaults to provider `projectId`) */ projectId: string; /** * The name of the SQS queue. */ queue: string; /** * Region where SQS is enabled (defaults to provider `region`) */ region: string; } export interface GetBaremetalOfferCpu { /** * Number of core on this CPU. */ coreCount: number; /** * Frequency of the memory in MHz. */ frequency: number; /** * The offer name. Only one of `name` and `offerId` should be specified. */ name: string; /** * Number of thread on this CPU. */ threadCount: number; } export interface GetBaremetalOfferDisk { /** * Capacity of the memory in GB. */ capacity: number; /** * Type of memory. */ type: string; } export interface GetBaremetalOfferMemory { /** * Capacity of the memory in GB. */ capacity: number; /** * Frequency of the memory in MHz. */ frequency: number; /** * True if error-correcting code is available on this memory. */ isEcc: boolean; /** * Type of memory. */ type: string; } export interface GetBaremetalServerIp { /** * The IPv6 address */ address: string; /** * The ID of the server. */ id: string; /** * The Reverse of the IPv6 */ reverse: string; /** * The version of the IPv6 */ version: string; } export interface GetBaremetalServerIpv4 { /** * The IPv6 address */ address: string; /** * The ID of the server. */ id: string; /** * The Reverse of the IPv6 */ reverse: string; /** * The version of the IPv6 */ version: string; } export interface GetBaremetalServerIpv6 { /** * The IPv6 address */ address: string; /** * The ID of the server. */ id: string; /** * The Reverse of the IPv6 */ reverse: string; /** * The version of the IPv6 */ version: string; } export interface GetBaremetalServerOption { /** * Auto expire the option after this date */ expiresAt: string; /** * The ID of the server. */ id: string; /** * The server name. Only one of `name` and `serverId` should be specified. */ name: string; } export interface GetBaremetalServerPrivateIp { /** * The private IP address */ address: string; /** * The ID of the server. */ id: string; } export interface GetBaremetalServerPrivateNetwork { /** * The date and time of the creation of the private network */ createdAt: string; /** * The ID of the server. */ id: string; /** * List of IPAM IP IDs to attach to the server */ ipamIpIds: string[]; /** * The ID of the Server-to-Private Network mapping */ mappingId: string; /** * The private network status */ status: string; /** * The date and time of the last update of the private network */ updatedAt: string; /** * The VLAN ID associated to the private network */ vlan: number; } export interface GetBillingConsumptionsConsumption { /** * The consumed quantity. */ billedQuantity: string; /** * The name of the consumption category. */ categoryName: string; /** * The product name. */ productName: string; /** * `projectId`) The ID of the project the consumption list is associated with. */ projectId: string; /** * The unique identifier of the product. */ sku: string; /** * The unit of consumed quantity. */ unit: string; /** * The monetary value of the consumption. */ value: string; } export interface GetBillingInvoicesInvoice { /** * The billing period of the invoice in the YYYY-MM format. */ billingPeriod: string; /** * The payment time limit, set according to the Organization's payment conditions (RFC 3339 format). */ dueDate: string; /** * The associated invoice ID. */ id: string; /** * Invoices with the given type are listed. Valid values are `periodic` and `purchase`. */ invoiceType: string; /** * The date when the invoice was sent to the customer (RFC 3339 format). */ issuedDate: string; /** * The invoice number. */ number: number; /** * The organization name. */ organizationName: string; /** * The name of the seller (Scaleway). */ sellerName: string; /** * The start date of the billing period (RFC 3339 format). */ startDate: string; /** * The state of the invoice. */ state: string; /** * The end date of the billing period (RFC 3339 format). */ stopDate: string; /** * The total discount amount of the invoice. */ totalDiscount: string; /** * The total tax amount of the invoice. */ totalTax: string; /** * The total amount, taxed. */ totalTaxed: string; /** * The total amount of the invoice before applying the discount. */ totalUndiscount: string; /** * The total amount, untaxed. */ totalUntaxed: string; } export interface GetBlockSnapshotImport { /** * Bucket containing qcow */ bucket: string; /** * Key of the qcow file in the specified bucket */ key: string; } export interface GetCockpitEndpoint { /** * (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). */ alertmanagerUrl: string; /** * (Deprecated) URL for Grafana. */ grafanaUrl: string; /** * (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ logsUrl: string; /** * (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ metricsUrl: string; /** * The traces URL. */ tracesUrl: string; } export interface GetCockpitPushUrl { /** * Push URL for logs (Grafana Loki) */ pushLogsUrl: string; /** * Push URL for metrics (Grafana Mimir) */ pushMetricsUrl: string; } export interface GetContainerHealthCheck { /** * Number of consecutive health check failures before considering the container unhealthy. */ failureThreshold: number; /** * HTTP health check configuration. */ https: outputs.GetContainerHealthCheckHttp[]; /** * Period between health checks (in seconds). */ interval: string; } export interface GetContainerHealthCheckHttp { /** * Path to use for the HTTP health check. */ path: string; } export interface GetContainerScalingOption { /** * Scale depending on the number of concurrent requests being processed per container instance. */ concurrentRequestsThreshold: number; /** * Scale depending on the CPU usage of a container instance. */ cpuUsageThreshold: number; /** * Scale depending on the memory usage of a container instance. */ memoryUsageThreshold: number; } export interface GetDatabaseAclAclRule { /** * A simple text describing this rule */ description: string; /** * The ip range to whitelist in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) */ ip: string; } export interface GetDatabaseInstanceLoadBalancer { /** * The endpoint ID */ endpointId: string; /** * The hostname of your endpoint */ hostname: string; /** * The IP of your load balancer service */ ip: string; /** * The name of the RDB instance. */ name: string; /** * The port of your load balancer service */ port: number; } export interface GetDatabaseInstanceLogsPolicy { /** * The max age (in days) of remote logs to keep on the Database Instance */ maxAgeRetention: number; /** * The max disk size of remote logs to keep on the Database Instance. */ totalDiskRetention: number; } export interface GetDatabaseInstancePrivateIp { /** * The private IPv4 address */ address: string; /** * The ID of the Database Instance. */ id: string; } export interface GetDatabaseInstancePrivateNetwork { /** * Whether or not the private network endpoint should be configured with IPAM */ enableIpam: boolean; /** * The endpoint ID */ endpointId: string; /** * The hostname of your endpoint */ hostname: string; /** * The IP of your Instance within the private service */ ip: string; /** * The IP with the given mask within the private subnet */ ipNet: string; /** * The name of the RDB instance. */ name: string; /** * The private network ID */ pnId: string; /** * The port of your private service */ port: number; /** * The zone you want to attach the resource to */ zone: string; } export interface GetDatabaseInstanceReadReplica { /** * IP of the replica */ ip: string; /** * The name of the RDB instance. */ name: string; /** * Port of the replica */ port: number; } export interface GetDomainRecordGeoIp { /** * The list of matches */ matches: outputs.GetDomainRecordGeoIpMatch[]; } export interface GetDomainRecordGeoIpMatch { /** * List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents */ continents: string[]; /** * List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries */ countries: string[]; /** * The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. */ data: string; } export interface GetDomainRecordHttpService { /** * IPs to check */ ips: string[]; /** * Text to search */ mustContain: string; /** * Strategy to return an IP from the IPs list */ strategy: string; /** * URL to match the mustContain text to validate an IP */ url: string; /** * User-agent used when checking the URL */ userAgent: string; } export interface GetDomainRecordView { /** * The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. */ data: string; /** * The subnet of the view */ subnet: string; } export interface GetDomainRecordWeighted { /** * The weighted IP */ ip: string; /** * The weight of the IP */ weight: number; } export interface GetFlexibleIpsIp { /** * The date on which the flexible IP was created (RFC 3339 format). */ createdAt: string; /** * The description of the flexible IP. */ description: string; /** * The MAC address ID. */ id: string; ipAddress: string; /** * The MAC address of the Virtual MAC. */ macAddresses: outputs.GetFlexibleIpsIpMacAddress[]; /** * (Defaults to provider `organizationId`) The ID of the organization the IP is in. */ organizationId: string; /** * (Defaults to provider `projectId`) The ID of the project the IP is in. */ projectId: string; /** * The reverse domain associated with this IP. */ reverse: string; /** * The status of virtual MAC. */ status: string; /** * List of tags used as filter. IPs with these exact tags are listed. */ tags: string[]; /** * The date on which the flexible IP was last updated (RFC 3339 format). */ updatedAt: string; /** * `zone`) The zone in which IPs exist. */ zone: string; } export interface GetFlexibleIpsIpMacAddress { /** * The date on which the flexible IP was created (RFC 3339 format). */ createdAt: string; /** * The MAC address ID. */ id: string; /** * The MAC address of the Virtual MAC. */ macAddress: string; /** * The type of virtual MAC. */ macType: string; /** * The status of virtual MAC. */ status: string; /** * The date on which the flexible IP was last updated (RFC 3339 format). */ updatedAt: string; /** * `zone`) The zone in which IPs exist. */ zone: string; } export interface GetInstancePrivateNicPrivateIp { /** * The private IP address */ address: string; /** * The ID of the IP address resource */ id: string; } export interface GetInstanceSecurityGroupInboundRule { /** * The action to take when rule match. Possible values are: `accept` or `drop`. */ action: string; /** * The ip this rule apply to. */ ip: string; /** * The ip range (e.g `192.168.1.0/24`) this rule apply to. */ ipRange: string; /** * The port this rule apply to. If no port is specified, rule will apply to all port. */ port: number; /** * The port range (e.g `22-23`) this rule applies to. * If no `port` nor `portRange` are specified, rule will apply to all port. * Only one of `port` and `portRange` should be specified. */ portRange: string; /** * The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`. */ protocol: string; } export interface GetInstanceSecurityGroupOutboundRule { /** * The action to take when rule match. Possible values are: `accept` or `drop`. */ action: string; /** * The ip this rule apply to. */ ip: string; /** * The ip range (e.g `192.168.1.0/24`) this rule apply to. */ ipRange: string; /** * The port this rule apply to. If no port is specified, rule will apply to all port. */ port: number; /** * The port range (e.g `22-23`) this rule applies to. * If no `port` nor `portRange` are specified, rule will apply to all port. * Only one of `port` and `portRange` should be specified. */ portRange: string; /** * The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`. */ protocol: string; } export interface GetInstanceServerPrivateIp { /** * The address of the IP */ address: string; /** * The ID of the IP */ id: string; } export interface GetInstanceServerPrivateNetwork { /** * MAC address of the NIC */ macAddress: string; /** * The Private Network ID */ pnId: string; /** * The ID of the NIC */ pnicId: string; /** * The private NIC state */ status: string; /** * `zone`) The zone in which the server exists. */ zone: string; } export interface GetInstanceServerPublicIp { /** * The address of the IP */ address: string; /** * The ID of the IP */ id: string; } export interface GetInstanceServerRootVolume { /** * Set the volume where the boot the server */ boot: boolean; /** * Forces deletion of the root volume on instance termination. */ deleteOnTermination: boolean; /** * The server name. Only one of `name` and `serverId` should be specified. */ name: string; /** * SBS Volume IOPS, only with volumeType as sbs_volume */ sbsIops: number; /** * Size of the root volume in gigabytes. */ sizeInGb: number; /** * The volume ID of the root volume of the server. */ volumeId: string; /** * Volume type of the root volume */ volumeType: string; } export interface GetInstanceServersServer { /** * The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`. */ bootType: string; /** * @deprecated bootscript are not supported */ bootscriptId: string; /** * If true a dynamic IP will be attached to the server. */ enableDynamicIp: boolean; /** * Determines if IPv6 is enabled for the server. */ enableIpv6: boolean; /** * The ID of the IP */ id: string; /** * The UUID or the label of the base image used by the server. */ image: string; /** * The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true ) */ ipv6Address: string; /** * The ipv6 gateway address. ( Only set when enableIpv6 is set to true ) */ ipv6Gateway: string; /** * The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true ) */ ipv6PrefixLength: number; /** * The server name used as filter. Servers with a name like it are listed. */ name: string; /** * The organization ID the server is associated with. */ organizationId: string; /** * The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to. */ placementGroupId: string; placementGroupPolicyRespected: boolean; /** * The Scaleway internal IP address of the server. */ privateIp: string; /** * The ID of the project the server is associated with. */ projectId: string; /** * The public IP address of the server. * * @deprecated Use publicIps instead */ publicIp: string; /** * The list of public IPs of the server */ publicIps: outputs.GetInstanceServersServerPublicIp[]; /** * The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to. */ securityGroupId: string; /** * The state of the server. Possible values are: `started`, `stopped` or `standby`. */ state: string; /** * List of tags used as filter. Servers with these exact tags are listed. */ tags: string[]; /** * The commercial type of the server. */ type: string; /** * `zone`) The zone in which servers exist. */ zone: string; } export interface GetInstanceServersServerPublicIp { /** * The address of the IP */ address: string; /** * The ID of the IP */ id: string; } export interface GetInstanceSnapshotImport { /** * Bucket containing qcow */ bucket: string; /** * Key of the qcow file in the specified bucket */ key: string; } export interface GetIotDeviceCertificate { /** * X509 PEM encoded certificate of the device */ crt: string; /** * X509 PEM encoded key of the device */ key: string; } export interface GetIotDeviceMessageFilter { /** * Rule to restrict topics the device can publish to */ publishes: outputs.GetIotDeviceMessageFilterPublish[]; /** * Rule to restrict topics the device can subscribe to */ subscribes: outputs.GetIotDeviceMessageFilterSubscribe[]; } export interface GetIotDeviceMessageFilterPublish { /** * Publish message filter policy */ policy: string; /** * List of topics in the set */ topics: string[]; } export interface GetIotDeviceMessageFilterSubscribe { /** * Subscribe message filter policy */ policy: string; /** * List of topics in the set */ topics: string[]; } export interface GetIpamIpResource { /** * The ID of the resource that the IP is attached to. */ id?: string; /** * The name of the resource the IP is attached to. */ name?: string; /** * The type of the resource the IP is attached to. [Documentation](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/ipam/v1#pkg-constants) with type list. */ type: string; } export interface GetIpamIpsIp { /** * The Scaleway internal IP address of the resource. */ address: string; /** * The date and time of the creation of the IP. */ createdAt: string; /** * The ID of the resource. */ id: string; /** * The ID of the Project to filter for. */ projectId: string; /** * The region to filter for. */ region: string; /** * Filter for a resource attached to the IP, using resource ID, type or name. */ resources: outputs.GetIpamIpsIpResource[]; /** * The IP tags to filter for. */ tags: string[]; /** * The date and time of the last update of the IP. */ updatedAt: string; /** * The zone of the IP. */ zone: string; } export interface GetIpamIpsIpResource { /** * The ID of the attached resource. */ id: string; /** * The linked MAC address to filter for. */ macAddress: string; /** * The name of the attached resource. */ name: string; /** * The type of the attached resource. [Documentation](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/ipam/v1#pkg-constants) with type list. */ type: string; } export interface GetIpamIpsResource { /** * The ID of the attached resource. */ id?: string; /** * The name of the attached resource. */ name?: string; /** * The type of the attached resource. [Documentation](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/ipam/v1#pkg-constants) with type list. */ type: string; } export interface GetKubernetesClusterAutoUpgrade { /** * True if Kubernetes patch version auto upgrades is enabled. */ enable: boolean; /** * The day of the auto upgrade maintenance window (`monday` to `sunday`, or `any`). */ maintenanceWindowDay: string; /** * The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23). */ maintenanceWindowStartHour: number; } export interface GetKubernetesClusterAutoscalerConfig { /** * True if detecting similar node groups and balance the number of nodes between them is enabled. */ balanceSimilarNodeGroups: boolean; /** * True if the scale down feature of the autoscaler is disabled. */ disableScaleDown: boolean; /** * The type of resource estimator used in scale up. */ estimator: string; /** * The type of node group expander be used in scale up. */ expander: string; /** * Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable. */ expendablePodsPriorityCutoff: number; /** * True if ignoring DaemonSet pods when calculating resource utilization for scaling down is enabled. */ ignoreDaemonsetsUtilization: boolean; /** * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node */ maxGracefulTerminationSec: number; /** * The duration after scale up that scale down evaluation resumes. */ scaleDownDelayAfterAdd: string; /** * The duration a node should be unneeded before it is eligible for scale down. */ scaleDownUnneededTime: string; /** * Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down */ scaleDownUtilizationThreshold: number; } export interface GetKubernetesClusterKubeconfig { /** * The CA certificate of the Kubernetes API server. */ clusterCaCertificate: string; /** * The raw kubeconfig file. */ configFile: string; /** * The URL of the Kubernetes API server. */ host: string; /** * The token to connect to the Kubernetes API server. */ token: string; } export interface GetKubernetesClusterOpenIdConnectConfig { /** * A client id that all tokens must be issued for */ clientId: string; /** * JWT claim to use as the user's group */ groupsClaims: string[]; /** * Prefix prepended to group claims */ groupsPrefix: string; /** * URL of the provider which allows the API server to discover public signing keys */ issuerUrl: string; /** * Multiple key=value pairs that describes a required claim in the ID Token */ requiredClaims: string[]; /** * JWT claim to use as the user name */ usernameClaim: string; /** * Prefix prepended to username */ usernamePrefix: string; } export interface GetKubernetesNodePoolNode { /** * The ID of the pool. */ id: string; /** * The pool name. Only one of `name` and `poolId` should be specified. `clusterId` should be specified with `name`. */ name: string; /** * List of private IPv4 and IPv6 addresses associated with the node */ privateIps: outputs.GetKubernetesNodePoolNodePrivateIp[]; /** * The public IPv4. */ publicIp: string; /** * The public IPv6. */ publicIpV6: string; /** * The status of the node. */ status: string; } export interface GetKubernetesNodePoolNodePrivateIp { /** * The private IP address */ address: string; /** * The ID of the pool. */ id: string; } export interface GetKubernetesNodePoolUpgradePolicy { /** * The maximum number of nodes to be created during the upgrade */ maxSurge: number; /** * The maximum number of nodes that can be not ready at the same time */ maxUnavailable: number; } export interface GetLbAclsAcl { /** * The action to be undertaken when an ACL filter matches. */ actions: outputs.GetLbAclsAclAction[]; /** * The date on which the ACL was created (RFC 3339 format). */ createdAt: string; /** * The description of the ACL resource. */ description: string; /** * The frontend ID this ACL is attached to. ACLs with a matching frontend ID are listed. * > **Important:** LB frontend IDs are zoned, which means they are of the form `{zone}/{id}`, e.g. `fr-par-1/11111111-1111-1111-1111-111111111111` */ frontendId: string; /** * The associated ACL ID. * > **Important:** LB ACLs' IDs are zoned, which means they are of the form `{zone}/{id}`, e.g. `fr-par-1/11111111-1111-1111-1111-111111111111` */ id: string; /** * The priority of this ACL in the ordered list. */ index: number; /** * The ACL match rule. */ matches: outputs.GetLbAclsAclMatch[]; /** * The ACL name to filter for. ACLs with a matching name are listed. */ name: string; /** * The date on which the ACL was last updated (RFC 3339 format). */ updateAt: string; } export interface GetLbAclsAclAction { /** * Redirect parameters when using an ACL with `redirect` action. */ redirects: outputs.GetLbAclsAclActionRedirect[]; /** * The redirect type. */ type: string; } export interface GetLbAclsAclActionRedirect { /** * The HTTP redirect code to use. */ code: number; /** * The URL used in case of a location redirect, or the scheme name that replaces the request's original scheme. */ target: string; /** * The redirect type. */ type: string; } export interface GetLbAclsAclMatch { /** * The HTTP filter to match. */ httpFilter: string; /** * A list of possible values for the HTTP filter based on the HTTP header. */ httpFilterOption: string; /** * The possible values to match for a given HTTP filter. */ httpFilterValues: string[]; /** * The condition will be of type "unless" if invert is set to `true` */ invert: boolean; /** * A list of IPs, or CIDR v4/v6 addresses of the session client, to match. */ ipSubnets: string[]; } export interface GetLbBackendHealthCheckHttp { /** * The expected HTTP status code */ code: number; /** * The HTTP host header to use for HC requests */ hostHeader: string; /** * The HTTP method to use for HC requests */ method: string; /** * The SNI to use for HC requests over SSL */ sni: string; /** * The HTTPS endpoint URL to call for HC requests */ uri: string; } export interface GetLbBackendHealthCheckTcp { } export interface GetLbBackendsBackend { /** * The date on which the backend was created (RFC 3339 format). */ createdAt: string; /** * Scaleway S3 bucket website to be served if all backend servers are down. */ failoverHost: string; /** * User sessions will be forwarded to this backend server port. */ forwardPort: number; /** * Load balancing algorithm. */ forwardPortAlgorithm: string; /** * Backend protocol. */ forwardProtocol: string; /** * Interval between two health check requests. */ healthCheckDelay: string; /** * This block enables HTTP health checks. */ healthCheckHttp: outputs.GetLbBackendsBackendHealthCheckHttp[]; /** * This block enables HTTPS health checks. */ healthCheckHttps: outputs.GetLbBackendsBackendHealthCheckHttp[]; /** * Number of allowed failed health check requests before the backend server is marked as down. */ healthCheckMaxRetries: number; /** * Port the health check requests will be sent to. */ healthCheckPort: number; /** * This block enables TCP health checks. */ healthCheckTcps: outputs.GetLbBackendsBackendHealthCheckTcp[]; /** * Timeout before a health check request is considered failed. */ healthCheckTimeout: string; /** * The associated backend ID. */ id: string; /** * Specifies whether the Load Balancer should check the backend server’s certificate before initiating a connection. */ ignoreSslServerVerify: boolean; /** * The Load Balancer ID this backend is attached to. Backends with a matching ID are listed. */ lbId: string; /** * The backend name to filter for. Backends with a matching name are listed. */ name: string; /** * Modify what occurs when a backend server is marked down. */ onMarkedDownAction: string; /** * The type of PROXY protocol. */ proxyProtocol: string; /** * List of backend server IP addresses. */ serverIps: string[]; /** * Enables SSL between Load Balancer and backend servers. */ sslBridging: boolean; /** * Enables cookie-based session persistence. */ stickySessions: string; /** * Cookie name for sticky sessions. */ stickySessionsCookieName: string; /** * Maximum initial server connection establishment time. */ timeoutConnect: string; /** * Maximum server connection inactivity time. */ timeoutServer: string; /** * Maximum tunnel inactivity time. */ timeoutTunnel: string; /** * The date on which the backend was last updated (RFC 3339 format). */ updateAt: string; } export interface GetLbBackendsBackendHealthCheckHttp { /** * The expected HTTP status code. */ code: number; /** * The HTTP host header to use for health check requests. */ hostHeader: string; /** * The HTTP method to use for health check requests. */ method: string; /** * The SNI to use for HC requests over SSL. */ sni: string; /** * The path of health check requests. */ uri: string; } export interface GetLbBackendsBackendHealthCheckTcp { } export interface GetLbFrontendAcl { /** * Action to undertake when an ACL filter matches */ actions: outputs.GetLbFrontendAclAction[]; /** * IsDate and time of ACL's creation (RFC 3339 format) */ createdAt: string; /** * Description of the ACL */ description: string; /** * The ACL match ru