@upcloud/pulumi-upcloud 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/types/input.d.ts CHANGED
@@ -1,5 +1,47 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "../types/input";
3
+ export interface FileStorageNetwork {
4
+ /**
5
+ * IP family, e.g. IPv4.
6
+ */
7
+ family: pulumi.Input<string>;
8
+ /**
9
+ * IP address to assign (optional, auto-assign otherwise).
10
+ */
11
+ ipAddress?: pulumi.Input<string>;
12
+ /**
13
+ * Attachment name (unique per this service).
14
+ */
15
+ name: pulumi.Input<string>;
16
+ /**
17
+ * UUID of an existing private network to attach.
18
+ */
19
+ uuid: pulumi.Input<string>;
20
+ }
21
+ export interface FileStorageShare {
22
+ /**
23
+ * Access control entries (1–50).
24
+ */
25
+ acls?: pulumi.Input<pulumi.Input<inputs.FileStorageShareAcl>[]>;
26
+ /**
27
+ * Unique name of the share (1–64 chars).
28
+ */
29
+ name: pulumi.Input<string>;
30
+ /**
31
+ * Absolute path exported by the share (e.g. `/public`).
32
+ */
33
+ path: pulumi.Input<string>;
34
+ }
35
+ export interface FileStorageShareAcl {
36
+ /**
37
+ * Access level: 'ro' or 'rw'.
38
+ */
39
+ permission: pulumi.Input<string>;
40
+ /**
41
+ * Target IP/CIDR or '*'.
42
+ */
43
+ target: pulumi.Input<string>;
44
+ }
3
45
  export interface GatewayAddress {
4
46
  /**
5
47
  * IP addresss
@@ -562,146 +604,6 @@ export interface GetManagedDatabasePostgresqlSessionsSessionArgs {
562
604
  */
563
605
  xactStart?: pulumi.Input<string>;
564
606
  }
