UNPKG

@pulumiverse/scaleway

Version:

A Pulumi package for creating and managing Scaleway cloud resources.

2,008 lines 370 kB
import * as outputs from "../types/output"; export interface AppleSiliconServerPrivateIp { /** * The private IP address. */ address: string; /** * The ID of the IP address resource. */ id: string; } export interface AppleSiliconServerPrivateNetwork { /** * The date and time the private network was created. */ createdAt: string; /** * The private network ID */ id: string; /** * A list of IPAM IP IDs to attach to the server. */ ipamIpIds: string[]; /** * The current status of the private network. */ status: string; /** * The date and time the private network was last updated. */ updatedAt: string; /** * The VLAN ID associated with 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 BlockSnapshotExport { /** * The name of the bucket where the QCOW file will be saved. */ bucket: string; /** * The desired key (path) for the QCOW file within the bucket. */ key: string; } export interface BlockSnapshotImport { /** * The name of the bucket containing the QCOW file. */ bucket: string; /** * The key of the QCOW file within the 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). * * > **Important:** Only one of `livenessProbe` or `healthCheck` can be set at a time. */ interval: string; /** * When set to `true`, performs TCP checks on the container. */ tcp: boolean; } export interface ContainerHealthCheckHttp { /** * Path to use for the HTTP health check. */ path: string; } export interface ContainerLivenessProbe { /** * Number of consecutive failures before considering the container has to be restarted. */ failureThreshold: number; /** * Perform HTTP check on the container with the specified path. */ http?: outputs.ContainerLivenessProbeHttp; /** * Time interval between checks (in duration notation, e.g. "30s"). */ interval: string; /** * When set to `true`, performs TCP checks on the container. */ tcp?: boolean; /** * The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds. */ timeout: string; } export interface ContainerLivenessProbeHttp { /** * 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 ContainerStartupProbe { /** * Number of consecutive failures before considering the container has to be restarted. */ failureThreshold: number; /** * Perform HTTP check on the container with the specified path. */ http?: outputs.ContainerStartupProbeHttp; /** * Time interval between checks (in duration notation, e.g. "30s"). */ interval: string; /** * When set to `true`, performs TCP checks on the container. */ tcp?: boolean; /** * The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds. */ timeout: string; } export interface ContainerStartupProbeHttp { /** * Path to use for the HTTP health check. */ path: string; } export interface ContainerTriggerCron { /** * Body to send to the container when the trigger is invoked. */ body?: string; /** * Additional headers to send to the container when the trigger is invoked. */ headers?: { [key: string]: string; }; /** * UNIX cron schedule to run job (e.g., "* * * * *"). */ schedule: string; /** * Timezone for the cron schedule, in tz database format (e.g., "Europe/Paris"). */ timezone: string; } export interface ContainerTriggerDestinationConfig { /** * The HTTP method to use when sending the request (e.g., get, post, put, patch, delete). */ httpMethod: string; /** * The HTTP path to send the request to (e.g., "/my-webhook-endpoint"). */ httpPath: string; } export interface ContainerTriggerNats { /** * unique identifier of the Messaging and Queuing NATS account. */ accountId?: string; /** * The content of the NATS credentials file that will be used to authenticate with the NATS server and subscribe to the specified subject. */ credentialsFileContent: 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 list of URLs of the NATS server (e.g., "nats://nats.mnq.fr-par.scaleway.com:4222"). */ serverUrls: string[]; /** * NATS subject to subscribe to (e.g., \"my-subject\")." */ subject: string; } export interface ContainerTriggerSqs { /** * The access key for accessing the SQS queue. */ accessKey: string; /** * Endpoint URL to use to access SQS (e.g., <https://sqs.mnq.fr-par.scaleway.com>). */ endpoint: string; /** * The ID of the project in which SQS is enabled, (defaults to provider `projectId`) */ projectId: string; /** * The name of the SQS queue. This argument is no longer supported. * * @deprecated This field is no longer supported, please use queueUrl instead to identify the queue. */ queue?: string; /** * The URL of the SQS queue to monitor for messages. */ queueUrl: string; /** * Region where SQS is enabled (defaults to provider `region`) */ region: string; /** * The secret key for accessing the SQS queue. */ secretKey: string; } export interface DatabaseAclAclRule { /** * A text describing this rule. Default description: `IP allowed` */ description: string; /** * The IPv4 address or range to whitelist in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). IPv6 is not supported by the Scaleway API. */ 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 DatabaseInstanceMaintenance { /** * Closed maintenance date. */ closedAt: string; /** * Time when Scaleway-side maintenance will be applied. */ forcedAt: string; /** * Whether the maintenance can be applied by the user. */ isApplicable: boolean; /** * Maintenance information message. */ reason: string; /** * Start date of the maintenance window. */ startsAt: string; /** * Status of the maintenance (`pending`, `ongoing`, `done`, `canceled`, `unknown`). */ status: string; /** * End date of the maintenance window. */ stopsAt: string; } export interface DatabaseInstancePrivateIp { /** * The private IPv4 address. */ address: string; /** * Version ID to use in upgrade requests. */ 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 DatabaseInstanceUpgradableVersion { /** * Version ID to use in upgrade requests. */ id: string; /** * Minor version string (e.g., `15.5.0`). */ minorVersion: string; /** * The name of the Database Instance. */ name: string; /** * Version string (e.g., `15.5`). */ version: string; } 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 EdgeServicesBackendStageContainerBackendConfig { /** * The ID of the Serverless Container. */ containerId: string; /** * `region`) The region of the Serverless Container. */ region?: string; } export interface EdgeServicesBackendStageFunctionBackendConfig { /** * The ID of the Serverless Function. */ functionId: string; /** * `region`) The region of the Serverless Function. */ region?: string; } 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; /** * Defines whether to forward websocket requests to the load balancer. */ hasWebsocket?: boolean; /** * 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. Conflicts with `wafStageId` within the same rule. */ backendStageId?: string; /** * The rule condition to be matched. Requests matching the condition defined here will be forwarded to the stage specified by `backendStageId` or `wafStageId`. Requests that do not match will be checked by the next rule's condition. */ ruleHttpMatch?: outputs.EdgeServicesRouteStageRuleRuleHttpMatch; /** * The ID of the WAF stage that requests matching the rule should be forwarded to. Conflicts with `backendStageId` within the same rule. */ wafStageId?: string; } export interface EdgeServicesRouteStageRuleRuleHttpMatch { /** * Host to filter for. A request whose host matches the given filter will be considered to match the rule. All hosts will match if none is provided. */ hostFilter?: outputs.EdgeServicesRouteStageRuleRuleHttpMatchHostFilter; /** * 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 EdgeServicesRouteStageRuleRuleHttpMatchHostFilter { /** * The type of filter to match for the host. Use the `regex` type. */ hostFilterType: string; /** * The value to be matched for the host. */ value: string; } 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 GetBlockSnapshotExport { /** * Bucket containing qcow */ bucket: string; /** * Key of the qcow file in the specified bucket */ key: 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 failures before considering the container has to be restarted. */ failureThreshold: number; /** * Perform HTTP check on the container with the specified path. */ https: outputs.GetContainerHealthCheckHttp[]; /** * Time interval between checks (in duration notation, e.g. "30s"). */ interval: string; /** * When set to `true`, performs TCP checks on the container. */ tcp: boolean; } export interface GetContainerHealthCheckHttp { /** * Path to use for the HTTP health check. */ path: string; } export interface GetContainerLivenessProbe { /** * Number of consecutive failures before considering the container has to be restarted. */ failureThreshold: number; /** * Perform HTTP check on the container with the specified path. */ https: outputs.GetContainerLivenessProbeHttp[]; /** * Time interval between checks (in duration notation, e.g. "30s"). */ interval: string; /** * When set to `true`, performs TCP checks on the container. */ tcp: boolean; /** * The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds. */ timeout: string; } export interface GetContainerLivenessProbeHttp { /** * 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 GetContainerStartupProbe { /** * Number of consecutive failures before considering the container has to be restarted. */ failureThreshold: number; /** * Perform HTTP check on the container with the specified path. */ https: outputs.GetContainerStartupProbeHttp[]; /** * Time interval between checks (in duration notation, e.g. "30s"). */ interval: string; /** * When set to `true`, performs TCP checks on the container. */ tcp: boolean; /** * The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds. */ timeout: string; } export interface GetContainerStartupProbeHttp { /** * Path to use for the HTTP health check. */ path: string; } export interface GetDatabaseAclAclRule { /** * A simple text describing this rule */ description: string; /** * The IPv4 address or range to whitelist in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). IPv6 is not supported by the Scaleway API. */ 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 GetDatabaseInstanceMaintenance { /** * Closed maintenance date */ closedAt: string; /** * Time when Scaleway-side maintenance will be applied */ forcedAt: string; /** * Whether the maintenance can be applied by the user */ isApplicable: boolean; /** * Maintenance information message */ reason: string; /** * Start date of the maintenance window */ startsAt: string; /** * Status of the maintenance */ status: string; /** * End date of the maintenance window */ stopsAt: string; } 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 GetDatabaseInstanceUpgradableVersion { /** * The ID of the Database Instance. */ id: string; /** * Minor version string */ minorVersion: string; /** * The name of the RDB instance. */ name: string; /** * Version string */ version: string; } 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; /** * IP address of the flexible IP */ 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 GetInstanceServerFilesystem { /** * The filesystem ID attached to the server */ filesystemId: string; /** * The state of the filesystem */ status: string; } export interface GetInstanceServerPrivateIp { /** * The private IP address. */ address: string; /** * The ID of the IP address resource. */ 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 private IP address. */ address: string; /** * Whether the IP is dynamic */ dynamic: boolean; /** * IP address family (inet or inet6) */ family: string; /** * Gateway's IP address */ gateway: string; /** * The ID of the IP address resource. */ id: string; /** * CIDR netmask */ netmask: string; /** * Provisioning mode of the IP address */ provisioningMode: 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; /** * UUID of the bootscript * * @deprecated bootscript are not supported */ bootscriptId: string; /** * If true a dynamic IP will be attached to the server. */ enableDynamicIp: boolean; /** * The ID of the IP */ id: string; /** * The UUID or the label of the base image used by the server. */ image: string; /** * 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; /** * Whether the placement group policy respected or not */ placementGroupPolicyRespected: boolean; /** * The list of private IPv4 and IPv6 addresses associated with the server. */ privateIps: outputs.GetInstanceServersServerPrivateIp[]; /** * The ID of the project the server is associated with. */ projectId: 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 GetInstanceServersServerPrivateIp { /** * The address of the IP */ address: string; /** * The ID of the IP */ id: string; } export interface GetInstanceServersServerPublicIp { /** * The address of the IP */ address: string; /** * Whether the IP is dynamic. */ dynamic: boolean; /** * IP address family (inet or inet6). */ family: string; /** * Gateway's IP address. */ gateway: string; /** * The ID of the IP */ id: string; /** * CIDR netmask. */ netmask: string; /** * Provisioning mode of the IP address. */ provisioningMode: 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 GetKeyManagerKeyRotationPolicy { /** * Timestamp indicating the next scheduled rotation. */ nextRotationAt: string; /** * Time interval between two key rotations. The minimum duration is 24 hours and the maximum duration is 1 year (876000 hours). */ rotationPeriod: 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 de