@grafana/aws-sdk 0.2.0 → 0.3.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/dist/esm/src/{ConnectionConfig.js → components/ConnectionConfig.js} +20 -8
- package/dist/esm/src/components/ConnectionConfig.js.map +1 -0
- package/dist/esm/src/components/Divider.js +15 -0
- package/dist/esm/src/components/Divider.js.map +1 -0
- package/dist/esm/src/components/NewConnectionConfig.js +203 -0
- package/dist/esm/src/components/NewConnectionConfig.js.map +1 -0
- package/dist/esm/src/components/SIGV4ConnectionConfig.js.map +1 -0
- package/dist/esm/src/index.js +9 -4
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/sql/ConfigEditor/ConfigSelect.js +3 -1
- package/dist/esm/src/sql/ConfigEditor/ConfigSelect.js.map +1 -1
- package/dist/esm/src/sql/ConfigEditor/InlineInput.js +1 -1
- package/dist/esm/src/sql/ConfigEditor/InlineInput.js.map +1 -1
- package/dist/esm/src/sql/QueryEditor/FillValueSelect.js +42 -6
- package/dist/esm/src/sql/QueryEditor/FillValueSelect.js.map +1 -1
- package/dist/esm/src/sql/QueryEditor/FormatSelect.js +16 -5
- package/dist/esm/src/sql/QueryEditor/FormatSelect.js.map +1 -1
- package/dist/esm/src/sql/ResourceSelector.js +26 -3
- package/dist/esm/src/sql/ResourceSelector.js.map +1 -1
- package/dist/index.d.ts +15 -5
- package/dist/index.js +303 -16
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/dist/esm/src/ConnectionConfig.js.map +0 -1
- package/dist/esm/src/SIGV4ConnectionConfig.js.map +0 -1
- /package/dist/esm/src/{SIGV4ConnectionConfig.js → components/SIGV4ConnectionConfig.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -6,8 +6,8 @@ var React = require('react');
|
|
|
6
6
|
var ui = require('@grafana/ui');
|
|
7
7
|
var data = require('@grafana/data');
|
|
8
8
|
var runtime = require('@grafana/runtime');
|
|
9
|
-
var lodash = require('lodash');
|
|
10
9
|
var experimental = require('@grafana/experimental');
|
|
10
|
+
var lodash = require('lodash');
|
|
11
11
|
var asyncQueryData = require('@grafana/async-query-data');
|
|
12
12
|
|
|
13
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -2100,6 +2100,200 @@ var _createEmotion = createEmotion({
|
|
|
2100
2100
|
}),
|
|
2101
2101
|
css = _createEmotion.css;
|
|
2102
2102
|
|
|
2103
|
+
var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
|
|
2104
|
+
var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
|
|
2105
|
+
var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
|
|
2106
|
+
var __objRest = (source, exclude) => {
|
|
2107
|
+
var target = {};
|
|
2108
|
+
for (var prop in source)
|
|
2109
|
+
if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
2110
|
+
target[prop] = source[prop];
|
|
2111
|
+
if (source != null && __getOwnPropSymbols$8)
|
|
2112
|
+
for (var prop of __getOwnPropSymbols$8(source)) {
|
|
2113
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$8.call(source, prop))
|
|
2114
|
+
target[prop] = source[prop];
|
|
2115
|
+
}
|
|
2116
|
+
return target;
|
|
2117
|
+
};
|
|
2118
|
+
const NewConnectionConfig = (_a) => {
|
|
2119
|
+
var _b = _a, {
|
|
2120
|
+
isARNInstructionsOpen,
|
|
2121
|
+
setIsARNInstructionsOpen,
|
|
2122
|
+
awsAssumeRoleEnabled,
|
|
2123
|
+
currentProvider,
|
|
2124
|
+
awsAllowedAuthProviders,
|
|
2125
|
+
skipHeader,
|
|
2126
|
+
regions,
|
|
2127
|
+
assumeRoleInstructionsStyle
|
|
2128
|
+
} = _b, props = __objRest(_b, [
|
|
2129
|
+
"isARNInstructionsOpen",
|
|
2130
|
+
"setIsARNInstructionsOpen",
|
|
2131
|
+
"awsAssumeRoleEnabled",
|
|
2132
|
+
"currentProvider",
|
|
2133
|
+
"awsAllowedAuthProviders",
|
|
2134
|
+
"skipHeader",
|
|
2135
|
+
"regions",
|
|
2136
|
+
"assumeRoleInstructionsStyle"
|
|
2137
|
+
]);
|
|
2138
|
+
var _a2, _b2, _c, _d, _e, _f, _g;
|
|
2139
|
+
const options = props.options;
|
|
2140
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", { "data-testid": "connection-config" }, /* @__PURE__ */ React__default["default"].createElement(experimental.ConfigSection, { title: skipHeader ? "" : "Connection Details", "data-testid": "connection-config" }, /* @__PURE__ */ React__default["default"].createElement(experimental.ConfigSubSection, { title: "Authentication" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
2141
|
+
ui.Field,
|
|
2142
|
+
{
|
|
2143
|
+
label: "Authentication Provider",
|
|
2144
|
+
description: "Specify which AWS credentials chain to use.",
|
|
2145
|
+
htmlFor: "authProvider"
|
|
2146
|
+
},
|
|
2147
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
2148
|
+
ui.Select,
|
|
2149
|
+
{
|
|
2150
|
+
id: "authProvider",
|
|
2151
|
+
"aria-label": "Authentication Provider",
|
|
2152
|
+
value: currentProvider,
|
|
2153
|
+
options: awsAuthProviderOptions.filter((opt) => awsAllowedAuthProviders.includes(opt.value)),
|
|
2154
|
+
defaultValue: options.jsonData.authType,
|
|
2155
|
+
onChange: (option) => {
|
|
2156
|
+
data.onUpdateDatasourceJsonDataOptionSelect(props, "authType")(option);
|
|
2157
|
+
},
|
|
2158
|
+
menuShouldPortal: true
|
|
2159
|
+
}
|
|
2160
|
+
)
|
|
2161
|
+
), options.jsonData.authType === "credentials" && /* @__PURE__ */ React__default["default"].createElement(
|
|
2162
|
+
ui.Field,
|
|
2163
|
+
{
|
|
2164
|
+
label: "Credentials Profile Name",
|
|
2165
|
+
description: "Credentials profile name, as specified in ~/.aws/credentials, leave blank for default.",
|
|
2166
|
+
htmlFor: "credentialsProfileName"
|
|
2167
|
+
},
|
|
2168
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
2169
|
+
ui.Input,
|
|
2170
|
+
{
|
|
2171
|
+
id: "credentialsProfileName",
|
|
2172
|
+
placeholder: "default",
|
|
2173
|
+
value: options.jsonData.profile,
|
|
2174
|
+
onChange: data.onUpdateDatasourceJsonDataOption(props, "profile")
|
|
2175
|
+
}
|
|
2176
|
+
)
|
|
2177
|
+
), options.jsonData.authType === "keys" && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(ui.Field, { label: "Access Key ID", htmlFor: "accessKeyId" }, ((_a2 = props.options.secureJsonFields) == null ? void 0 : _a2.accessKey) ? /* @__PURE__ */ React__default["default"].createElement(ui.ButtonGroup, null, /* @__PURE__ */ React__default["default"].createElement(ui.Input, { disabled: true, placeholder: "Configured", id: "accessKeyId" }), /* @__PURE__ */ React__default["default"].createElement(
|
|
2178
|
+
ui.ToolbarButton,
|
|
2179
|
+
{
|
|
2180
|
+
icon: "edit",
|
|
2181
|
+
tooltip: "Edit Access Key ID",
|
|
2182
|
+
type: "button",
|
|
2183
|
+
onClick: data.onUpdateDatasourceResetOption(props, "accessKey")
|
|
2184
|
+
}
|
|
2185
|
+
)) : /* @__PURE__ */ React__default["default"].createElement(
|
|
2186
|
+
ui.Input,
|
|
2187
|
+
{
|
|
2188
|
+
id: "accessKeyId",
|
|
2189
|
+
value: (_c = (_b2 = options.secureJsonData) == null ? void 0 : _b2.accessKey) != null ? _c : "",
|
|
2190
|
+
onChange: data.onUpdateDatasourceSecureJsonDataOption(props, "accessKey")
|
|
2191
|
+
}
|
|
2192
|
+
)), /* @__PURE__ */ React__default["default"].createElement(ui.Field, { label: "Secret Access Key", htmlFor: "secretKey" }, ((_d = props.options.secureJsonFields) == null ? void 0 : _d.secretKey) ? /* @__PURE__ */ React__default["default"].createElement(ui.ButtonGroup, null, /* @__PURE__ */ React__default["default"].createElement(ui.Input, { disabled: true, placeholder: "Configured" }), /* @__PURE__ */ React__default["default"].createElement(
|
|
2193
|
+
ui.ToolbarButton,
|
|
2194
|
+
{
|
|
2195
|
+
id: "secretKey",
|
|
2196
|
+
icon: "edit",
|
|
2197
|
+
type: "button",
|
|
2198
|
+
tooltip: "Edit Secret Access Key",
|
|
2199
|
+
onClick: data.onUpdateDatasourceResetOption(props, "secretKey")
|
|
2200
|
+
}
|
|
2201
|
+
)) : /* @__PURE__ */ React__default["default"].createElement(
|
|
2202
|
+
ui.Input,
|
|
2203
|
+
{
|
|
2204
|
+
id: "secretKey",
|
|
2205
|
+
value: (_f = (_e = options.secureJsonData) == null ? void 0 : _e.secretKey) != null ? _f : "",
|
|
2206
|
+
onChange: data.onUpdateDatasourceSecureJsonDataOption(props, "secretKey")
|
|
2207
|
+
}
|
|
2208
|
+
)))), /* @__PURE__ */ React__default["default"].createElement(experimental.ConfigSubSection, { title: "Assume Role" }, options.jsonData.authType === AwsAuthType.GrafanaAssumeRole && /* @__PURE__ */ React__default["default"].createElement("div", { className: assumeRoleInstructionsStyle }, /* @__PURE__ */ React__default["default"].createElement(
|
|
2209
|
+
ui.Collapse,
|
|
2210
|
+
{
|
|
2211
|
+
label: "How to create an IAM role for grafana to assume:",
|
|
2212
|
+
collapsible: true,
|
|
2213
|
+
isOpen: isARNInstructionsOpen,
|
|
2214
|
+
onToggle: () => setIsARNInstructionsOpen(!isARNInstructionsOpen)
|
|
2215
|
+
},
|
|
2216
|
+
/* @__PURE__ */ React__default["default"].createElement("ol", null, /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "1. Create a new IAM role in the AWS console, and select ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Another AWS account"), " as the", " ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Trusted entity"), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "2. Enter the account ID of the Grafana account that has permission to assume this role:", /* @__PURE__ */ React__default["default"].createElement("code", null, " 008923505280 "), " and check the ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Require external ID"), " box.")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "3. Enter the following external ID:", " ", /* @__PURE__ */ React__default["default"].createElement("code", null, props.externalId || "External Id is currently unavailable"), " and click", " ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Next"), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "4. Add any required permissions you would like Grafana to be able to access on your behalf. For more details on our permissions please", " ", /* @__PURE__ */ React__default["default"].createElement(
|
|
2217
|
+
"a",
|
|
2218
|
+
{
|
|
2219
|
+
href: "https://grafana.com/docs/grafana/latest/datasources/aws-cloudwatch/",
|
|
2220
|
+
target: "_blank",
|
|
2221
|
+
rel: "noreferrer"
|
|
2222
|
+
},
|
|
2223
|
+
"read through our documentation"
|
|
2224
|
+
), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "5. Give the role a name and description, and click ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Create role"), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "6. Copy the ARN of the role you just created and paste it into the ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Assume Role ARN"), " ", "field below.")))
|
|
2225
|
+
)), awsAssumeRoleEnabled && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(
|
|
2226
|
+
ui.Field,
|
|
2227
|
+
{
|
|
2228
|
+
htmlFor: "assumeRoleArn",
|
|
2229
|
+
label: "Assume Role ARN",
|
|
2230
|
+
description: "Optional. Specifying the ARN of a role will ensure that the\n selected authentication provider is used to assume the role rather than the\n credentials directly."
|
|
2231
|
+
},
|
|
2232
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
2233
|
+
ui.Input,
|
|
2234
|
+
{
|
|
2235
|
+
id: "assumeRoleArn",
|
|
2236
|
+
placeholder: "arn:aws:iam:*",
|
|
2237
|
+
value: options.jsonData.assumeRoleArn || "",
|
|
2238
|
+
onChange: data.onUpdateDatasourceJsonDataOption(props, "assumeRoleArn")
|
|
2239
|
+
}
|
|
2240
|
+
)
|
|
2241
|
+
), options.jsonData.authType !== AwsAuthType.GrafanaAssumeRole && /* @__PURE__ */ React__default["default"].createElement(
|
|
2242
|
+
ui.Field,
|
|
2243
|
+
{
|
|
2244
|
+
htmlFor: "externalId",
|
|
2245
|
+
label: "External ID",
|
|
2246
|
+
description: "If you are assuming a role in another account, that has been created with an external ID, specify the external ID here."
|
|
2247
|
+
},
|
|
2248
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
2249
|
+
ui.Input,
|
|
2250
|
+
{
|
|
2251
|
+
id: "externalId",
|
|
2252
|
+
placeholder: "External ID",
|
|
2253
|
+
value: options.jsonData.externalId || "",
|
|
2254
|
+
onChange: data.onUpdateDatasourceJsonDataOption(props, "externalId")
|
|
2255
|
+
}
|
|
2256
|
+
)
|
|
2257
|
+
))), /* @__PURE__ */ React__default["default"].createElement(experimental.ConfigSubSection, { title: "Additional Settings" }, !props.skipEndpoint && options.jsonData.authType !== AwsAuthType.GrafanaAssumeRole && /* @__PURE__ */ React__default["default"].createElement(
|
|
2258
|
+
ui.Field,
|
|
2259
|
+
{
|
|
2260
|
+
label: "Endpoint",
|
|
2261
|
+
description: "Optionally, specify a custom endpoint for the service",
|
|
2262
|
+
htmlFor: "endpoint"
|
|
2263
|
+
},
|
|
2264
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
2265
|
+
ui.Input,
|
|
2266
|
+
{
|
|
2267
|
+
id: "endpoint",
|
|
2268
|
+
placeholder: (_g = props.defaultEndpoint) != null ? _g : "https://{service}.{region}.amazonaws.com",
|
|
2269
|
+
value: options.jsonData.endpoint || "",
|
|
2270
|
+
onChange: data.onUpdateDatasourceJsonDataOption(props, "endpoint")
|
|
2271
|
+
}
|
|
2272
|
+
)
|
|
2273
|
+
), /* @__PURE__ */ React__default["default"].createElement(
|
|
2274
|
+
ui.Field,
|
|
2275
|
+
{
|
|
2276
|
+
label: "Default Region",
|
|
2277
|
+
description: "Specify the region, such as for US West (Oregon) use ` us-west-2 ` as the region.",
|
|
2278
|
+
htmlFor: "defaultRegion"
|
|
2279
|
+
},
|
|
2280
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
2281
|
+
ui.Select,
|
|
2282
|
+
{
|
|
2283
|
+
id: "defaultRegion",
|
|
2284
|
+
"aria-label": "Default Region",
|
|
2285
|
+
value: regions.find((region) => region.value === options.jsonData.defaultRegion),
|
|
2286
|
+
options: regions,
|
|
2287
|
+
defaultValue: options.jsonData.defaultRegion,
|
|
2288
|
+
allowCustomValue: true,
|
|
2289
|
+
onChange: data.onUpdateDatasourceJsonDataOptionSelect(props, "defaultRegion"),
|
|
2290
|
+
formatCreateLabel: (r) => `Use region: ${r}`,
|
|
2291
|
+
menuShouldPortal: true
|
|
2292
|
+
}
|
|
2293
|
+
)
|
|
2294
|
+
)), props.children));
|
|
2295
|
+
};
|
|
2296
|
+
|
|
2103
2297
|
var __defProp$7 = Object.defineProperty;
|
|
2104
2298
|
var __defProps$6 = Object.defineProperties;
|
|
2105
2299
|
var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
|
|
@@ -2159,7 +2353,18 @@ const ConnectionConfig = (props) => {
|
|
|
2159
2353
|
}, [loadRegions]);
|
|
2160
2354
|
const inputWidth = inExperimentalAuthComponent ? "width-20" : "width-30";
|
|
2161
2355
|
const styles = ui.useStyles2(getStyles);
|
|
2162
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
2356
|
+
return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, props.newFormStylingEnabled ? /* @__PURE__ */ React__default["default"].createElement(
|
|
2357
|
+
NewConnectionConfig,
|
|
2358
|
+
__spreadValues$7({
|
|
2359
|
+
currentProvider,
|
|
2360
|
+
awsAllowedAuthProviders,
|
|
2361
|
+
isARNInstructionsOpen,
|
|
2362
|
+
setIsARNInstructionsOpen,
|
|
2363
|
+
awsAssumeRoleEnabled,
|
|
2364
|
+
regions,
|
|
2365
|
+
assumeRoleInstructionsStyle: styles.assumeRoleInstructions
|
|
2366
|
+
}, props)
|
|
2367
|
+
) : /* @__PURE__ */ React__default["default"].createElement(ui.FieldSet, { label: skipHeader ? "" : "Connection Details", "data-testid": "connection-config" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
2163
2368
|
ui.InlineField,
|
|
2164
2369
|
{
|
|
2165
2370
|
label: "Authentication Provider",
|
|
@@ -2237,7 +2442,7 @@ const ConnectionConfig = (props) => {
|
|
|
2237
2442
|
isOpen: isARNInstructionsOpen,
|
|
2238
2443
|
onToggle: () => setIsARNInstructionsOpen(!isARNInstructionsOpen)
|
|
2239
2444
|
},
|
|
2240
|
-
/* @__PURE__ */ React__default["default"].createElement("ol", null, /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "1. Create a new IAM role in the AWS console, and select ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Another AWS account"), " as the", " ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Trusted entity"), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "2. Enter the account ID of the Grafana account that has permission to assume this role:", /* @__PURE__ */ React__default["default"].createElement("code", null, " 008923505280 "), " and check the ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Require external ID"), " box.")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "3. Enter the following external ID:", " ", /* @__PURE__ */ React__default["default"].createElement("code", null, props.externalId || "External Id is currently unavailable"), " and click ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Next"), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "4. Add any required permissions you would like Grafana to be able to access on your behalf. For more details on our permissions please", " ", /* @__PURE__ */ React__default["default"].createElement(
|
|
2445
|
+
/* @__PURE__ */ React__default["default"].createElement("ol", null, /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "1. Create a new IAM role in the AWS console, and select ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Another AWS account"), " as the", " ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Trusted entity"), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "2. Enter the account ID of the Grafana account that has permission to assume this role:", /* @__PURE__ */ React__default["default"].createElement("code", null, " 008923505280 "), " and check the ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Require external ID"), " box.")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "3. Enter the following external ID:", " ", /* @__PURE__ */ React__default["default"].createElement("code", null, props.externalId || "External Id is currently unavailable"), " and click", " ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Next"), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "4. Add any required permissions you would like Grafana to be able to access on your behalf. For more details on our permissions please", " ", /* @__PURE__ */ React__default["default"].createElement(
|
|
2241
2446
|
"a",
|
|
2242
2447
|
{
|
|
2243
2448
|
href: "https://grafana.com/docs/grafana/latest/datasources/aws-cloudwatch/",
|
|
@@ -2245,7 +2450,7 @@ const ConnectionConfig = (props) => {
|
|
|
2245
2450
|
rel: "noreferrer"
|
|
2246
2451
|
},
|
|
2247
2452
|
"read through our documentation"
|
|
2248
|
-
), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "5. Give the role a name and description, and click ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Create role"), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "6. Copy the ARN of the role you just created and paste it into the ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Assume Role ARN"), " field below.")))
|
|
2453
|
+
), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "5. Give the role a name and description, and click ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Create role"), ".")), /* @__PURE__ */ React__default["default"].createElement("li", null, /* @__PURE__ */ React__default["default"].createElement("p", null, "6. Copy the ARN of the role you just created and paste it into the ", /* @__PURE__ */ React__default["default"].createElement("code", null, "Assume Role ARN"), " ", "field below.")))
|
|
2249
2454
|
)), awsAssumeRoleEnabled && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(
|
|
2250
2455
|
ui.InlineField,
|
|
2251
2456
|
{
|
|
@@ -2318,7 +2523,7 @@ const ConnectionConfig = (props) => {
|
|
|
2318
2523
|
menuShouldPortal: true
|
|
2319
2524
|
}
|
|
2320
2525
|
)
|
|
2321
|
-
), props.children);
|
|
2526
|
+
), props.children));
|
|
2322
2527
|
};
|
|
2323
2528
|
function getStyles() {
|
|
2324
2529
|
return {
|
|
@@ -2328,6 +2533,16 @@ function getStyles() {
|
|
|
2328
2533
|
};
|
|
2329
2534
|
}
|
|
2330
2535
|
|
|
2536
|
+
function Divider() {
|
|
2537
|
+
const theme = ui.useTheme2();
|
|
2538
|
+
return /* @__PURE__ */ React__default["default"].createElement(
|
|
2539
|
+
"div",
|
|
2540
|
+
{
|
|
2541
|
+
style: { borderTop: `1px solid ${theme.colors.border.weak}`, margin: theme.spacing(2, 0), width: "100%" }
|
|
2542
|
+
}
|
|
2543
|
+
);
|
|
2544
|
+
}
|
|
2545
|
+
|
|
2331
2546
|
var __defProp$6 = Object.defineProperty;
|
|
2332
2547
|
var __defProps$5 = Object.defineProperties;
|
|
2333
2548
|
var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
|
|
@@ -2497,9 +2712,10 @@ function ResourceSelector(props) {
|
|
|
2497
2712
|
setIsLoading(false);
|
|
2498
2713
|
}
|
|
2499
2714
|
};
|
|
2500
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
2715
|
+
return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, props.newFormStylingEnabled ? /* @__PURE__ */ React__default["default"].createElement(
|
|
2501
2716
|
ui.Select,
|
|
2502
2717
|
__spreadProps$4(__spreadValues$5({}, props), {
|
|
2718
|
+
id: props.id,
|
|
2503
2719
|
"aria-label": props.label,
|
|
2504
2720
|
options,
|
|
2505
2721
|
onChange,
|
|
@@ -2508,7 +2724,29 @@ function ResourceSelector(props) {
|
|
|
2508
2724
|
onOpenMenu: () => props.fetch && onClick(),
|
|
2509
2725
|
menuShouldPortal: true
|
|
2510
2726
|
})
|
|
2511
|
-
)
|
|
2727
|
+
) : /* @__PURE__ */ React__default["default"].createElement(
|
|
2728
|
+
ui.InlineField,
|
|
2729
|
+
{
|
|
2730
|
+
label: props.label,
|
|
2731
|
+
labelWidth: props.labelWidth,
|
|
2732
|
+
tooltip: props.tooltip,
|
|
2733
|
+
hidden: props.hidden,
|
|
2734
|
+
htmlFor: props.id
|
|
2735
|
+
},
|
|
2736
|
+
/* @__PURE__ */ React__default["default"].createElement("div", { "data-testid": props["data-testid"], title: props.title }, /* @__PURE__ */ React__default["default"].createElement(
|
|
2737
|
+
ui.Select,
|
|
2738
|
+
__spreadProps$4(__spreadValues$5({}, props), {
|
|
2739
|
+
id: props.id,
|
|
2740
|
+
"aria-label": props.label,
|
|
2741
|
+
options,
|
|
2742
|
+
onChange,
|
|
2743
|
+
isLoading,
|
|
2744
|
+
className: props.className || "min-width-6",
|
|
2745
|
+
onOpenMenu: () => props.fetch && onClick(),
|
|
2746
|
+
menuShouldPortal: true
|
|
2747
|
+
})
|
|
2748
|
+
))
|
|
2749
|
+
));
|
|
2512
2750
|
}
|
|
2513
2751
|
|
|
2514
2752
|
var __defProp$4 = Object.defineProperty;
|
|
@@ -2548,6 +2786,8 @@ function ConfigSelect(props) {
|
|
|
2548
2786
|
return /* @__PURE__ */ React__default["default"].createElement(
|
|
2549
2787
|
ResourceSelector,
|
|
2550
2788
|
__spreadValues$4({
|
|
2789
|
+
id: props.id,
|
|
2790
|
+
newFormStylingEnabled: props.newFormStylingEnabled,
|
|
2551
2791
|
label: props.label,
|
|
2552
2792
|
"data-testid": props["data-testid"],
|
|
2553
2793
|
onChange: props.onChange,
|
|
@@ -2705,14 +2945,25 @@ var __spreadValues$2 = (a, b) => {
|
|
|
2705
2945
|
};
|
|
2706
2946
|
var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
|
|
2707
2947
|
function FormatSelect(props) {
|
|
2948
|
+
var _a;
|
|
2708
2949
|
const onChangeFormat = (e) => {
|
|
2709
|
-
var
|
|
2950
|
+
var _a2;
|
|
2710
2951
|
props.onChange(__spreadProps$2(__spreadValues$2({}, props.query), {
|
|
2711
2952
|
format: e.value || 0
|
|
2712
2953
|
}));
|
|
2713
|
-
(
|
|
2954
|
+
(_a2 = props.onRunQuery) == null ? void 0 : _a2.call(props);
|
|
2714
2955
|
};
|
|
2715
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
2956
|
+
return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, props.newFormStylingEnabled ? /* @__PURE__ */ React__default["default"].createElement(
|
|
2957
|
+
ui.Select,
|
|
2958
|
+
{
|
|
2959
|
+
"aria-label": "Format dataframes as",
|
|
2960
|
+
id: (_a = props.id) != null ? _a : "formatAs",
|
|
2961
|
+
options: props.options,
|
|
2962
|
+
value: props.query.format,
|
|
2963
|
+
onChange: onChangeFormat,
|
|
2964
|
+
menuShouldPortal: true
|
|
2965
|
+
}
|
|
2966
|
+
) : /* @__PURE__ */ React__default["default"].createElement(ui.InlineField, { label: "Format as", labelWidth: 11 }, /* @__PURE__ */ React__default["default"].createElement(
|
|
2716
2967
|
ui.Select,
|
|
2717
2968
|
{
|
|
2718
2969
|
"aria-label": "Format as",
|
|
@@ -2722,7 +2973,7 @@ function FormatSelect(props) {
|
|
|
2722
2973
|
className: "width-12",
|
|
2723
2974
|
menuShouldPortal: true
|
|
2724
2975
|
}
|
|
2725
|
-
));
|
|
2976
|
+
)));
|
|
2726
2977
|
}
|
|
2727
2978
|
|
|
2728
2979
|
var __defProp$1 = Object.defineProperty;
|
|
@@ -2765,11 +3016,13 @@ const SelectableFillValueOptions = [
|
|
|
2765
3016
|
}
|
|
2766
3017
|
];
|
|
2767
3018
|
function FillValueSelect(props) {
|
|
2768
|
-
var _a, _b, _c;
|
|
2769
|
-
return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(
|
|
3019
|
+
var _a, _b, _c, _d, _e, _f;
|
|
3020
|
+
return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, props.newFormStylingEnabled ? /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(experimental.EditorField, { label: "Fill with", tooltip: "value to fill missing points", htmlFor: "fillWith" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
2770
3021
|
ui.Select,
|
|
2771
3022
|
{
|
|
2772
|
-
|
|
3023
|
+
id: "fillWith",
|
|
3024
|
+
"aria-label": "Fill with",
|
|
3025
|
+
"data-testid": "table-fill-with-select",
|
|
2773
3026
|
options: SelectableFillValueOptions,
|
|
2774
3027
|
value: (_b = (_a = props.query.fillMode) == null ? void 0 : _a.mode) != null ? _b : 0 /* Previous */,
|
|
2775
3028
|
onChange: ({ value }) => {
|
|
@@ -2779,10 +3032,43 @@ function FillValueSelect(props) {
|
|
|
2779
3032
|
}));
|
|
2780
3033
|
(_a2 = props.onRunQuery) == null ? void 0 : _a2.call(props);
|
|
2781
3034
|
},
|
|
3035
|
+
menuShouldPortal: true
|
|
3036
|
+
}
|
|
3037
|
+
)), ((_c = props.query.fillMode) == null ? void 0 : _c.mode) === 2 /* Value */ && /* @__PURE__ */ React__default["default"].createElement(experimental.EditorField, { label: "Value", htmlFor: "valueToFill", width: 6 }, /* @__PURE__ */ React__default["default"].createElement(
|
|
3038
|
+
ui.Input,
|
|
3039
|
+
{
|
|
3040
|
+
id: "valueToFill",
|
|
3041
|
+
"aria-label": "Value",
|
|
3042
|
+
type: "number",
|
|
3043
|
+
value: props.query.fillMode.value,
|
|
3044
|
+
onChange: ({ currentTarget }) => props.onChange(__spreadProps$1(__spreadValues$1({}, props.query), {
|
|
3045
|
+
fillMode: {
|
|
3046
|
+
mode: 2 /* Value */,
|
|
3047
|
+
value: currentTarget.valueAsNumber
|
|
3048
|
+
}
|
|
3049
|
+
})),
|
|
3050
|
+
onBlur: () => {
|
|
3051
|
+
var _a2;
|
|
3052
|
+
return (_a2 = props.onRunQuery) == null ? void 0 : _a2.call(props);
|
|
3053
|
+
}
|
|
3054
|
+
}
|
|
3055
|
+
))) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(ui.InlineField, { label: "Fill value", tooltip: "value to fill missing points" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
3056
|
+
ui.Select,
|
|
3057
|
+
{
|
|
3058
|
+
"aria-label": "Fill value",
|
|
3059
|
+
options: SelectableFillValueOptions,
|
|
3060
|
+
value: (_e = (_d = props.query.fillMode) == null ? void 0 : _d.mode) != null ? _e : 0 /* Previous */,
|
|
3061
|
+
onChange: ({ value }) => {
|
|
3062
|
+
var _a2;
|
|
3063
|
+
props.onChange(__spreadProps$1(__spreadValues$1({}, props.query), {
|
|
3064
|
+
fillMode: __spreadProps$1(__spreadValues$1({}, props.query.fillMode), { mode: value })
|
|
3065
|
+
}));
|
|
3066
|
+
(_a2 = props.onRunQuery) == null ? void 0 : _a2.call(props);
|
|
3067
|
+
},
|
|
2782
3068
|
className: "width-12",
|
|
2783
3069
|
menuShouldPortal: true
|
|
2784
3070
|
}
|
|
2785
|
-
)), ((
|
|
3071
|
+
)), ((_f = props.query.fillMode) == null ? void 0 : _f.mode) === 2 /* Value */ && /* @__PURE__ */ React__default["default"].createElement(ui.InlineField, { label: "Value", labelWidth: 11 }, /* @__PURE__ */ React__default["default"].createElement(
|
|
2786
3072
|
ui.Input,
|
|
2787
3073
|
{
|
|
2788
3074
|
type: "number",
|
|
@@ -2799,7 +3085,7 @@ function FillValueSelect(props) {
|
|
|
2799
3085
|
return (_a2 = props.onRunQuery) == null ? void 0 : _a2.call(props);
|
|
2800
3086
|
}
|
|
2801
3087
|
}
|
|
2802
|
-
)));
|
|
3088
|
+
))));
|
|
2803
3089
|
}
|
|
2804
3090
|
|
|
2805
3091
|
var __defProp = Object.defineProperty;
|
|
@@ -2864,6 +3150,7 @@ exports.AwsAuthType = AwsAuthType;
|
|
|
2864
3150
|
exports.ConfigSelect = ConfigSelect;
|
|
2865
3151
|
exports.ConnectionConfig = ConnectionConfig;
|
|
2866
3152
|
exports.DEFAULT_LABEL_WIDTH = DEFAULT_LABEL_WIDTH;
|
|
3153
|
+
exports.Divider = Divider;
|
|
2867
3154
|
exports.FillValueOptions = FillValueOptions;
|
|
2868
3155
|
exports.FillValueSelect = FillValueSelect;
|
|
2869
3156
|
exports.FormatSelect = FormatSelect;
|