565
- export interface GetManagedDatabaseRedisSessionsSession {
566
- /**
567
- * Number of active channel subscriptions
568
- */
569
- activeChannelSubscriptions?: number;
570
- /**
571
- * Current database ID
572
- */
573
- activeDatabase?: string;
574
- /**
575
- * Number of pattern matching subscriptions.
576
- */
577
- activePatternMatchingChannelSubscriptions?: number;
578
- /**
579
- * Name of the application that is connected to this service.
580
- */
581
- applicationName?: string;
582
- /**
583
- * Number of pattern matching subscriptions.
584
- */
585
- clientAddr?: string;
586
- /**
587
- * Total duration of the connection in nanoseconds.
588
- */
589
- connectionAge?: number;
590
- /**
591
- * Idle time of the connection in nanoseconds.
592
- */
593
- connectionIdle?: number;
594
- /**
595
- * A set containing flags' descriptions.
596
- */
597
- flags?: string[];
598
- /**
599
- * Client connection flags in raw string format.
600
- */
601
- flagsRaw?: string;
602
- /**
603
- * Process ID of this session.
604
- */
605
- id?: string;
606
- /**
607
- * Number of commands in a MULTI/EXEC context.
608
- */
609
- multiExecCommands?: number;
610
- /**
611
- * Output buffer length.
612
- */
613
- outputBuffer?: number;
614
- /**
615
- * Output buffer memory usage.
616
- */
617
- outputBufferMemory?: number;
618
- /**
619
- * Output list length (replies are queued in this list when the buffer is full).
620
- */
621
- outputListLength?: number;
622
- /**
623
- * The last executed command.
624
- */
625
- query?: string;
626
- /**
627
- * Query buffer length (0 means no query pending).
628
- */
629
- queryBuffer?: number;
630
- /**
631
- * Free space of the query buffer (0 means the buffer is full).
632
- */
633
- queryBufferFree?: number;
634
- }
635
- export interface GetManagedDatabaseRedisSessionsSessionArgs {
636
- /**
637
- * Number of active channel subscriptions
638
- */
639
- activeChannelSubscriptions?: pulumi.Input<number>;
640
- /**
641
- * Current database ID
642
- */
643
- activeDatabase?: pulumi.Input<string>;
644
- /**
645
- * Number of pattern matching subscriptions.
646
- */
647
- activePatternMatchingChannelSubscriptions?: pulumi.Input<number>;
648
- /**
649
- * Name of the application that is connected to this service.
650
- */
651
- applicationName?: pulumi.Input<string>;
652
- /**
653
- * Number of pattern matching subscriptions.
654
- */
655
- clientAddr?: pulumi.Input<string>;
656
- /**
657
- * Total duration of the connection in nanoseconds.
658
- */
659
- connectionAge?: pulumi.Input<number>;
660
- /**
661
- * Idle time of the connection in nanoseconds.
662
- */
663
- connectionIdle?: pulumi.Input<number>;
664
- /**
665
- * A set containing flags' descriptions.
666
- */
667
- flags?: pulumi.Input<pulumi.Input<string>[]>;
668
- /**
669
- * Client connection flags in raw string format.
670
- */
671
- flagsRaw?: pulumi.Input<string>;
672
- /**
673
- * Process ID of this session.
674
- */
675
- id?: pulumi.Input<string>;
676
- /**
677
- * Number of commands in a MULTI/EXEC context.
678
- */
679
- multiExecCommands?: pulumi.Input<number>;
680
- /**
681
- * Output buffer length.
682
- */
683
- outputBuffer?: pulumi.Input<number>;
684
- /**
685
- * Output buffer memory usage.
686
- */
687
- outputBufferMemory?: pulumi.Input<number>;
688
- /**
689
- * Output list length (replies are queued in this list when the buffer is full).
690
- */
691
- outputListLength?: pulumi.Input<number>;
692
- /**
693
- * The last executed command.
694
- */
695
- query?: pulumi.Input<string>;
696
- /**
697
- * Query buffer length (0 means no query pending).
698
- */
699
- queryBuffer?: pulumi.Input<number>;
700
- /**
701
- * Free space of the query buffer (0 means the buffer is full).
702
- */
703
- queryBufferFree?: pulumi.Input<number>;
704
- }
705
607
  export interface GetManagedDatabaseValkeySessionsSession {
706
608
  /**
707
609
  * Number of active channel subscriptions
@@ -1915,7 +1817,7 @@ export interface ManagedDatabaseOpensearchProperties {
1915
1817
  clusterRoutingAllocationNodeConcurrentRecoveries?: pulumi.Input<number>;
1916
1818
  clusterSearchRequestSlowlog?: pulumi.Input<inputs.ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog>;
1917
1819
  /**
1918
- * Custom domain. Serve the web frontend using a custom CNAME pointing to the Aiven DNS name.
1820
+ * Custom domain. Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. When you set a custom domain for a service deployed in a VPC, the service certificate is only created for the public-* hostname and the custom domain.
1919
1821
  */
1920
1822
  customDomain?: pulumi.Input<string>;
1921
1823
  /**
@@ -2046,6 +1948,10 @@ export interface ManagedDatabaseOpensearchProperties {
2046
1948
  * How long audit history indices are kept in days.
2047
1949
  */
2048
1950
  ismHistoryRolloverRetentionPeriod?: pulumi.Input<number>;
1951
+ /**
1952
+ * OpenSearch JWT Configuration.
1953
+ */
1954
+ jwt?: pulumi.Input<inputs.ManagedDatabaseOpensearchPropertiesJwt>;
2049
1955
  /**
2050
1956
  * Don't reset index.refresh_interval to the default value. Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true.
2051
1957
  */
@@ -2291,6 +2197,44 @@ export interface ManagedDatabaseOpensearchPropertiesIndexTemplate {
2291
2197
  */
2292
2198
  numberOfShards?: pulumi.Input<number>;
2293
2199
  }
2200
+ export interface ManagedDatabaseOpensearchPropertiesJwt {
2201
+ /**
2202
+ * Enable or disable OpenSearch JWT authentication. Enables or disables JWT-based authentication for OpenSearch. When enabled, users can authenticate using JWT tokens.
2203
+ */
2204
+ enabled?: pulumi.Input<boolean>;
2205
+ /**
2206
+ * JWT clock skew tolerance in seconds. The maximum allowed time difference in seconds between the JWT issuer's clock and the OpenSearch server's clock. This helps prevent token validation failures due to minor time synchronization issues.
2207
+ */
2208
+ jwtClockSkewToleranceSeconds?: pulumi.Input<number>;
2209
+ /**
2210
+ * HTTP header name for JWT token. The HTTP header name where the JWT token is transmitted. Typically 'Authorization' for Bearer tokens.
2211
+ */
2212
+ jwtHeader?: pulumi.Input<string>;
2213
+ /**
2214
+ * URL parameter name for JWT token. If the JWT token is transmitted as a URL parameter instead of an HTTP header, specify the parameter name here.
2215
+ */
2216
+ jwtUrlParameter?: pulumi.Input<string>;
2217
+ /**
2218
+ * Required JWT audience. If specified, the JWT must contain an 'aud' claim that matches this value. This provides additional security by ensuring the JWT was issued for the expected audience.
2219
+ */
2220
+ requiredAudience?: pulumi.Input<string>;
2221
+ /**
2222
+ * Required JWT issuer. If specified, the JWT must contain an 'iss' claim that matches this value. This provides additional security by ensuring the JWT was issued by the expected issuer.
2223
+ */
2224
+ requiredIssuer?: pulumi.Input<string>;
2225
+ /**
2226
+ * JWT claim key for roles. The key in the JWT payload that contains the user's roles. If specified, roles will be extracted from the JWT for authorization.
2227
+ */
2228
+ rolesKey?: pulumi.Input<string>;
2229
+ /**
2230
+ * JWT signing key. The secret key used to sign and verify JWT tokens. This should be a secure, randomly generated key HMAC key or public RSA/ECDSA key.
2231
+ */
2232
+ signingKey?: pulumi.Input<string>;
2233
+ /**
2234
+ * JWT claim key for subject. The key in the JWT payload that contains the user's subject identifier. If not specified, the 'sub' claim is used by default.
2235
+ */
2236
+ subjectKey?: pulumi.Input<string>;
2237
+ }
2294
2238
  export interface ManagedDatabaseOpensearchPropertiesOpenid {
2295
2239
  /**
2296
2240
  * The ID of the OpenID Connect client. The ID of the OpenID Connect client configured in your IdP. Required.
@@ -2794,6 +2738,26 @@ export interface ManagedDatabasePostgresqlProperties {
2794
2738
  * Time out sessions with open transactions after this number of milliseconds.
2795
2739
  */
2796
2740
  idleInTransactionSessionTimeout?: pulumi.Input<number>;
2741
+ /**
2742
+ * EXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units. Version 17 and up only.
2743
+ */
2744
+ ioCombineLimit?: pulumi.Input<number>;
2745
+ /**
2746
+ * EXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units, and silently limits the user-settable parameter io_combine_limit. Version 18 and up only. Changing this parameter causes a service restart.
2747
+ */
2748
+ ioMaxCombineLimit?: pulumi.Input<number>;
2749
+ /**
2750
+ * EXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously. Version 18 and up only. Changing this parameter causes a service restart.
2751
+ */
2752
+ ioMaxConcurrency?: pulumi.Input<number>;
2753
+ /**
2754
+ * EXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously. Version 18 and up only. Changing this parameter causes a service restart.
2755
+ */
2756
+ ioMethod?: pulumi.Input<string>;
2757
+ /**
2758
+ * io_max_concurrency. EXPERIMENTAL: Number of IO worker processes, for io_method=worker. Version 18 and up only. Changing this parameter causes a service restart.
2759
+ */
2760
+ ioWorkers?: pulumi.Input<number>;
2797
2761
  /**
2798
2762
  * IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
2799
2763
  */
@@ -2890,6 +2854,10 @@ export interface ManagedDatabasePostgresqlProperties {
2890
2854
  * Migrate data from existing server.
2891
2855
  */
2892
2856
  migration?: pulumi.Input<inputs.ManagedDatabasePostgresqlPropertiesMigration>;
2857
+ /**
2858
+ * Number of nodes for the service.
2859
+ */
2860
+ nodeCount?: pulumi.Input<number>;
2893
2861
  /**
2894
2862
  * Chooses the algorithm for encrypting passwords.
2895
2863
  */
@@ -3151,176 +3119,6 @@ export interface ManagedDatabasePostgresqlPropertiesTimescaledb {
3151
3119
  */
3152
3120
  maxBackgroundWorkers?: pulumi.Input<number>;
3153
3121
  }
3154
- export interface ManagedDatabaseRedisComponent {
3155
- /**
3156
- * Type of the component
3157
- */
3158
- component?: pulumi.Input<string>;
3159
- /**
3160
- * Hostname of the component
3161
- */
3162
- host?: pulumi.Input<string>;
3163
- /**
3164
- * Port number of the component
3165
- */
3166
- port?: pulumi.Input<number>;
3167
- /**
3168
- * Component network route type
3169
- */
3170
- route?: pulumi.Input<string>;
3171
- /**
3172
- * Usage of the component
3173
- */
3174
- usage?: pulumi.Input<string>;
3175
- }
3176
- export interface ManagedDatabaseRedisNetwork {
3177
- /**
3178
- * Network family. Currently only `IPv4` is supported.
3179
- */
3180
- family: pulumi.Input<string>;
3181
- /**
3182
- * The name of the network. Must be unique within the service.
3183
- */
3184
- name: pulumi.Input<string>;
3185
- /**
3186
- * The type of the network. Must be private.
3187
- */
3188
- type: pulumi.Input<string>;
3189
- /**
3190
- * Private network UUID. Must reside in the same zone as the database.
3191
- */
3192
- uuid: pulumi.Input<string>;
3193
- }
3194
- export interface ManagedDatabaseRedisNodeState {
3195
- /**
3196
- * Name plus a node iteration
3197
- */
3198
- name?: pulumi.Input<string>;
3199
- /**
3200
- * Role of the node
3201
- */
3202
- role?: pulumi.Input<string>;
3203
- /**
3204
- * State of the node
3205
- */
3206
- state?: pulumi.Input<string>;
3207
- }
3208
- export interface ManagedDatabaseRedisProperties {
3209
- /**
3210
- * Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone.
3211
- */
3212
- automaticUtilityNetworkIpFilter?: pulumi.Input<boolean>;
3213
- /**
3214
- * The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
3215
- */
3216
- backupHour?: pulumi.Input<number>;
3217
- /**
3218
- * The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
3219
- */
3220
- backupMinute?: pulumi.Input<number>;
3221
- /**
3222
- * IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
3223
- */
3224
- ipFilters?: pulumi.Input<pulumi.Input<string>[]>;
3225
- /**
3226
- * Migrate data from existing server.
3227
- */
3228
- migration?: pulumi.Input<inputs.ManagedDatabaseRedisPropertiesMigration>;
3229
- /**
3230
- * Public Access. Allow access to the service from the public Internet.
3231
- */
3232
- publicAccess?: pulumi.Input<boolean>;
3233
- /**
3234
- * Default ACL for pub/sub channels used when Redis user is created. Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, allChannels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.
3235
- */
3236
- redisAclChannelsDefault?: pulumi.Input<string>;
3237
- /**
3238
- * Redis IO thread count. Set Redis IO thread count. Changing this will cause a restart of the Redis service.
3239
- */
3240
- redisIoThreads?: pulumi.Input<number>;
3241
- /**
3242
- * LFU maxmemory-policy counter decay time in minutes.
3243
- */
3244
- redisLfuDecayTime?: pulumi.Input<number>;
3245
- /**
3246
- * Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies.
3247
- */
3248
- redisLfuLogFactor?: pulumi.Input<number>;
3249
- /**
3250
- * Redis maxmemory-policy.
3251
- */
3252
- redisMaxmemoryPolicy?: pulumi.Input<string>;
3253
- /**
3254
- * Set notify-keyspace-events option.
3255
- */
3256
- redisNotifyKeyspaceEvents?: pulumi.Input<string>;
3257
- /**
3258
- * Number of Redis databases. Set number of Redis databases. Changing this will cause a restart of the Redis service.
3259
- */
3260
- redisNumberOfDatabases?: pulumi.Input<number>;
3261
- /**
3262
- * Redis persistence. When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to the backup schedule for backup purposes. When persistence is 'off', no RDB dumps or backups are done, so data can be lost at any moment if the service is restarted for any reason, or if the service is powered off. Also, the service can't be forked.
3263
- */
3264
- redisPersistence?: pulumi.Input<string>;
3265
- /**
3266
- * Pub/sub client output buffer hard limit in MB. Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
3267
- */
3268
- redisPubsubClientOutputBufferLimit?: pulumi.Input<number>;
3269
- /**
3270
- * Require SSL to access Redis.
3271
- */
3272
- redisSsl?: pulumi.Input<boolean>;
3273
- /**
3274
- * Redis idle connection timeout in seconds.
3275
- */
3276
- redisTimeout?: pulumi.Input<number>;
3277
- /**
3278
- * Redis major version.
3279
- */
3280
- redisVersion?: pulumi.Input<string>;
3281
- /**
3282
- * Service logging. Store logs for the service so that they are available in the HTTP API and console.
3283
- */
3284
- serviceLog?: pulumi.Input<boolean>;
3285
- }
3286
- export interface ManagedDatabaseRedisPropertiesMigration {
3287
- /**
3288
- * Database name for bootstrapping the initial connection.
3289
- */
3290
- dbname?: pulumi.Input<string>;
3291
- /**
3292
- * Hostname or IP address of the server where to migrate data from.
3293
- */
3294
- host?: pulumi.Input<string>;
3295
- /**
3296
- * Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment).
3297
- */
3298
- ignoreDbs?: pulumi.Input<string>;
3299
- /**
3300
- * Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment).
3301
- */
3302
- ignoreRoles?: pulumi.Input<string>;
3303
- /**
3304
- * The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).
3305
- */
3306
- method?: pulumi.Input<string>;
3307
- /**
3308
- * Password for authentication with the server where to migrate data from.
3309
- */
3310
- password?: pulumi.Input<string>;
3311
- /**
3312
- * Port number of the server where to migrate data from.
3313
- */
3314
- port?: pulumi.Input<number>;
3315
- /**
3316
- * The server where to migrate data from is secured with SSL.
3317
- */
3318
- ssl?: pulumi.Input<boolean>;
3319
- /**
3320
- * User name for authentication with the server where to migrate data from.
3321
- */
3322
- username?: pulumi.Input<string>;
3323
- }
3324
3122
  export interface ManagedDatabaseUserOpensearchAccessControl {
3325
3123
  /**
3326
3124
  * Set user access control rules.
@@ -3343,24 +3141,6 @@ export interface ManagedDatabaseUserPgAccessControl {
3343
3141
  */
3344
3142
  allowReplication?: pulumi.Input<boolean>;
3345
3143
  }
3346
- export interface ManagedDatabaseUserRedisAccessControl {
3347
- /**
3348
- * Set access control to all commands in specified categories.
3349
- */
3350
- categories?: pulumi.Input<string>;
3351
- /**
3352
- * Set access control to Pub/Sub channels.
3353
- */
3354
- channels?: pulumi.Input<string>;
3355
- /**
3356
- * Set access control to commands.
3357
- */
3358
- commands?: pulumi.Input<string>;
3359
- /**
3360
- * Set access control to keys.
3361
- */
3362
- keys?: pulumi.Input<string>;
3363
- }
3364
3144
  export interface ManagedDatabaseUserValkeyAccessControl {
3365
3145
  /**
3366
3146
  * Set access control to all commands in specified categories.