@pulumi/alicloud 3.45.0 → 3.45.1

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.
Files changed (40) hide show
  1. package/cas/certificate.d.ts +2 -2
  2. package/cas/certificate.js +2 -2
  3. package/cen/transitRouterMulticastDomainMember.d.ts +3 -3
  4. package/cloudfirewall/addressBook.d.ts +6 -3
  5. package/cloudfirewall/addressBook.js.map +1 -1
  6. package/cloudfirewall/getAddressBooks.d.ts +4 -2
  7. package/cloudfirewall/getAddressBooks.js.map +1 -1
  8. package/dcdn/domainConfig.d.ts +41 -14
  9. package/dcdn/domainConfig.js +34 -7
  10. package/dcdn/domainConfig.js.map +1 -1
  11. package/dts/subscriptionJob.d.ts +8 -3
  12. package/dts/subscriptionJob.js +8 -3
  13. package/dts/subscriptionJob.js.map +1 -1
  14. package/dts/synchronizationJob.d.ts +84 -12
  15. package/dts/synchronizationJob.js +12 -0
  16. package/dts/synchronizationJob.js.map +1 -1
  17. package/ecs/instance.d.ts +111 -46
  18. package/ecs/instance.js +8 -11
  19. package/ecs/instance.js.map +1 -1
  20. package/ga/getEndpointGroups.d.ts +138 -16
  21. package/ga/getEndpointGroups.js +122 -12
  22. package/ga/getEndpointGroups.js.map +1 -1
  23. package/mongodb/instance.d.ts +33 -3
  24. package/mongodb/instance.js +2 -0
  25. package/mongodb/instance.js.map +1 -1
  26. package/package.json +1 -1
  27. package/rds/instance.d.ts +30 -12
  28. package/rds/instance.js +4 -2
  29. package/rds/instance.js.map +1 -1
  30. package/resourcemanager/resourceShare.d.ts +5 -5
  31. package/resourcemanager/resourceShare.js +1 -1
  32. package/slb/caCertificate.d.ts +1 -1
  33. package/slb/caCertificate.js +1 -1
  34. package/slb/serverCertificate.d.ts +2 -2
  35. package/slb/serverCertificate.js +2 -2
  36. package/types/input.d.ts +64 -6
  37. package/types/output.d.ts +71 -8
  38. package/utilities.d.ts +4 -0
  39. package/utilities.js +33 -1
  40. package/utilities.js.map +1 -1
package/types/output.d.ts CHANGED
@@ -2201,6 +2201,14 @@ export declare namespace alb {
2201
2201
  * Specifies whether to use the `X-Forwarded-client_cert-subjectdn` header field to obtain information about the owner of the ALB client certificate. Valid values: true and false. Default value: false.
2202
2202
  */
2203
2203
  xForwardedForClientCertSubjectDnEnabled: boolean;
2204
+ /**
2205
+ * Whether to use the X-Forwarded-Client-Ip header to obtain the source IP address of the server load balancer instance. Value: true, false. Note HTTP, HTTPS, and QUIC listeners support this parameter. The function corresponding to this parameter is not open by default. Please contact the account manager if you need to use it.
2206
+ */
2207
+ xForwardedForClientSourceIpsEnabled?: boolean;
2208
+ /**
2209
+ * Specify the trusted proxy IP. Application-oriented load balancing ALB will traverse the X-Forwarded-For from back to front, and select the first IP that is not in the trusted IP list as the real client IP, which will be used for the source IP speed limit.
2210
+ */
2211
+ xForwardedForClientSourceIpsTrusted?: string;
2204
2212
  /**
2205
2213
  * Indicates Whether the X-Forwarded-Client-Port Header Field Is Used to Obtain Access to Server Load Balancer Instances to the Client, and Those of the Ports.
2206
2214
  */
@@ -2234,7 +2242,7 @@ export declare namespace alb {
2234
2242
  }
2235
2243
  interface LoadBalancerLoadBalancerBillingConfig {
2236
2244
  /**
2237
- * Pay Type.
2245
+ * Pay Type. Valid values: `PayAsYouGo`. **Note:** provider changes the payment type to `PayAsYouGo`, while the actual parameter on api is `PostPay`.
2238
2246
  */
2239
2247
  payType: string;
2240
2248
  }
@@ -2305,6 +2313,10 @@ export declare namespace alb {
2305
2313
  * The configuration of the external redirect action. See `redirectConfig` below.
2306
2314
  */
2307
2315
  redirectConfig?: outputs.alb.RuleRuleActionRedirectConfig;
2316
+ /**
2317
+ * The configuration of the inserted header field. See `removeHeaderConfig` below.
2318
+ */
2319
+ removeHeaderConfig?: outputs.alb.RuleRuleActionRemoveHeaderConfig;
2308
2320
  /**
2309
2321
  * The redirect action within ALB. See `rewriteConfig` below.
2310
2322
  */
@@ -2318,7 +2330,7 @@ export declare namespace alb {
2318
2330
  */
2319
2331
  trafficMirrorConfig?: outputs.alb.RuleRuleActionTrafficMirrorConfig;
2320
2332
  /**
2321
- * The action type. Valid values: `ForwardGroup`, `Redirect`, `FixedResponse`, `Rewrite`, `InsertHeader`, `TrafficLimit`, `TrafficMirror` and `Cors`.
2333
+ * The action type. Valid values: `ForwardGroup`, `Redirect`, `FixedResponse`, `Rewrite`, `InsertHeader`, `RemoveHeader`, `TrafficLimit`, `TrafficMirror` and `Cors`.
2322
2334
  * **Note:** The preceding actions can be classified into two types: `FinalType`: A forwarding rule can contain only one `FinalType` action, which is executed last. This type of action can contain only one `ForwardGroup`, `Redirect` or `FixedResponse` action. `ExtType`: A forwarding rule can contain one or more `ExtType` actions, which are executed before `FinalType` actions and need to coexist with the `FinalType` actions. This type of action can contain multiple `InsertHeader` actions or one `Rewrite` action.
2323
2335
  * **NOTE:** The `TrafficLimit` and `TrafficMirror` option is available since 1.162.0.
2324
2336
  * **NOTE:** From version 1.205.0, `type` can be set to `Cors`.
@@ -2397,7 +2409,9 @@ export declare namespace alb {
2397
2409
  }
2398
2410
  interface RuleRuleActionInsertHeaderConfig {
2399
2411
  /**
2400
- * The name of the inserted header field. The name must be 1 to 40 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). You cannot use the same name in InsertHeader. Note You cannot use Cookie or Host in the name.
2412
+ * The name of the removed header field. It can be 1 to 40 characters in length and supports upper and lower case letters a to z, numbers, underscores (_), and dashes (-). Header field names cannot be used repeatedly in RemoveHeader.
2413
+ * * Request Direction: The header name cannot be set to the following fields (case insensitive):slb-id, slb-ip, x-forwarded-for, x-forwarded-proto, x-forwarded-eip, x-forwarded-port, x-forwarded-client-srcport, connection, upgrade, content-length, transfer-encoding, keep-alive, te, host, cookie, remoteip, and authority.
2414
+ * * Response Direction: The header name cannot be set to the following fields (case insensitive):connection, upgrade, content-length, transfer-encoding.
2401
2415
  */
2402
2416
  key?: string;
2403
2417
  /**
@@ -2436,6 +2450,14 @@ export declare namespace alb {
2436
2450
  */
2437
2451
  query?: string;
2438
2452
  }
2453
+ interface RuleRuleActionRemoveHeaderConfig {
2454
+ /**
2455
+ * The name of the removed header field. It can be 1 to 40 characters in length and supports upper and lower case letters a to z, numbers, underscores (_), and dashes (-). Header field names cannot be used repeatedly in RemoveHeader.
2456
+ * * Request Direction: The header name cannot be set to the following fields (case insensitive):slb-id, slb-ip, x-forwarded-for, x-forwarded-proto, x-forwarded-eip, x-forwarded-port, x-forwarded-client-srcport, connection, upgrade, content-length, transfer-encoding, keep-alive, te, host, cookie, remoteip, and authority.
2457
+ * * Response Direction: The header name cannot be set to the following fields (case insensitive):connection, upgrade, content-length, transfer-encoding.
2458
+ */
2459
+ key?: string;
2460
+ }
2439
2461
  interface RuleRuleActionRewriteConfig {
2440
2462
  /**
2441
2463
  * The host name of the destination to which requests are redirected within ALB. Valid values: The host name must be 3 to 128 characters in length, and can contain letters, digits, hyphens (-), periods (.), asterisks (*), and question marks (?). The host name must contain at least one period (.), and cannot start or end with a period (.). The rightmost domain label can contain only letters, asterisks (*) and question marks (?) and cannot contain digits or hyphens (-). Other domain labels cannot start or end with a hyphen (-). You can include asterisks (*) and question marks (?) anywhere in a domain label. Default value: ${host}. You cannot use this value with other characters at the same time.
@@ -2451,6 +2473,10 @@ export declare namespace alb {
2451
2473
  query?: string;
2452
2474
  }
2453
2475
  interface RuleRuleActionTrafficLimitConfig {
2476
+ /**
2477
+ * The number of requests per second for a single IP address. Value range: 1~1000000. Note: If the QPS parameter is also configured, the value of the PerIpQps parameter must be smaller than the value of the QPS parameter.
2478
+ */
2479
+ perIpQps?: number;
2454
2480
  /**
2455
2481
  * The Number of requests per second. Valid values: `1` to `100000`.
2456
2482
  */
@@ -2503,6 +2529,14 @@ export declare namespace alb {
2503
2529
  * The configuration of the query string. See `queryStringConfig` below.
2504
2530
  */
2505
2531
  queryStringConfig?: outputs.alb.RuleRuleConditionQueryStringConfig;
2532
+ /**
2533
+ * The configuration of the header field. See `responseHeaderConfig` below.
2534
+ */
2535
+ responseHeaderConfig?: outputs.alb.RuleRuleConditionResponseHeaderConfig;
2536
+ /**
2537
+ * The configuration of the header field. See `responseStatusCodeConfig` below.
2538
+ */
2539
+ responseStatusCodeConfig?: outputs.alb.RuleRuleConditionResponseStatusCodeConfig;
2506
2540
  /**
2507
2541
  * The Based on source IP traffic matching. Required and valid when Type is SourceIP. See `sourceIpConfig` below.
2508
2542
  */
@@ -2520,7 +2554,9 @@ export declare namespace alb {
2520
2554
  }
2521
2555
  interface RuleRuleConditionCookieConfigValue {
2522
2556
  /**
2523
- * The name of the inserted header field. The name must be 1 to 40 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). You cannot use the same name in InsertHeader. Note You cannot use Cookie or Host in the name.
2557
+ * The name of the removed header field. It can be 1 to 40 characters in length and supports upper and lower case letters a to z, numbers, underscores (_), and dashes (-). Header field names cannot be used repeatedly in RemoveHeader.
2558
+ * * Request Direction: The header name cannot be set to the following fields (case insensitive):slb-id, slb-ip, x-forwarded-for, x-forwarded-proto, x-forwarded-eip, x-forwarded-port, x-forwarded-client-srcport, connection, upgrade, content-length, transfer-encoding, keep-alive, te, host, cookie, remoteip, and authority.
2559
+ * * Response Direction: The header name cannot be set to the following fields (case insensitive):connection, upgrade, content-length, transfer-encoding.
2524
2560
  */
2525
2561
  key?: string;
2526
2562
  /**
@@ -2531,7 +2567,9 @@ export declare namespace alb {
2531
2567
  }
2532
2568
  interface RuleRuleConditionHeaderConfig {
2533
2569
  /**
2534
- * The name of the inserted header field. The name must be 1 to 40 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). You cannot use the same name in InsertHeader. Note You cannot use Cookie or Host in the name.
2570
+ * The name of the removed header field. It can be 1 to 40 characters in length and supports upper and lower case letters a to z, numbers, underscores (_), and dashes (-). Header field names cannot be used repeatedly in RemoveHeader.
2571
+ * * Request Direction: The header name cannot be set to the following fields (case insensitive):slb-id, slb-ip, x-forwarded-for, x-forwarded-proto, x-forwarded-eip, x-forwarded-port, x-forwarded-client-srcport, connection, upgrade, content-length, transfer-encoding, keep-alive, te, host, cookie, remoteip, and authority.
2572
+ * * Response Direction: The header name cannot be set to the following fields (case insensitive):connection, upgrade, content-length, transfer-encoding.
2535
2573
  */
2536
2574
  key?: string;
2537
2575
  /**
@@ -2565,7 +2603,9 @@ export declare namespace alb {
2565
2603
  }
2566
2604
  interface RuleRuleConditionQueryStringConfigValue {
2567
2605
  /**
2568
- * The name of the inserted header field. The name must be 1 to 40 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). You cannot use the same name in InsertHeader. Note You cannot use Cookie or Host in the name.
2606
+ * The name of the removed header field. It can be 1 to 40 characters in length and supports upper and lower case letters a to z, numbers, underscores (_), and dashes (-). Header field names cannot be used repeatedly in RemoveHeader.
2607
+ * * Request Direction: The header name cannot be set to the following fields (case insensitive):slb-id, slb-ip, x-forwarded-for, x-forwarded-proto, x-forwarded-eip, x-forwarded-port, x-forwarded-client-srcport, connection, upgrade, content-length, transfer-encoding, keep-alive, te, host, cookie, remoteip, and authority.
2608
+ * * Response Direction: The header name cannot be set to the following fields (case insensitive):connection, upgrade, content-length, transfer-encoding.
2569
2609
  */
2570
2610
  key?: string;
2571
2611
  /**
@@ -2574,6 +2614,24 @@ export declare namespace alb {
2574
2614
  */
2575
2615
  value?: string;
2576
2616
  }
2617
+ interface RuleRuleConditionResponseHeaderConfig {
2618
+ /**
2619
+ * The name of the removed header field. It can be 1 to 40 characters in length and supports upper and lower case letters a to z, numbers, underscores (_), and dashes (-). Header field names cannot be used repeatedly in RemoveHeader.
2620
+ * * Request Direction: The header name cannot be set to the following fields (case insensitive):slb-id, slb-ip, x-forwarded-for, x-forwarded-proto, x-forwarded-eip, x-forwarded-port, x-forwarded-client-srcport, connection, upgrade, content-length, transfer-encoding, keep-alive, te, host, cookie, remoteip, and authority.
2621
+ * * Response Direction: The header name cannot be set to the following fields (case insensitive):connection, upgrade, content-length, transfer-encoding.
2622
+ */
2623
+ key?: string;
2624
+ /**
2625
+ * Add one or more IP addresses or IP address segments. You can add up to 5 forwarding rules in a SourceIp.
2626
+ */
2627
+ values?: string[];
2628
+ }
2629
+ interface RuleRuleConditionResponseStatusCodeConfig {
2630
+ /**
2631
+ * Add one or more IP addresses or IP address segments. You can add up to 5 forwarding rules in a SourceIp.
2632
+ */
2633
+ values?: string[];
2634
+ }
2577
2635
  interface RuleRuleConditionSourceIpConfig {
2578
2636
  /**
2579
2637
  * Add one or more IP addresses or IP address segments. You can add up to 5 forwarding rules in a SourceIp.
@@ -7597,7 +7655,8 @@ export declare namespace cloudfirewall {
7597
7655
  */
7598
7656
  groupName: string;
7599
7657
  /**
7600
- * The type of the Address Book. Valid values: `ip`, `tag`.
7658
+ * The type of the Address Book. Valid values: `ip`, `ipv6`, `domain`, `port`, `tag`.
7659
+ * **NOTE:** From version 1.213.1, `groupType` can be set to `ipv6`, `domain`, `port`.
7601
7660
  */
7602
7661
  groupType: string;
7603
7662
  /**
@@ -27543,6 +27602,10 @@ export declare namespace ga {
27543
27602
  * The endpointGroupId of the Endpoint Group.
27544
27603
  */
27545
27604
  endpointGroupId: string;
27605
+ /**
27606
+ * (Available since v1.213.1) The list of endpoint group IP addresses.
27607
+ */
27608
+ endpointGroupIpLists: string[];
27546
27609
  /**
27547
27610
  * The ID of the region where the endpoint group is deployed.
27548
27611
  */
@@ -27580,7 +27643,7 @@ export declare namespace ga {
27580
27643
  */
27581
27644
  portOverrides: outputs.ga.GetEndpointGroupsGroupPortOverride[];
27582
27645
  /**
27583
- * The status of the endpoint group.
27646
+ * The status of the endpoint group. Valid values: `active`, `configuring`, `creating`, `init`.
27584
27647
  */
27585
27648
  status: string;
27586
27649
  /**
package/utilities.d.ts CHANGED
@@ -1,4 +1,8 @@
1
+ import * as pulumi from "@pulumi/pulumi";
1
2
  export declare function getEnv(...vars: string[]): string | undefined;
2
3
  export declare function getEnvBoolean(...vars: string[]): boolean | undefined;
3
4
  export declare function getEnvNumber(...vars: string[]): number | undefined;
4
5
  export declare function getVersion(): string;
6
+ export declare function callAsync<T>(tok: string, props: pulumi.Inputs, res?: pulumi.Resource, opts?: {
7
+ property?: string;
8
+ }): Promise<T>;
package/utilities.js CHANGED
@@ -1,8 +1,18 @@
1
1
  "use strict";
2
2
  // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
4
13
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.lazyLoad = exports.resourceOptsDefaults = exports.getVersion = exports.getEnvNumber = exports.getEnvBoolean = exports.getEnv = void 0;
14
+ exports.callAsync = exports.lazyLoad = exports.resourceOptsDefaults = exports.getVersion = exports.getEnvNumber = exports.getEnvBoolean = exports.getEnv = void 0;
15
+ const runtime = require("@pulumi/pulumi/runtime");
6
16
  function getEnv(...vars) {
7
17
  for (const v of vars) {
8
18
  const value = process.env[v];
@@ -66,4 +76,26 @@ function lazyLoad(exports, props, loadModule) {
66
76
  }
67
77
  }
68
78
  exports.lazyLoad = lazyLoad;
79
+ function callAsync(tok, props, res, opts) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ const o = runtime.call(tok, props, res);
82
+ const value = yield o.promise(true /*withUnknowns*/);
83
+ const isKnown = yield o.isKnown;
84
+ const isSecret = yield o.isSecret;
85
+ const problem = !isKnown ? "an unknown value"
86
+ : isSecret ? "a secret value"
87
+ : undefined;
88
+ // Ingoring o.resources silently. They are typically non-empty, r.f() calls include r as a dependency.
89
+ if (problem) {
90
+ throw new Error(`Plain resource method "${tok}" incorrectly returned ${problem}. ` +
91
+ "This is an error in the provider, please report this to the provider developer.");
92
+ }
93
+ // Extract a single property if requested.
94
+ if (opts && opts.property) {
95
+ return value[opts.property];
96
+ }
97
+ return value;
98
+ });
99
+ }
100
+ exports.callAsync = callAsync;
69
101
  //# sourceMappingURL=utilities.js.map
package/utilities.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAGjF,SAAgB,MAAM,CAAC,GAAG,IAAc;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,wBAQC;AAED,SAAgB,aAAa,CAAC,GAAG,IAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,uGAAuG;QACvG,yDAAyD;QACzD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC1E,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC7E,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAbD,sCAaC;AAED,SAAgB,YAAY,CAAC,GAAG,IAAc;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,CAAC,CAAC;SACZ;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AATD,oCASC;AAED,SAAgB,UAAU;IACtB,IAAI,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;IAChD,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AARD,gCAQC;AAED,gBAAgB;AAChB,SAAgB,oBAAoB;IAChC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;AACrC,CAAC;AAFD,oDAEC;AAED,gBAAgB;AAChB,SAAgB,QAAQ,CAAC,OAAY,EAAE,KAAe,EAAE,UAAe;IACnE,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE;QACxB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;YACrC,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE;gBACD,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;SACJ,CAAC,CAAC;KACN;AACL,CAAC;AATD,4BASC"}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":"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"}