From 751e352a5368bc04749668f4d0e0077eed6c760b Mon Sep 17 00:00:00 2001 From: Adrian Riobo Date: Mon, 9 Mar 2026 11:47:30 +0100 Subject: [PATCH] fix(deps): update all dependencies --- go.mod | 64 +- go.sum | 136 +-- oci/Containerfile | 12 +- tools/go.mod | 15 +- tools/go.sum | 24 +- .../alexkohler/prealloc/pkg/math.go | 46 + .../alexkohler/prealloc/pkg/prealloc.go | 333 ++++-- .../alexkohler/prealloc/pkg/types.go | 376 ------ .../v2/pkg/goanalysis/runner_checker.go | 2 +- .../pkg/goanalysis/runner_loadingpackage.go | 2 +- .../v2/pkg/goanalysis/runners_cache.go | 2 +- .../golangci-lint/v2/pkg/goformat/runner.go | 3 + .../v2/pkg/golinters/prealloc/prealloc.go | 12 +- .../v2/pkg/golinters/revive/revive.go | 5 +- .../v2/pkg/lint/lintersdb/builder_linter.go | 1 + .../pkg/result/processors/exclusion_rules.go | 2 +- .../github.com/jgautheron/goconst/parser.go | 3 + .../github.com/jgautheron/goconst/visitor.go | 58 +- .../mgechev/revive/config/config.go | 14 +- .../mgechev/revive/formatter/checkstyle.go | 2 +- .../mgechev/revive/formatter/default.go | 7 +- .../mgechev/revive/formatter/friendly.go | 87 +- .../mgechev/revive/formatter/json.go | 2 +- .../mgechev/revive/formatter/ndjson.go | 2 +- .../mgechev/revive/formatter/plain.go | 9 +- .../mgechev/revive/formatter/sarif.go | 2 +- .../mgechev/revive/formatter/stylish.go | 6 +- .../mgechev/revive/formatter/unix.go | 9 +- .../revive/internal/astutils/ast_utils.go | 11 +- .../mgechev/revive/internal/ifelse/doc.go | 6 +- .../mgechev/revive/internal/ifelse/func.go | 2 +- .../mgechev/revive/internal/ifelse/rule.go | 2 +- .../revive/internal/syncset/syncset.go | 44 + .../github.com/mgechev/revive/lint/config.go | 4 +- .../github.com/mgechev/revive/lint/failure.go | 17 +- .../mgechev/revive/logging/logger.go | 63 +- .../revive/rule/bool_literal_in_expr.go | 2 +- .../mgechev/revive/rule/comment_spacings.go | 4 +- .../revive/rule/context_as_argument.go | 2 +- .../mgechev/revive/rule/context_keys_type.go | 2 +- .../mgechev/revive/rule/datarace.go | 4 +- .../mgechev/revive/rule/deep_exit.go | 2 +- .../mgechev/revive/rule/dot_imports.go | 2 +- .../mgechev/revive/rule/early_return.go | 2 + .../mgechev/revive/rule/exported.go | 4 +- .../mgechev/revive/rule/filename_format.go | 2 +- .../revive/rule/forbidden_call_in_wg_go.go | 2 +- .../revive/rule/increment_decrement.go | 2 +- .../mgechev/revive/rule/indent_error_flow.go | 2 + .../mgechev/revive/rule/line_length_limit.go | 2 +- .../mgechev/revive/rule/package_naming.go | 315 +++++ .../revive/rule/redundant_test_main_exit.go | 2 +- .../mgechev/revive/rule/string_format.go | 3 +- .../mgechev/revive/rule/string_of_int.go | 2 +- .../mgechev/revive/rule/superfluous_else.go | 2 + .../mgechev/revive/rule/time_equal.go | 2 +- .../revive/rule/unconditional_recursion.go | 2 +- .../mgechev/revive/rule/unexported_return.go | 2 +- .../revive/rule/unsecure_url_scheme.go | 2 +- .../mgechev/revive/rule/use_fmt_print.go | 3 +- .../mgechev/revive/rule/use_slices_sort.go | 2 +- .../mgechev/revive/rule/use_waitgroup_go.go | 2 +- .../mgechev/revive/rule/var_naming.go | 167 +-- .../golang.org/x/sys/unix/ztypes_linux.go | 229 ++-- .../golang.org/x/sys/windows/aliases.go | 1 + .../x/sys/windows/syscall_windows.go | 14 - tools/vendor/modules.txt | 21 +- .../apps/confidential/confidential.go | 28 +- .../apps/internal/base/base.go | 11 +- .../apps/internal/local/server.go | 40 +- .../apps/internal/shared/shared.go | 26 + .../apps/public/public.go | 44 +- .../aws-sdk-go-v2/service/ec2/CHANGELOG.md | 9 + .../service/ec2/deserializers.go | 136 +++ .../aws-sdk-go-v2/service/ec2/generated.json | 3 +- .../service/ec2/go_module_metadata.go | 2 +- .../aws/aws-sdk-go-v2/service/ec2/options.go | 3 +- .../aws-sdk-go-v2/service/ec2/types/types.go | 16 + .../grpc-gateway/v2/runtime/handler.go | 4 +- .../grpc-gateway/v2/runtime/mux.go | 11 + .../sdk/go/aws/internal/pulumiUtilities.go | 4 +- .../sdk/go/aws/pulumi-plugin.json | 2 +- .../v7/go/aws/cloudwatch/eventConnection.go | 52 + .../sdk/v7/go/aws/cloudwatch/pulumiTypes.go | 324 ++++++ .../sdk/v7/go/aws/ec2/eipDomainName.go | 8 + .../sdk/v7/go/aws/ecs/pulumiTypes.go | 199 ++++ .../pulumi-aws/sdk/v7/go/aws/ecs/service.go | 79 ++ .../sdk/v7/go/aws/internal/pulumiUtilities.go | 4 +- .../sdk/v7/go/aws/lb/targetGroupAttachment.go | 20 +- .../sdk/v7/go/aws/pulumi-plugin.json | 2 +- .../go/aws/s3/bucketLifecycleConfiguration.go | 39 +- .../aws/s3/bucketLifecycleConfigurationV2.go | 39 +- .../v3/go/awsx/internal/pulumiUtilities.go | 4 +- .../authorization/v3/getPolicyAssignment.go | 2 +- .../authorization/v3/getPolicyDefinition.go | 2 +- .../getPolicyDefinitionAtManagementGroup.go | 2 +- .../v3/getPolicyDefinitionVersion.go | 2 +- ...olicyDefinitionVersionAtManagementGroup.go | 2 +- .../authorization/v3/getPolicyExemption.go | 2 +- .../v3/getPolicySetDefinition.go | 2 +- ...getPolicySetDefinitionAtManagementGroup.go | 2 +- .../v3/getPolicySetDefinitionVersion.go | 2 +- ...cySetDefinitionVersionAtManagementGroup.go | 2 +- .../authorization/v3/getVariable.go | 2 +- .../v3/getVariableAtManagementGroup.go | 2 +- .../authorization/v3/getVariableValue.go | 2 +- .../v3/getVariableValueAtManagementGroup.go | 2 +- .../v3/listPolicyDefinitionVersionAll.go | 2 +- ...cyDefinitionVersionAllAtManagementGroup.go | 2 +- .../listPolicyDefinitionVersionAllBuiltins.go | 2 +- .../v3/listPolicySetDefinitionVersionAll.go | 2 +- ...etDefinitionVersionAllAtManagementGroup.go | 2 +- ...stPolicySetDefinitionVersionAllBuiltins.go | 2 +- .../authorization/v3/listSubscriptions.go | 83 ++ .../authorization/v3/policyAssignment.go | 8 +- .../authorization/v3/policyDefinition.go | 8 +- .../v3/policyDefinitionAtManagementGroup.go | 8 +- .../v3/policyDefinitionVersion.go | 8 +- ...olicyDefinitionVersionAtManagementGroup.go | 8 +- .../authorization/v3/policyExemption.go | 5 +- .../authorization/v3/policySetDefinition.go | 8 +- .../policySetDefinitionAtManagementGroup.go | 8 +- .../v3/policySetDefinitionVersion.go | 8 +- ...cySetDefinitionVersionAtManagementGroup.go | 8 +- .../authorization/v3/pulumi-plugin.json | 2 +- .../authorization/v3/pulumiTypes.go | 248 ++++ .../authorization/v3/variable.go | 5 +- .../v3/variableAtManagementGroup.go | 5 +- .../authorization/v3/variableValue.go | 5 +- .../v3/variableValueAtManagementGroup.go | 5 +- .../compute/v3/pulumi-plugin.json | 2 +- .../containerservice/v3/pulumi-plugin.json | 2 +- .../managedidentity/v3/pulumi-plugin.json | 2 +- .../network/v3/expressRouteConnection.go | 4 +- .../network/v3/getRoutingConfiguration.go | 142 +++ .../network/v3/getRoutingRule.go | 2 +- .../network/v3/getRoutingRuleCollection.go | 2 +- .../network/v3/hubVirtualNetworkConnection.go | 4 +- .../network/v3/init.go | 2 + .../v3/networkManagerRoutingConfiguration.go | 3 + .../network/v3/pulumi-plugin.json | 2 +- .../network/v3/pulumiTypes.go | 32 +- .../network/v3/pulumiTypes1.go | 156 +-- .../network/v3/routingConfiguration.go | 225 ++++ .../network/v3/routingRule.go | 5 +- .../network/v3/routingRuleCollection.go | 5 +- .../network/v3/vpnConnection.go | 4 +- .../v3/deploymentStackAtManagementGroup.go | 10 +- .../v3/deploymentStackAtResourceGroup.go | 6 +- .../v3/deploymentStackAtSubscription.go | 6 +- ...entStacksWhatIfResultsAtManagementGroup.go | 4 +- .../v3/getDeploymentStackAtManagementGroup.go | 10 +- .../v3/getDeploymentStackAtResourceGroup.go | 6 +- .../v3/getDeploymentStackAtSubscription.go | 6 +- ...entStacksWhatIfResultsAtManagementGroup.go | 4 +- .../resources/v3/pulumi-plugin.json | 2 +- .../resources/v3/pulumiEnums.go | 1028 +++++++++++------ .../resources/v3/pulumiTypes.go | 123 +- .../storage/v3/pulumi-plugin.json | 2 +- .../v3/utilities/pulumiUtilities.go | 4 +- .../github.com/pulumi/pulumi/sdk/v3/.version | 2 +- .../pulumi/pulumi/sdk/v3/go/common/env/env.go | 4 +- .../v3/go/common/resource/plugin/plugin.go | 12 + .../common/resource/plugin/provider_plugin.go | 9 + .../sdk/v3/go/common/util/cmdutil/trace.go | 50 +- .../sdk/v3/go/common/util/gitutil/git.go | 11 + .../v3/go/common/util/rpcutil/interceptor.go | 3 +- .../sdk/v3/go/pulumi/instrumentation.go | 81 ++ .../pulumi/pulumi/sdk/v3/go/pulumi/run.go | 15 +- .../collector/featuregate/metadata.yaml | 6 + .../pdata/internal/config.schema.yaml | 35 + vendor/go.opentelemetry.io/otel/.golangci.yml | 1 + vendor/go.opentelemetry.io/otel/CHANGELOG.md | 46 +- .../go.opentelemetry.io/otel/CONTRIBUTING.md | 6 +- vendor/go.opentelemetry.io/otel/Makefile | 11 +- vendor/go.opentelemetry.io/otel/README.md | 14 +- .../otel/baggage/baggage.go | 109 +- .../otel/dependencies.Dockerfile | 2 +- .../otlp/otlptrace/otlptracegrpc/client.go | 4 +- .../internal/observ/instrumentation.go | 36 +- .../otlptracegrpc/internal/version.go | 2 +- .../otel/exporters/otlp/otlptrace/version.go | 2 +- .../internal/errorhandler/errorhandler.go | 96 ++ .../otel/internal/global/handler.go | 34 +- .../otel/internal/global/state.go | 36 +- .../otel/metric/asyncfloat64.go | 3 + .../otel/metric/asyncint64.go | 3 + .../go.opentelemetry.io/otel/metric/meter.go | 54 +- .../otel/metric/syncfloat64.go | 24 + .../otel/metric/syncint64.go | 24 + .../otel/propagation/baggage.go | 24 +- .../otel/propagation/trace_context.go | 13 +- .../go.opentelemetry.io/otel/requirements.txt | 2 +- .../otel/sdk/resource/builtin.go | 2 +- .../otel/sdk/resource/container.go | 2 +- .../otel/sdk/resource/env.go | 2 +- .../otel/sdk/resource/host_id.go | 2 +- .../otel/sdk/resource/host_id_readfile.go | 2 +- .../otel/sdk/resource/os.go | 2 +- .../otel/sdk/resource/process.go | 2 +- .../otel/sdk/trace/batch_span_processor.go | 6 +- .../internal/observ/batch_span_processor.go | 4 +- .../internal/observ/simple_span_processor.go | 4 +- .../otel/sdk/trace/internal/observ/tracer.go | 2 +- .../otel/sdk/trace/provider.go | 8 +- .../otel/sdk/trace/span.go | 2 +- .../go.opentelemetry.io/otel/sdk/version.go | 2 +- .../otel/semconv/v1.39.0/MIGRATION.md | 78 -- .../otel/semconv/v1.39.0/README.md | 3 - .../otel/semconv/v1.40.0/MIGRATION.md | 27 + .../otel/semconv/v1.40.0/README.md | 3 + .../{v1.39.0 => v1.40.0}/attribute_group.go | 912 ++++++++++++--- .../otel/semconv/{v1.39.0 => v1.40.0}/doc.go | 4 +- .../{v1.39.0 => v1.40.0}/error_type.go | 20 +- .../semconv/{v1.39.0 => v1.40.0}/exception.go | 2 +- .../{v1.39.0 => v1.40.0}/otelconv/metric.go | 0 .../semconv/{v1.39.0 => v1.40.0}/schema.go | 4 +- vendor/go.opentelemetry.io/otel/trace/auto.go | 2 +- .../go.opentelemetry.io/otel/trace/trace.go | 5 + .../otel/trace/tracestate.go | 9 +- vendor/go.opentelemetry.io/otel/version.go | 2 +- vendor/go.opentelemetry.io/otel/versions.yaml | 8 +- .../x/sys/cpu/asm_darwin_arm64_gc.s | 12 + vendor/golang.org/x/sys/cpu/cpu_arm64.go | 9 +- .../golang.org/x/sys/cpu/cpu_darwin_arm64.go | 67 ++ .../x/sys/cpu/cpu_darwin_arm64_other.go | 29 + .../golang.org/x/sys/cpu/cpu_gccgo_arm64.go | 1 + .../golang.org/x/sys/cpu/cpu_other_arm64.go | 6 +- .../x/sys/cpu/syscall_darwin_arm64_gc.go | 54 + .../golang.org/x/sys/plan9/syscall_plan9.go | 8 +- vendor/golang.org/x/sys/unix/ztypes_linux.go | 229 ++-- vendor/golang.org/x/sys/windows/aliases.go | 1 + .../golang.org/x/sys/windows/registry/key.go | 15 +- .../x/sys/windows/syscall_windows.go | 14 - vendor/golang.org/x/time/rate/rate.go | 30 +- vendor/golang.org/x/time/rate/sometimes.go | 4 +- vendor/k8s.io/klog/v2/README.md | 2 - .../klog/v2/internal/serialize/keyvalues.go | 232 ++-- .../internal/serialize/keyvalues_no_slog.go | 10 +- .../v2/internal/serialize/keyvalues_slog.go | 12 +- vendor/k8s.io/klog/v2/klog.go | 87 +- vendor/k8s.io/klog/v2/klogr.go | 4 +- vendor/k8s.io/klog/v2/klogr_slog.go | 11 +- vendor/modules.txt | 103 +- 244 files changed, 5936 insertions(+), 2473 deletions(-) delete mode 100644 tools/vendor/github.com/alexkohler/prealloc/pkg/types.go create mode 100644 tools/vendor/github.com/mgechev/revive/internal/syncset/syncset.go create mode 100644 tools/vendor/github.com/mgechev/revive/rule/package_naming.go create mode 100644 vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listSubscriptions.go create mode 100644 vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingConfiguration.go create mode 100644 vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingConfiguration.go create mode 100644 vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/instrumentation.go create mode 100644 vendor/go.opentelemetry.io/collector/featuregate/metadata.yaml create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/config.schema.yaml create mode 100644 vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go delete mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.39.0/MIGRATION.md delete mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.39.0/README.md create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.40.0/MIGRATION.md create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.40.0/README.md rename vendor/go.opentelemetry.io/otel/semconv/{v1.39.0 => v1.40.0}/attribute_group.go (95%) rename vendor/go.opentelemetry.io/otel/semconv/{v1.39.0 => v1.40.0}/doc.go (80%) rename vendor/go.opentelemetry.io/otel/semconv/{v1.39.0 => v1.40.0}/error_type.go (62%) rename vendor/go.opentelemetry.io/otel/semconv/{v1.39.0 => v1.40.0}/exception.go (74%) rename vendor/go.opentelemetry.io/otel/semconv/{v1.39.0 => v1.40.0}/otelconv/metric.go (100%) rename vendor/go.opentelemetry.io/otel/semconv/{v1.39.0 => v1.40.0}/schema.go (71%) create mode 100644 vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s create mode 100644 vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go create mode 100644 vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go diff --git a/go.mod b/go.mod index 3a488de6a..4cedd2830 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,12 @@ module github.com/redhat-developer/mapt -go 1.25.5 +go 1.25.6 require ( github.com/coocood/freecache v1.2.5 github.com/pulumi/pulumi-command/sdk v1.2.1 github.com/pulumi/pulumi-random/sdk/v4 v4.19.1 - github.com/pulumi/pulumi/sdk/v3 v3.224.0 + github.com/pulumi/pulumi/sdk/v3 v3.225.1 github.com/sirupsen/logrus v1.9.4 github.com/spf13/cobra v1.10.2 ) @@ -20,19 +20,19 @@ require ( github.com/aws/amazon-ec2-instance-selector/v3 v3.1.3 github.com/aws/aws-sdk-go-v2 v1.41.3 github.com/aws/aws-sdk-go-v2/config v1.32.11 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.293.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.294.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 github.com/aws/aws-sdk-go-v2/service/sts v1.41.8 - github.com/pulumi/pulumi-aws-native/sdk v1.56.0 - github.com/pulumi/pulumi-aws/sdk/v7 v7.20.0 - github.com/pulumi/pulumi-awsx/sdk/v3 v3.2.1 - github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.14.0 - github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.14.0 - github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.14.0 - github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.14.0 - github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.14.0 - github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.14.0 - github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.14.0 + github.com/pulumi/pulumi-aws-native/sdk v1.57.0 + github.com/pulumi/pulumi-aws/sdk/v7 v7.21.0 + github.com/pulumi/pulumi-awsx/sdk/v3 v3.3.0 + github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.15.0 + github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.15.0 + github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.15.0 + github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.15.0 + github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.15.0 + github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.15.0 + github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.15.0 github.com/pulumi/pulumi-gitlab/sdk/v8 v8.11.0 github.com/pulumi/pulumi-tls/sdk/v5 v5.3.0 golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa @@ -46,7 +46,7 @@ require ( github.com/go-playground/universal-translator v0.18.1 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/pgavlin/fx/v2 v2.0.12 // indirect - github.com/pulumi/pulumi-azure-native-sdk/v3 v3.14.0 // indirect + github.com/pulumi/pulumi-azure-native-sdk/v3 v3.15.0 // indirect github.com/pulumi/pulumi-docker/sdk/v4 v4.11.0 // indirect ) @@ -74,7 +74,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v3 v3.1.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups v1.2.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources/v3 v3.0.1 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v1.7.0 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect @@ -113,7 +113,7 @@ require ( github.com/golang-jwt/jwt/v5 v5.3.1 // indirect github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect github.com/hashicorp/go-version v1.8.0 // indirect github.com/iwdgo/sigintwindows v0.2.2 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -147,28 +147,28 @@ require ( github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/zclconf/go-cty v1.18.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/collector/featuregate v1.51.0 // indirect - go.opentelemetry.io/collector/pdata v1.51.0 // indirect - go.opentelemetry.io/otel v1.40.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 // indirect - go.opentelemetry.io/otel/metric v1.40.0 // indirect - go.opentelemetry.io/otel/sdk v1.40.0 // indirect - go.opentelemetry.io/otel/trace v1.40.0 // indirect + go.opentelemetry.io/collector/featuregate v1.53.0 // indirect + go.opentelemetry.io/collector/pdata v1.53.0 // indirect + go.opentelemetry.io/otel v1.42.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0 // indirect + go.opentelemetry.io/otel/metric v1.42.0 // indirect + go.opentelemetry.io/otel/sdk v1.42.0 // indirect + go.opentelemetry.io/otel/trace v1.42.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/oauth2 v0.34.0 // indirect - golang.org/x/sync v0.19.0 // indirect - golang.org/x/time v0.9.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 // indirect + golang.org/x/oauth2 v0.36.0 // indirect + golang.org/x/sync v0.20.0 // indirect + golang.org/x/time v0.15.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect - k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect + k8s.io/klog/v2 v2.140.0 // indirect + k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf // indirect + k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect @@ -217,7 +217,7 @@ require ( go.uber.org/atomic v1.11.0 // indirect golang.org/x/crypto v0.48.0 // indirect golang.org/x/net v0.51.0 // indirect - golang.org/x/sys v0.41.0 // indirect + golang.org/x/sys v0.42.0 // indirect golang.org/x/term v0.40.0 // indirect golang.org/x/text v0.34.0 // indirect google.golang.org/grpc v1.79.2 // indirect diff --git a/go.sum b/go.sum index 1b318996c..9a832a22a 100644 --- a/go.sum +++ b/go.sum @@ -28,10 +28,10 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions v1.3.0/go.mod h1:TpiwjwnW/khS0LKs4vW5UmmT9OWcxaveS8U7+tlknzo= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= -github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 h1:XRzhVemXdgvJqCH0sFfrBUTnUJSBrBf7++ypk+twtRs= -github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk= -github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg= -github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/AzureAD/microsoft-authentication-library-for-go v1.7.0 h1:4iB+IesclUXdP0ICgAabvq2FYLXrJWKx1fJQ+GxSo3Y= +github.com/AzureAD/microsoft-authentication-library-for-go v1.7.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk= +github.com/BurntSushi/toml v1.6.0 h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk= +github.com/BurntSushi/toml v1.6.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= @@ -69,8 +69,8 @@ github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5 h1:clHU5fm//kWS1C2HgtgWxfQbFbx4 github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5/go.mod h1:O3h0IK87yXci+kg6flUKzJnWeziQUKciKrLjcatSNcY= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 h1:qi3e/dmpdONhj1RyIZdi6DKKpDXS5Lb8ftr3p7cyHJc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20/go.mod h1:V1K+TeJVD5JOk3D9e5tsX2KUdL7BlB+FV6cBhdobN8c= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.293.0 h1:dgdIaG/GCiXMo16HAdFwpjt9Vn34bD2WVH5SiZdwzUc= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.293.0/go.mod h1:2dMnUs1QzlGzsm46i9oBHAxVHQp7b6qF7PljWcgVEVE= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.294.0 h1:776KnBqePBBR6zEDi0bUIHXzUBOISa2WgAKEgckUF8M= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.294.0/go.mod h1:rB577GvkmJADVOFGY8/j9sPv/ewcsEtQNsd9Lrn7Zx0= github.com/aws/aws-sdk-go-v2/service/ecs v1.73.1 h1:TSmcWx+RzhGJrPNoFkuqANafJQ7xY3W2UBg6ShN3ae8= github.com/aws/aws-sdk-go-v2/service/ecs v1.73.1/go.mod h1:KWILGx+bRowcGyJU/va2Ift48c658blP5e1qvldnIRE= github.com/aws/aws-sdk-go-v2/service/iam v1.53.4 h1:FUWGS7m97SYL0bk9Kb+Q4bVpcSrKOHNiIbEXIRFTRW4= @@ -216,8 +216,8 @@ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 h1:X+2YciYSxvMQK0UZ7sg45ZVabVZBeBuvMkmuI2V3Fak= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7/go.mod h1:lW34nIZuQ8UDPdkon5fmfp2l3+ZkQ2me/+oecHYLOII= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 h1:HWRh5R2+9EifMyIHV7ZV+MIZqgz+PMpZ14Jynv3O2Zs= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0/go.mod h1:JfhWUomR1baixubs02l85lZYYOm7LV6om4ceouMv45c= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -334,28 +334,28 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.22.0 h1:Kbk0kIPsoIu6vnLgKtiE8AKRfl8B8bg6adiQuwJiBjA= github.com/pulumi/esc v0.22.0/go.mod h1:mkghIFn/TvN3XnP4jmCB4U5BG1I4UjGluARi39ckrCE= -github.com/pulumi/pulumi-aws-native/sdk v1.56.0 h1:pFUJuATUwRCfZk+mb1MftTqGYnbh+8KH5tXkTgZ8+dc= -github.com/pulumi/pulumi-aws-native/sdk v1.56.0/go.mod h1:UkhMdEA8ukabGNkdw0nW3gF3lvCA35iU42XjCQN4pNM= -github.com/pulumi/pulumi-aws/sdk/v7 v7.20.0 h1:lUkhos4MN016kNr4Qk3c3bo021/2eoDj8YLMryqplhw= -github.com/pulumi/pulumi-aws/sdk/v7 v7.20.0/go.mod h1:roeZielU3NuaZyTQWeW1jHV1JB2r3oV9a2sZbU8WeQs= -github.com/pulumi/pulumi-awsx/sdk/v3 v3.2.1 h1:2yFX9uxAcSi3dzNs1aRSdz52pWuLRtT1VbvtEdkU2dU= -github.com/pulumi/pulumi-awsx/sdk/v3 v3.2.1/go.mod h1:Jyr19gfK8Q7XYPxi2+NGwypZy2PnEHCypHqIUx1qU5o= -github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.14.0 h1:LvK2Ve5g7Pv3INaGc6v0DigJQxilijlaW5n/wYvot1k= -github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.14.0/go.mod h1:seNWKUDY09nLiOLLe/BlCSTdHUwoP3qJS+0jD5S3ltQ= -github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.14.0 h1:dejLT5csB3iPPrm+SJ+J8689pjDPab5F7LRKVDsY0as= -github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.14.0/go.mod h1:h+jjjy+3Ytg5QDRy0laI2WpI1lsbxNO9euqhHx9gBFs= -github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.14.0 h1:x3XBsKVGN1GezwFqrAxjeI4p9DhdshOdH/Um3Y23vvU= -github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.14.0/go.mod h1:oXiLzeqAm4yLE426N9JQaRM8fPNMfUzYri3u/Vx5n0o= -github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.14.0 h1:zZidv5mmN5/HS3zU0RktpULloNikX2AZw6mAOGpSCpo= -github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.14.0/go.mod h1:DjKhtbrocV/S3AbCUKXMxYYr+gByDt9jyPjmyohd3+I= -github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.14.0 h1:GSV73YhJcSiYQ2nawVWr1sUEsP8aRoSsKDrRdoJPOKE= -github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.14.0/go.mod h1:ESa7SVfSWWp9c+rtnRRzmi2Xs6cfG3hwDp49OTl7OoU= -github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.14.0 h1:UC7qtT+nEOwklPQUupfLbQ0JRrRJ2OrGczr/OVhi0Ig= -github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.14.0/go.mod h1:C4BY+62r/puESyTLigDV1doOs4ur2b1kCVCSsH8Jh10= -github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.14.0 h1:O6b6+euriIsbhVLRggv2hzoCsbvV8CgfnTquYrl2BEY= -github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.14.0/go.mod h1:eXbHKmOCwrIkw12pdxnjFPfj4vFMlDcaBAJD6JV0qmg= -github.com/pulumi/pulumi-azure-native-sdk/v3 v3.14.0 h1:29XtsDNMNqDOjWqTyHnN0KoQAMvboNPnVYSbnVH9mFY= -github.com/pulumi/pulumi-azure-native-sdk/v3 v3.14.0/go.mod h1:HpTlXFm+yGTmCdDj3rszMvzS0OBk1kpN2TNbAwnChNI= +github.com/pulumi/pulumi-aws-native/sdk v1.57.0 h1:It+iBKVjnlB7aKMdTXegPSZ6hlElWdzjpQjcsw1CQAM= +github.com/pulumi/pulumi-aws-native/sdk v1.57.0/go.mod h1:mZqNmPQKFtR3F21zQSsjb/2O25tb+9wV2BnO6W2X9bg= +github.com/pulumi/pulumi-aws/sdk/v7 v7.21.0 h1:r9BtOd8R5Y8uHjx8xJJRQuNP5U2YZevyeuZqFT4Rwyw= +github.com/pulumi/pulumi-aws/sdk/v7 v7.21.0/go.mod h1:ZfWMh9R4tKLJadncyFVPIhaEr4mqLcS84jF9r3YtXkE= +github.com/pulumi/pulumi-awsx/sdk/v3 v3.3.0 h1:FnBJCueeAyLQyDY1JyJz8coMI8C6ltFVQHN6OXj2QV4= +github.com/pulumi/pulumi-awsx/sdk/v3 v3.3.0/go.mod h1:2/RMtCM6nOYsWHV0rFZRze7PdSMIKM61ZHbDGEwMaOs= +github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.15.0 h1:ixiRpCi/rDZonx6u2Ekm2vyt2AvkPTBiFOsvr26/6ms= +github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.15.0/go.mod h1:sX9895VTxroCuVSgnfJFxgSdtt8vm0WSeVsYi+O4oNw= +github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.15.0 h1:7fawXOouZT5sXB5Uj+B6iT1Tla5o19eKugsdolKJF8E= +github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.15.0/go.mod h1:QRWGNdhZHYq5y1ZPbM+MtAQ6eJgCxyfbIRJLnptBU5s= +github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.15.0 h1:8mz1NdDhoH0Ky832j5GWYUgbNRnwkGopYCQ78mEm1go= +github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.15.0/go.mod h1:BdYgy4z+mztbQbXirekvWwkwcQBxN4UmDSbBH+iWjds= +github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.15.0 h1:zPg045umQxuWQzWlRC9AZPgqoTgXEAlT5qMVUFyA4Ww= +github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.15.0/go.mod h1:6uqtBCO/77I78nTnRK1eWtp7y7kMAhgtCj0dzMjqPtM= +github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.15.0 h1:TokpnB2dd8ehp6mfeSGa61Afwr4KjcVpzbrLPDO98Dw= +github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.15.0/go.mod h1:jsY9P9r8h/d+0qkt9kNITxCso1dHJCA/BYhg24vGSKU= +github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.15.0 h1:DaDnMM0jFUsPvECtt/CTnMMw75882QyXtQLG9we4+nk= +github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.15.0/go.mod h1:0LCEqxArd1axsjot6hwbXBTVzThTFDkZ/LS60ODuRH0= +github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.15.0 h1:A1cksYWKtvBHTvWbhcUpJc8vV994LJY54F9SDBbb3DU= +github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.15.0/go.mod h1:WeNzJQtMdUPFAChZPDpw6hbKb1FbMgTlDVoeKhNPZ6E= +github.com/pulumi/pulumi-azure-native-sdk/v3 v3.15.0 h1:krYpX1ddRcYbwSJfSTJkm8Kv5rZW8A06qITJiHEf83w= +github.com/pulumi/pulumi-azure-native-sdk/v3 v3.15.0/go.mod h1:HpTlXFm+yGTmCdDj3rszMvzS0OBk1kpN2TNbAwnChNI= github.com/pulumi/pulumi-command/sdk v1.2.1 h1:mAziZ91a/9U+5IjZH5Skcar80OSmpBSYljeQNRblTWQ= github.com/pulumi/pulumi-command/sdk v1.2.1/go.mod h1:hQxv9DXg6bFjcd9BEiNdMImQ/V1rnC9D115q5VXYNps= github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.15 h1:K6F/3o44gGj+ljRS4spCGvAXMSwECHITjaCccfjXNyE= @@ -370,8 +370,8 @@ github.com/pulumi/pulumi-random/sdk/v4 v4.19.1 h1:MUr4+gUQy+wqhoHsuhXO6ypT40KhU9 github.com/pulumi/pulumi-random/sdk/v4 v4.19.1/go.mod h1:AJpJvPU3qJaq02VUui3rMZHchvVpTvVuVp0lbCeEE50= github.com/pulumi/pulumi-tls/sdk/v5 v5.3.0 h1:T5flLAVyTUbnNRbKMpwMpHoNiquxRlGzpevYkan5ZkM= github.com/pulumi/pulumi-tls/sdk/v5 v5.3.0/go.mod h1:dGWmFbFPclMTOrhpYtXN6trciFHZR08p31S6TqRrLzo= -github.com/pulumi/pulumi/sdk/v3 v3.224.0 h1:z/4vxGI2oO9IY6Jr5pJ5rCCfaF0D9CDMyf71vTvLots= -github.com/pulumi/pulumi/sdk/v3 v3.224.0/go.mod h1:O6FsKAEKCj3axqPQ6DyMUn/07pN1I2vq9wI1WFEuxnI= +github.com/pulumi/pulumi/sdk/v3 v3.225.1 h1:yn64PBZocE0Ums82fc6jaWRZthZ352BFi/tVAs5jrps= +github.com/pulumi/pulumi/sdk/v3 v3.225.1/go.mod h1:kiwkjulVm9ibqTOcyrZYhaRZsDSxWpzIKPXtCFeffBE= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= @@ -434,26 +434,26 @@ github.com/zclconf/go-cty v1.18.0 h1:pJ8+HNI4gFoyRNqVE37wWbJWVw43BZczFo7KUoRczaA github.com/zclconf/go-cty v1.18.0/go.mod h1:qpnV6EDNgC1sns/AleL1fvatHw72j+S+nS+MJ+T2CSg= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/collector/featuregate v1.51.0 h1:dxJuv/3T84dhNKp7fz5+8srHz1dhquGzDpLW4OZTFBw= -go.opentelemetry.io/collector/featuregate v1.51.0/go.mod h1:/1bclXgP91pISaEeNulRxzzmzMTm4I5Xih2SnI4HRSo= -go.opentelemetry.io/collector/internal/testutil v0.145.0 h1:H/KL0GH3kGqSMKxZvnQ0B0CulfO9xdTg4DZf28uV7fY= -go.opentelemetry.io/collector/internal/testutil v0.145.0/go.mod h1:YAD9EAkwh/l5asZNbEBEUCqEjoL1OKMjAMoPjPqH76c= -go.opentelemetry.io/collector/pdata v1.51.0 h1:DnDhSEuDXNdzGRB7f6oOfXpbDApwBX3tY+3K69oUrDA= -go.opentelemetry.io/collector/pdata v1.51.0/go.mod h1:GoX1bjKDR++mgFKdT7Hynv9+mdgQ1DDXbjs7/Ww209Q= -go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms= -go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 h1:QKdN8ly8zEMrByybbQgv8cWBcdAarwmIPZ6FThrWXJs= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0/go.mod h1:bTdK1nhqF76qiPoCCdyFIV+N/sRHYXYCTQc+3VCi3MI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 h1:DvJDOPmSWQHWywQS6lKL+pb8s3gBLOZUtw4N+mavW1I= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0/go.mod h1:EtekO9DEJb4/jRyN4v4Qjc2yA7AtfCBuz2FynRUWTXs= -go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g= -go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc= -go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= -go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= -go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4AtAlbuWdCYw= -go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg= -go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw= -go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA= +go.opentelemetry.io/collector/featuregate v1.53.0 h1:cgjXdtl7jezWxq6V0eohe/JqjY4PBotZGb5+bTR2OJw= +go.opentelemetry.io/collector/featuregate v1.53.0/go.mod h1:PS7zY/zaCb28EqciePVwRHVhc3oKortTFXsi3I6ee4g= +go.opentelemetry.io/collector/internal/testutil v0.147.0 h1:DFlRxBRp23/sZnpTITK25yqe0d56yNvK+63IaWc6OsU= +go.opentelemetry.io/collector/internal/testutil v0.147.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE= +go.opentelemetry.io/collector/pdata v1.53.0 h1:DlYDbRwammEZaxDZHINx5v0n8SEOVNniPbi6FRTlVkA= +go.opentelemetry.io/collector/pdata v1.53.0/go.mod h1:LRSYGNjKXaUrZEwZv3Yl+8/zV2HmRGKXW62zB2bysms= +go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= +go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0 h1:THuZiwpQZuHPul65w4WcwEnkX2QIuMT+UFoOrygtoJw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0/go.mod h1:J2pvYM5NGHofZ2/Ru6zw/TNWnEQp5crgyDeSrYpXkAw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0 h1:zWWrB1U6nqhS/k6zYB74CjRpuiitRtLLi68VcgmOEto= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0/go.mod h1:2qXPNBX1OVRC0IwOnfo1ljoid+RD0QK3443EaqVlsOU= +go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= +go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= +go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo= +go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts= +go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA= +go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc= +go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY= +go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.opentelemetry.io/proto/slim/otlp v1.9.0 h1:fPVMv8tP3TrsqlkH1HWYUpbCY9cAIemx184VGkS6vlE= @@ -494,13 +494,13 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= -golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw= -golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -518,8 +518,8 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= -golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= +golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg= golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= @@ -528,8 +528,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= -golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= -golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= +golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -544,8 +544,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 h1:merA0rdPeUV3YIIfHHcH4qBkiQAc1nfCKSI7lB4cV2M= -google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409/go.mod h1:fl8J1IvUjCilwZzQowmw2b7HQB2eAuYBabMXzWurF+I= +google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171 h1:tu/dtnW1o3wfaxCOjSLn5IRX4YDcJrtlpzYkhHhGaC4= +google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171/go.mod h1:M5krXqk4GhBKvB596udGL3UyjL4I1+cTbK0orROM9ng= google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 h1:ggcbiqK8WWh6l1dnltU4BgWGIGo+EVYxCaAPih/zQXQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.79.2 h1:fRMD94s2tITpyJGtBBn7MkMseNpOZU8ZxgC3MMBaXRU= @@ -575,12 +575,12 @@ k8s.io/apimachinery v0.35.2 h1:NqsM/mmZA7sHW02JZ9RTtk3wInRgbVxL8MPfzSANAK8= k8s.io/apimachinery v0.35.2/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= k8s.io/client-go v0.35.2 h1:YUfPefdGJA4aljDdayAXkc98DnPkIetMl4PrKX97W9o= k8s.io/client-go v0.35.2/go.mod h1:4QqEwh4oQpeK8AaefZ0jwTFJw/9kIjdQi0jpKeYvz7g= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= +k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= +k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf h1:btPscg4cMql0XdYK2jLsJcNEKmACJz8l+U7geC06FiM= +k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= +k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= +k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= lukechampine.com/frand v1.5.1 h1:fg0eRtdmGFIxhP5zQJzM1lFDbD6CUfu/f+7WgAZd5/w= lukechampine.com/frand v1.5.1/go.mod h1:4VstaWc2plN4Mjr10chUD46RAVGWhpkZ5Nja8+Azp0Q= pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= diff --git a/oci/Containerfile b/oci/Containerfile index b39c9a85c..b5657b30d 100644 --- a/oci/Containerfile +++ b/oci/Containerfile @@ -1,12 +1,12 @@ -FROM registry.access.redhat.com/ubi9/go-toolset@sha256:b3b98e0b21ddbb979d968ca319b8eebdca121e30d58994072cbf99ce86e5d24e as builder +FROM registry.access.redhat.com/ubi9/go-toolset@sha256:71101fd9ba32aabeaec2c073e5786c91642aaee902475fce3d8280457fb19e9d as builder ARG TARGETARCH USER root WORKDIR /workspace COPY . . # renovate: datasource=github-releases depName=pulumi/pulumi -ENV PULUMI_VERSION 3.224.0 +ENV PULUMI_VERSION 3.225.1 ENV PULUMI_BASE_URL="https://github.com/pulumi/pulumi/releases/download/v${PULUMI_VERSION}/pulumi-v${PULUMI_VERSION}" ENV PULUMI_URL="${PULUMI_BASE_URL}-linux-x64.tar.gz" @@ -32,11 +32,11 @@ ENV AWS_SDK_LOAD_CONFIG=1 \ # Pulumi plugins # renovate: datasource=github-releases depName=pulumi/pulumi-aws -ARG PULUMI_AWS_VERSION=v7.20.0 +ARG PULUMI_AWS_VERSION=v7.21.0 # renovate: datasource=github-releases depName=pulumi/pulumi-awsx -ARG PULUMI_AWSX_VERSION=v3.2.1 +ARG PULUMI_AWSX_VERSION=v3.3.0 # renovate: datasource=github-releases depName=pulumi/pulumi-azure-native -ARG PULUMI_AZURE_NATIVE_VERSION=v3.14.0 +ARG PULUMI_AZURE_NATIVE_VERSION=v3.15.0 # renovate: datasource=github-releases depName=pulumi/pulumi-command ARG PULUMI_COMMAND_VERSION=v1.2.1 # renovate: datasource=github-releases depName=pulumi/pulumi-tls @@ -44,7 +44,7 @@ ARG PULUMI_TLS_VERSION=v5.3.0 # renovate: datasource=github-releases depName=pulumi/pulumi-random ARG PULUMI_RANDOM_VERSION=v4.19.1 # renovate: datasource=github-releases depName=pulumi/pulumi-aws-native -ARG PULUMI_AWS_NATIVE_VERSION=v1.56.0 +ARG PULUMI_AWS_NATIVE_VERSION=v1.57.0 # renovate: datasource=github-releases depName=pulumi/pulumi-gitlab ARG PULUMI_GITLAB_VERSION=v9.9.0 diff --git a/tools/go.mod b/tools/go.mod index 926e48bf4..8f5f43214 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -2,9 +2,7 @@ module github.com/redhat-developer/mapt/tools go 1.25.0 -require github.com/golangci/golangci-lint/v2 v2.10.1 - -require github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect +require github.com/golangci/golangci-lint/v2 v2.11.2 require ( github.com/charmbracelet/x/cellbuf v0.0.15 // indirect @@ -22,12 +20,13 @@ require ( dev.gaijin.team/go/golib v0.8.1 // indirect github.com/AdminBenni/iota-mixing v1.0.0 // indirect github.com/MirrexOne/unqueryvet v1.5.4 // indirect - github.com/alexkohler/prealloc v1.0.2 // indirect + github.com/alexkohler/prealloc v1.1.0 // indirect github.com/alfatraining/structtag v1.0.0 // indirect github.com/clipperhouse/uax29/v2 v2.7.0 // indirect github.com/denis-tingaikin/go-header v0.5.0 // indirect github.com/godoc-lint/godoc-lint v0.11.2 // indirect github.com/golangci/asciicheck v0.5.0 // indirect + github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect github.com/gostaticanalysis/nilerr v0.1.2 // indirect github.com/nunnatsa/ginkgolinter v0.23.0 // indirect ) @@ -116,7 +115,7 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/jgautheron/goconst v1.8.2 // indirect + github.com/jgautheron/goconst v1.9.0 // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect github.com/jjti/go-spancheck v0.6.5 // indirect github.com/julz/importas v0.2.0 // indirect @@ -143,7 +142,7 @@ require ( github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.21 // indirect - github.com/mgechev/revive v1.14.0 // indirect + github.com/mgechev/revive v1.15.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/moricho/tparallel v0.3.2 // indirect github.com/muesli/termenv v0.16.0 // indirect @@ -211,8 +210,8 @@ require ( go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/exp/typeparams v0.0.0-20260218203240-3dfff04db8fa // indirect golang.org/x/mod v0.33.0 // indirect - golang.org/x/sync v0.19.0 // indirect - golang.org/x/sys v0.41.0 // indirect + golang.org/x/sync v0.20.0 // indirect + golang.org/x/sys v0.42.0 // indirect golang.org/x/text v0.34.0 // indirect golang.org/x/tools v0.42.0 // indirect google.golang.org/protobuf v1.36.11 // indirect diff --git a/tools/go.sum b/tools/go.sum index 570338917..48fd00e8c 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -44,8 +44,8 @@ github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alexkohler/nakedret/v2 v2.0.6 h1:ME3Qef1/KIKr3kWX3nti3hhgNxw6aqN5pZmQiFSsuzQ= github.com/alexkohler/nakedret/v2 v2.0.6/go.mod h1:l3RKju/IzOMQHmsEvXwkqMDzHHvurNQfAgE1eVmT40Q= -github.com/alexkohler/prealloc v1.0.2 h1:MPo8cIkGkZytq7WNH9UHv3DIX1mPz1RatPXnZb0zHWQ= -github.com/alexkohler/prealloc v1.0.2/go.mod h1:fT39Jge3bQrfA7nPMDngUfvUbQGQeJyGQnR+913SCig= +github.com/alexkohler/prealloc v1.1.0 h1:cKGRBqlXw5iyQGLYhrXrDlcHxugXpTq4tQ5c91wkf8M= +github.com/alexkohler/prealloc v1.1.0/go.mod h1:fT39Jge3bQrfA7nPMDngUfvUbQGQeJyGQnR+913SCig= github.com/alfatraining/structtag v1.0.0 h1:2qmcUqNcCoyVJ0up879K614L9PazjBSFruTB0GOFjCc= github.com/alfatraining/structtag v1.0.0/go.mod h1:p3Xi5SwzTi+Ryj64DqjLWz7XurHxbGsq6y3ubePJPus= github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= @@ -177,8 +177,8 @@ github.com/golangci/go-printf-func-name v0.1.1 h1:hIYTFJqAGp1iwoIfsNTpoq1xZAarog github.com/golangci/go-printf-func-name v0.1.1/go.mod h1:Es64MpWEZbh0UBtTAICOZiB+miW53w/K9Or/4QogJss= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY= -github.com/golangci/golangci-lint/v2 v2.10.1 h1:flhw5Px6ojbLyEFzXvJn5B2HEdkkRlkhE1SnmCbQBiE= -github.com/golangci/golangci-lint/v2 v2.10.1/go.mod h1:dBsrOk6zj0vDhlTv+IiJGqkDokR24IVTS7W3EVfPTQY= +github.com/golangci/golangci-lint/v2 v2.11.2 h1:4Icd3mEqthcFcFww8L67OBtfKB/obXxko8aFUMqP/5w= +github.com/golangci/golangci-lint/v2 v2.11.2/go.mod h1:wexdFBIQNhHNhDe1oqzlGFE5dYUqlfccWJKWjoWF1GI= github.com/golangci/golines v0.15.0 h1:Qnph25g8Y1c5fdo1X7GaRDGgnMHgnxh4Gk4VfPTtRx0= github.com/golangci/golines v0.15.0/go.mod h1:AZjXd23tbHMpowhtnGlj9KCNsysj72aeZVVHnVcZx10= github.com/golangci/misspell v0.8.0 h1:qvxQhiE2/5z+BVRo1kwYA8yGz+lOlu5Jfvtx2b04Jbg= @@ -225,8 +225,8 @@ github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUq github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/jgautheron/goconst v1.8.2 h1:y0XF7X8CikZ93fSNT6WBTb/NElBu9IjaY7CCYQrCMX4= -github.com/jgautheron/goconst v1.8.2/go.mod h1:A0oxgBCHy55NQn6sYpO7UdnA9p+h7cPtoOZUmvNIako= +github.com/jgautheron/goconst v1.9.0 h1:lCZu0hmff6FtZQ65KCcK2G/f49AbSJIMyugfhvR5Id8= +github.com/jgautheron/goconst v1.9.0/go.mod h1:0p+wv1lFOiUr0IlNNT1nrm6+8DB8u2sU6KHGzFRXHDc= github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jjti/go-spancheck v0.6.5 h1:lmi7pKxa37oKYIMScialXUK6hP3iY5F1gu+mLBPgYB8= @@ -285,8 +285,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.21 h1:jJKAZiQH+2mIinzCJIaIG9Be1+0NR+5sz/lYEEjdM8w= github.com/mattn/go-runewidth v0.0.21/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= -github.com/mgechev/revive v1.14.0 h1:CC2Ulb3kV7JFYt+izwORoS3VT/+Plb8BvslI/l1yZsc= -github.com/mgechev/revive v1.14.0/go.mod h1:MvnujelCZBZCaoDv5B3foPo6WWgULSSFxvfxp7GsPfo= +github.com/mgechev/revive v1.15.0 h1:vJ0HzSBzfNyPbHKolgiFjHxLek9KUijhqh42yGoqZ8Q= +github.com/mgechev/revive v1.15.0/go.mod h1:LlAKO3QQe9OJ0pVZzI2GPa8CbXGZ/9lNpCGvK4T/a8A= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI= @@ -494,8 +494,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -512,8 +512,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= -golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= +golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= diff --git a/tools/vendor/github.com/alexkohler/prealloc/pkg/math.go b/tools/vendor/github.com/alexkohler/prealloc/pkg/math.go index 4335b0860..4a4923682 100644 --- a/tools/vendor/github.com/alexkohler/prealloc/pkg/math.go +++ b/tools/vendor/github.com/alexkohler/prealloc/pkg/math.go @@ -39,7 +39,33 @@ func addIntExpr(x, y ast.Expr) ast.Expr { return &ast.BinaryExpr{X: x, Op: token.ADD, Y: y} } +func incIntExpr(x ast.Expr) ast.Expr { + if x == nil { + return nil + } + + xInt, xOK := intValue(x) + if xOK { + return intExpr(xInt + 1) + } + if binary, ok := x.(*ast.BinaryExpr); ok && binary.Op == token.SUB { + if yInt, yOK := intValue(binary.Y); yOK && yInt == 1 { + return binary.X + } + } + return &ast.BinaryExpr{X: x, Op: token.ADD, Y: intExpr(1)} +} + func subIntExpr(x, y ast.Expr) ast.Expr { + if binary, ok := x.(*ast.BinaryExpr); ok && binary.Op == token.ADD { + if exprEqual(binary.X, y) { + return binary.Y + } + if exprEqual(binary.Y, y) { + return binary.X + } + } + if unary, ok := y.(*ast.UnaryExpr); ok && unary.Op == token.SUB { y = unary.X } else { @@ -78,6 +104,26 @@ func mulIntExpr(x, y ast.Expr) ast.Expr { return &ast.BinaryExpr{X: x, Op: token.MUL, Y: y} } +func divIntExpr(x, y ast.Expr) (ast.Expr, bool) { + if x == nil || y == nil { + return nil, false + } + + xInt, xOK := intValue(x) + yInt, yOK := intValue(y) + + if xOK && yOK { + return intExpr(xInt / yInt), xInt%yInt != 0 + } + if yOK && yInt == 0 { + return nil, false + } + if (xOK && xInt == 0) || (yOK && yInt == 1) { + return x, false + } + return &ast.BinaryExpr{X: x, Op: token.QUO, Y: y}, true +} + func intExpr(n int) *ast.BasicLit { return &ast.BasicLit{Kind: token.INT, Value: strconv.Itoa(n)} } diff --git a/tools/vendor/github.com/alexkohler/prealloc/pkg/prealloc.go b/tools/vendor/github.com/alexkohler/prealloc/pkg/prealloc.go index d21613ae7..959a8671c 100644 --- a/tools/vendor/github.com/alexkohler/prealloc/pkg/prealloc.go +++ b/tools/vendor/github.com/alexkohler/prealloc/pkg/prealloc.go @@ -5,6 +5,7 @@ import ( "go/ast" "go/format" "go/token" + "go/types" "strconv" "golang.org/x/tools/go/analysis" @@ -17,6 +18,8 @@ type sliceDeclaration struct { lenExpr ast.Expr // Initial length of this slice. exclude bool // Whether this slice has been disqualified due to an unsupported pattern. hasReturn bool // Whether a return statement has been found after the first append. Any subsequent appends will disqualify this slice in simple mode. + assigning bool // Whether this slice is currently being assigned the result of an append. + detached bool // Whether this slice has been appended without reassignment. Will be disqualified if this happens more than once. } type sliceAppend struct { @@ -29,27 +32,27 @@ type returnsVisitor struct { simple bool includeRangeLoops bool includeForLoops bool + pass *analysis.Pass // visitor fields sliceDeclarations []*sliceDeclaration sliceAppends []*sliceAppend loopVars []ast.Expr - preallocHints []analysis.Diagnostic level int // Current nesting level. Loops do not increment the level. hasReturn bool // Whether a return statement has been found. Slices appended before and after a return are disqualified in simple mode. hasGoto bool // Whether a goto statement has been found. Goto disqualifies pending and subsequent slices in simple mode. hasBranch bool // Whether a branch statement has been found. Loops with branch statements are unsupported in simple mode. } -func Check(files []*ast.File, simple, includeRangeLoops, includeForLoops bool) []analysis.Diagnostic { +func Check(pass *analysis.Pass, simple, includeRangeLoops, includeForLoops bool) { retVis := &returnsVisitor{ simple: simple, includeRangeLoops: includeRangeLoops, includeForLoops: includeForLoops, + pass: pass, } - for _, f := range files { + for _, f := range pass.Files { ast.Walk(retVis, f) } - return retVis.preallocHints } func (v *returnsVisitor) Visit(node ast.Node) ast.Visitor { @@ -116,7 +119,7 @@ func (v *returnsVisitor) Visit(node ast.Node) ast.Visitor { buf.Truncate(undo) } } - v.preallocHints = append(v.preallocHints, analysis.Diagnostic{ + v.pass.Report(analysis.Diagnostic{ Pos: sliceDecl.pos, Message: buf.String(), }) @@ -137,15 +140,21 @@ func (v *returnsVisitor) Visit(node ast.Node) ast.Visitor { return nil case *ast.ValueSpec: - _, isArrayType := inferExprType(s.Type).(*ast.ArrayType) + var isArrayOrSlice bool + if t := v.pass.TypesInfo.TypeOf(s.Type); t != nil { + switch t.Underlying().(type) { + case *types.Array, *types.Slice: + isArrayOrSlice = true + } + } for i, name := range s.Names { var lenExpr ast.Expr if i >= len(s.Values) { - if !isArrayType { + if !isArrayOrSlice { continue } lenExpr = intExpr(0) - } else if lenExpr = isCreateArray(s.Values[i]); lenExpr == nil { + } else if lenExpr = v.isCreateArray(s.Values[i]); lenExpr == nil { if id, ok := s.Values[i].(*ast.Ident); !ok || id.Name != "nil" { continue } @@ -174,7 +183,7 @@ func (v *returnsVisitor) Visit(node ast.Node) ast.Visitor { if !ok { continue } - if lenExpr := isCreateArray(s.Rhs[i]); lenExpr != nil { + if lenExpr := v.isCreateArray(s.Rhs[i]); lenExpr != nil { v.sliceDeclarations = append(v.sliceDeclarations, &sliceDeclaration{name: ident.Name, pos: s.Pos(), level: v.level, lenExpr: lenExpr}) } else { declIdx := -1 @@ -199,7 +208,7 @@ func (v *returnsVisitor) Visit(node ast.Node) ast.Visitor { if len(expr.Args) >= 2 && !sliceDecl.hasReturn && sliceDecl.level == v.level { if funIdent, ok := expr.Fun.(*ast.Ident); ok && funIdent.Name == "append" { if rhsIdent, ok := expr.Args[0].(*ast.Ident); ok && ident.Name == rhsIdent.Name { - v.sliceAppends = append(v.sliceAppends, &sliceAppend{index: declIdx, countExpr: appendCount(expr)}) + sliceDecl.assigning = true continue } } @@ -209,6 +218,45 @@ func (v *returnsVisitor) Visit(node ast.Node) ast.Visitor { } } + case *ast.CallExpr: + if funIdent, ok := s.Fun.(*ast.Ident); ok && funIdent.Name == "append" && len(s.Args) >= 2 { + if rhsIdent, ok := s.Args[0].(*ast.Ident); ok { + declIdx := -1 + for i := len(v.sliceDeclarations) - 1; i >= 0; i-- { + if v.sliceDeclarations[i].name == rhsIdent.Name { + declIdx = i + break + } + } + if declIdx < 0 { + return v + } + sliceDecl := v.sliceDeclarations[declIdx] + if sliceDecl.exclude { + return v + } + + if sliceDecl.hasReturn || sliceDecl.level != v.level || sliceDecl.detached { + sliceDecl.exclude = true + return v + } + + countExpr := v.appendCount(s) + if countExpr != nil && (hasAny(countExpr, v.loopVars) || hasVarReference(countExpr, sliceDecl.name)) { + // exclude slice if append count references it + sliceDecl.exclude = true + return v + } + + if sliceDecl.assigning { + sliceDecl.assigning = false + } else { + sliceDecl.detached = true + } + v.sliceAppends = append(v.sliceAppends, &sliceAppend{index: declIdx, countExpr: countExpr}) + } + } + case *ast.RangeStmt: return v.walkRange(s) @@ -288,17 +336,26 @@ func (v *returnsVisitor) walkRange(stmt *ast.RangeStmt) ast.Visitor { } } } else { - for i := range v.sliceDeclarations { + for i, sliceDecl := range v.sliceDeclarations { + if sliceDecl.exclude { + continue + } prev := -1 for j := len(v.sliceAppends) - 1; j >= appendIdx; j-- { if v.sliceAppends[j] != nil && v.sliceAppends[j].index == i { - if prev >= 0 { + if prev < 0 { + if loopCountExpr == nil { + // make appends indeterminate if the loop count is indeterminate + v.sliceAppends[j].countExpr = nil + } else if hasVarReference(loopCountExpr, sliceDecl.name) { + // exclude slice if loop count references it + sliceDecl.exclude = true + break + } + } else { // consolidate appends to the same slice v.sliceAppends[j].countExpr = addIntExpr(v.sliceAppends[j].countExpr, v.sliceAppends[prev].countExpr) v.sliceAppends[prev] = nil - } else if loopCountExpr == nil { - // make appends indeterminate if the loop count is indeterminate - v.sliceAppends[j].countExpr = nil } prev = j } @@ -347,17 +404,26 @@ func (v *returnsVisitor) walkFor(stmt *ast.ForStmt) ast.Visitor { } } } else { - for i := range v.sliceDeclarations { + for i, sliceDecl := range v.sliceDeclarations { + if sliceDecl.exclude { + continue + } prev := -1 for j := len(v.sliceAppends) - 1; j >= appendIdx; j-- { if v.sliceAppends[j] != nil && v.sliceAppends[j].index == i { - if prev >= 0 { + if prev < 0 { + if loopCountExpr == nil { + // make appends indeterminate if the loop count is indeterminate + v.sliceAppends[j].countExpr = nil + } else if hasVarReference(loopCountExpr, sliceDecl.name) { + // exclude slice if loop count references it + sliceDecl.exclude = true + break + } + } else { // consolidate appends to the same slice v.sliceAppends[j].countExpr = addIntExpr(v.sliceAppends[j].countExpr, v.sliceAppends[prev].countExpr) v.sliceAppends[prev] = nil - } else if loopCountExpr == nil { - // make appends indeterminate if the loop count is indeterminate - v.sliceAppends[j].countExpr = nil } prev = j } @@ -379,12 +445,15 @@ func (v *returnsVisitor) walkSwitchSelect(body *ast.BlockStmt) ast.Visitor { return nil } -func isCreateArray(expr ast.Expr) ast.Expr { +func (v *returnsVisitor) isCreateArray(expr ast.Expr) ast.Expr { switch e := expr.(type) { case *ast.CompositeLit: // []any{...} - if _, ok := inferExprType(e.Type).(*ast.ArrayType); ok { - return intExpr(len(e.Elts)) + if t := v.pass.TypesInfo.TypeOf(e); t != nil { + switch t.Underlying().(type) { + case *types.Array, *types.Slice: + return intExpr(len(e.Elts)) + } } case *ast.CallExpr: switch len(e.Args) { @@ -394,8 +463,10 @@ func isCreateArray(expr ast.Expr) ast.Expr { if !ok || arg.Name != "nil" { return nil } - if _, ok = inferExprType(e.Fun).(*ast.ArrayType); ok { - return intExpr(0) + if t := v.pass.TypesInfo.TypeOf(e.Fun); t != nil { + if _, ok := t.Underlying().(*types.Slice); ok { + return intExpr(0) + } } case 2: // make([]any, n) @@ -421,37 +492,41 @@ func (v *returnsVisitor) rangeLoopCount(stmt *ast.RangeStmt) (ast.Expr, bool) { } } else if len(call.Args) >= 2 { if funIdent, ok := call.Fun.(*ast.Ident); ok && funIdent.Name == "append" { - return addIntExpr(sliceLength(call.Args[0]), appendCount(call)), true + return addIntExpr(v.sliceLength(call.Args[0]), v.appendCount(call)), true } } } - xType := inferExprType(x) + xType := v.pass.TypesInfo.TypeOf(x) + if xType != nil { + xType = xType.Underlying() + } switch xType := xType.(type) { - case *ast.ChanType, *ast.FuncType: + case *types.Chan, *types.Signature: return nil, false - case *ast.ArrayType: + case *types.Array: + if _, ok := stmt.X.(*ast.CompositeLit); ok && xType.Len() >= 0 { + return intExpr(int(xType.Len())), true + } + case *types.Slice: if lit, ok := stmt.X.(*ast.CompositeLit); ok { - if xType.Len != nil { - return xType.Len, true - } return intExpr(len(lit.Elts)), true } - case *ast.MapType: + case *types.Map: if lit, ok := x.(*ast.CompositeLit); ok { return intExpr(len(lit.Elts)), true } - case *ast.StarExpr: - if xType, ok := xType.X.(*ast.ArrayType); !ok || xType.Len == nil { + case *types.Pointer: + if xType, ok := xType.Elem().(*types.Array); !ok { return nil, true } else if unary, ok := x.(*ast.UnaryExpr); ok && unary.Op == token.AND { - if _, ok := unary.X.(*ast.CompositeLit); ok { - return xType.Len, true + if _, ok := unary.X.(*ast.CompositeLit); ok && xType.Len() >= 0 { + return intExpr(int(xType.Len())), true } } - case *ast.Ident: - if xType.Name == "string" { + case *types.Basic: + if xType.Info()&types.IsString != 0 { if lit, ok := x.(*ast.BasicLit); ok && lit.Kind == token.STRING { if str, err := strconv.Unquote(lit.Value); err == nil { return intExpr(len(str)), true @@ -466,12 +541,11 @@ func (v *returnsVisitor) rangeLoopCount(stmt *ast.RangeStmt) (ast.Expr, bool) { return nil, true } - if ident, ok := xType.(*ast.Ident); ok { - switch ident.Name { - case "byte", "rune", "int", "int8", "int16", "int32", "int64", - "uint", "uint8", "uint16", "uint32", "uint64", "uintptr": + if xType, ok := xType.(*types.Basic); ok { + switch { + case xType.Info()&types.IsInteger != 0: return x, true - case "string": + case xType.Info()&types.IsString != 0: default: return nil, true } @@ -491,14 +565,14 @@ func (v *returnsVisitor) rangeLoopCount(stmt *ast.RangeStmt) (ast.Expr, bool) { return &ast.CallExpr{Fun: ast.NewIdent("len"), Args: []ast.Expr{x}}, true } -func appendCount(expr *ast.CallExpr) ast.Expr { +func (v *returnsVisitor) appendCount(expr *ast.CallExpr) ast.Expr { if expr.Ellipsis.IsValid() { - return sliceLength(expr.Args[1]) + return v.sliceLength(expr.Args[1]) } return intExpr(len(expr.Args) - 1) } -func sliceLength(expr ast.Expr) ast.Expr { +func (v *returnsVisitor) sliceLength(expr ast.Expr) ast.Expr { if call, ok := expr.(*ast.CallExpr); ok { if len(call.Args) == 1 { if _, ok := call.Fun.(*ast.ArrayType); ok { @@ -506,18 +580,22 @@ func sliceLength(expr ast.Expr) ast.Expr { } } else if len(call.Args) >= 2 { if funIdent, ok := call.Fun.(*ast.Ident); ok && funIdent.Name == "append" { - return addIntExpr(sliceLength(call.Args[0]), appendCount(call)) + return addIntExpr(v.sliceLength(call.Args[0]), v.appendCount(call)) } } } - switch xType := inferExprType(expr).(type) { - case *ast.ArrayType: + xType := v.pass.TypesInfo.TypeOf(expr) + if xType == nil { + return nil + } + switch xType := xType.Underlying().(type) { + case *types.Array, *types.Slice: if lit, ok := expr.(*ast.CompositeLit); ok { return intExpr(len(lit.Elts)) } - case *ast.Ident: - if xType.Name == "string" { + case *types.Basic: + if xType.Info()&types.IsString != 0 { if lit, ok := expr.(*ast.BasicLit); ok && lit.Kind == token.STRING { if str, err := strconv.Unquote(lit.Value); err == nil { return intExpr(len(str)) @@ -558,55 +636,96 @@ func (v *returnsVisitor) forLoopCount(stmt *ast.ForStmt) (ast.Expr, bool) { return nil, false } - initStmt, ok := stmt.Init.(*ast.AssignStmt) - if !ok { + initAssign, ok := stmt.Init.(*ast.AssignStmt) + if !ok || len(initAssign.Lhs) != len(initAssign.Rhs) { return nil, true } - postStmt, ok := stmt.Post.(*ast.IncDecStmt) - if !ok { - return nil, true - } + for i, lhs := range initAssign.Lhs { + initIdent, ok := lhs.(*ast.Ident) + if !ok { + continue + } - postIdent, ok := postStmt.X.(*ast.Ident) - if !ok { - return nil, true - } + var reverse bool + var step ast.Expr + switch s := stmt.Post.(type) { + case *ast.IncDecStmt: + if isIdentName(s.X, initIdent.Name) { + reverse = s.Tok == token.DEC + step = intExpr(1) + } + + case *ast.AssignStmt: + if len(s.Lhs) != len(s.Rhs) { + return nil, true + } + + for i, lhs := range s.Lhs { + if !isIdentName(lhs, initIdent.Name) { + continue + } + switch s.Tok { + case token.ADD_ASSIGN, token.SUB_ASSIGN: + step = s.Rhs[i] + reverse = s.Tok == token.SUB_ASSIGN + case token.ASSIGN: + if rhsBinary, ok := s.Rhs[i].(*ast.BinaryExpr); ok { + reverse = s.Tok == token.SUB + if rhsBinary.Op == token.ADD || reverse { + if isIdentName(rhsBinary.X, initIdent.Name) { + step = rhsBinary.Y + } else if isIdentName(rhsBinary.Y, initIdent.Name) { + step = rhsBinary.X + } + } + } else { + return nil, false + } + default: + return nil, false + } + if step != nil { + break + } + } + } - index := -1 - for i := range initStmt.Lhs { - if ident, ok := initStmt.Lhs[i].(*ast.Ident); ok && ident.Name == postIdent.Name { - index = i - break + if step == nil { + continue } - } - if index < 0 { - return nil, true - } - lower := initStmt.Rhs[index] - if hasCall(lower) { - return nil, true - } + lower := initAssign.Rhs[i] + if hasCall(lower) { + continue // NATO: this should trigger another attempt + } - upper, op := forLoopUpperBound(stmt.Cond, postIdent.Name) + upper, op := forLoopUpperBound(stmt.Cond, initIdent.Name) - if postStmt.Tok == token.INC { - if op == token.GTR || op == token.GEQ { - return nil, false + if !reverse { + if op == token.GTR || op == token.GEQ { + return nil, false + } + } else { + if op == token.LSS || op == token.LEQ { + return nil, false + } + lower, upper = upper, lower } - } else { - if op == token.LSS || op == token.LEQ { - return nil, false + + if op == token.LEQ || op == token.GEQ { + upper = incIntExpr(upper) } - lower, upper = upper, lower - } - countExpr := subIntExpr(upper, lower) - if op == token.LEQ || op == token.GEQ { - countExpr = addIntExpr(countExpr, intExpr(1)) + countExpr, rounded := divIntExpr(subIntExpr(upper, lower), step) + if rounded { + // extra capacity in case non-unary step increment is rounded down + countExpr = incIntExpr(countExpr) + } + return countExpr, true } - return countExpr, true + + return nil, true } func forLoopUpperBound(expr ast.Expr, name string) (ast.Expr, token.Token) { @@ -675,6 +794,11 @@ func forLoopUpperBound(expr ast.Expr, name string) (ast.Expr, token.Token) { return nil, 0 } +func isIdentName(expr ast.Expr, name string) bool { + ident, ok := expr.(*ast.Ident) + return ok && ident.Name == name +} + func hasAny(node ast.Node, exprs []ast.Expr) bool { var found bool ast.Inspect(node, func(node ast.Node) bool { @@ -713,6 +837,11 @@ func hasCall(expr ast.Expr) bool { // allow cheap pure built-in functions return true } + case *ast.SelectorExpr: + // allow argument-less methods + if len(call.Args) == 0 { + return true + } } found = true } @@ -720,3 +849,31 @@ func hasCall(expr ast.Expr) bool { }) return found } + +func hasVarReference(expr ast.Expr, name string) bool { + found := false + ast.Inspect(expr, func(node ast.Node) bool { + switch n := node.(type) { + case *ast.SelectorExpr: + // process target expression, ignore field selector + found = hasVarReference(n.X, name) + return false + case *ast.CallExpr: + // process args, ignore function name + for _, arg := range n.Args { + if found = hasVarReference(arg, name); found { + break + } + } + return false + case *ast.KeyValueExpr: + // process value, ignore key + found = hasVarReference(n.Value, name) + return false + case *ast.Ident: + found = n.Name == name + } + return !found + }) + return found +} diff --git a/tools/vendor/github.com/alexkohler/prealloc/pkg/types.go b/tools/vendor/github.com/alexkohler/prealloc/pkg/types.go deleted file mode 100644 index 6d0561590..000000000 --- a/tools/vendor/github.com/alexkohler/prealloc/pkg/types.go +++ /dev/null @@ -1,376 +0,0 @@ -package pkg - -import ( - "go/ast" - "go/token" -) - -func inferExprType(expr ast.Expr) ast.Expr { - switch e := expr.(type) { - case *ast.ArrayType, *ast.StructType, *ast.FuncType, *ast.InterfaceType, *ast.MapType, *ast.ChanType: - return e - case *ast.ParenExpr: - return inferExprType(e.X) - case *ast.SliceExpr: - return inferExprType(e.X) - case *ast.TypeAssertExpr: - return inferExprType(e.Type) - case *ast.CompositeLit: - return inferExprType(e.Type) - case *ast.Ellipsis: - return &ast.ArrayType{Elt: e.Elt} - case *ast.FuncLit: - return &ast.FuncType{Results: e.Type.Results} - case *ast.BasicLit: - return inferBasicType(e) - case *ast.BinaryExpr: - return inferBinaryType(e) - case *ast.StarExpr: - return inferStarType(e) - case *ast.UnaryExpr: - return inferUnaryType(e) - case *ast.CallExpr: - return inferCallType(e) - case *ast.IndexExpr: - return inferIndexType(e) - case *ast.IndexListExpr: - return inferIndexListType(e) - case *ast.SelectorExpr: - return inferSelectorType(e) - case *ast.Ident: - return inferIdentType(e) - default: - return nil - } -} - -func inferBasicType(basic *ast.BasicLit) ast.Expr { - switch basic.Kind { - case token.INT: - return ast.NewIdent("int") - case token.FLOAT: - return ast.NewIdent("float64") - case token.IMAG: - return ast.NewIdent("imag") - case token.CHAR: - return ast.NewIdent("char") - case token.STRING: - return ast.NewIdent("string") - default: - return nil - } -} - -func inferBinaryType(binary *ast.BinaryExpr) ast.Expr { - switch binary.Op { - case token.EQL, token.NEQ, token.LSS, token.LEQ, token.GTR, token.GEQ: - return ast.NewIdent("bool") - default: - if x := inferExprType(binary.X); x != nil { - return x - } - return inferExprType(binary.Y) - } -} - -func inferStarType(star *ast.StarExpr) ast.Expr { - switch x := inferExprType(star.X).(type) { - case nil: - return nil - case *ast.StarExpr: - return inferExprType(x.X) - default: - return &ast.StarExpr{X: x} - } -} - -func inferUnaryType(unary *ast.UnaryExpr) ast.Expr { - if x := inferExprType(unary.X); x != nil { - switch unary.Op { - case token.AND: - return &ast.StarExpr{X: x} - case token.ARROW: - if ct, ok := x.(*ast.ChanType); ok { - return inferExprType(ct.Value) - } - return x - default: - return x - } - } - return nil -} - -func inferCallType(call *ast.CallExpr) ast.Expr { - if id, ok := call.Fun.(*ast.Ident); ok && id.Obj == nil { - switch id.Name { - case "len", "cap", "copy": - return ast.NewIdent("int") - case "real", "imag": - return ast.NewIdent("float64") - case "complex": - return ast.NewIdent("complex64") - case "recover": - return ast.NewIdent("any") - case "make", "min", "max": - if len(call.Args) > 0 { - return inferExprType(call.Args[0]) - } - case "new": - if len(call.Args) > 0 { - if arg := inferExprType(call.Args[0]); arg != nil { - return &ast.StarExpr{X: arg} - } - } - case "append": - if len(call.Args) > 0 { - if arg := inferExprType(call.Args[0]); arg != nil { - return arg - } - return &ast.ArrayType{} - } - } - } - - fun := inferExprType(call.Fun) - if ft, ok := fun.(*ast.FuncType); ok && len(ft.Results.List) > 0 { - return inferExprType(ft.Results.List[0].Type) - } - return fun -} - -func inferIndexType(index *ast.IndexExpr) ast.Expr { - if selector, ok := index.X.(*ast.SelectorExpr); ok && selector.Sel != nil && selector.Sel.Name == "Seq" { - if ident, ok := selector.X.(*ast.Ident); ok && ident.Name == "iter" { - return &ast.FuncType{ - Params: &ast.FieldList{List: []*ast.Field{{ - Names: []*ast.Ident{{Name: "yield"}}, - Type: &ast.FuncType{ - Params: &ast.FieldList{List: []*ast.Field{{Type: ast.NewIdent("V")}}}, - Results: &ast.FieldList{List: []*ast.Field{{Type: ast.NewIdent("bool")}}}, - }, - }}}, - } - } - } - - switch x := inferExprType(index.X).(type) { - case *ast.ArrayType: - return inferExprType(x.Elt) - case *ast.MapType: - return inferExprType(x.Value) - default: - return x - } -} - -func inferIndexListType(index *ast.IndexListExpr) ast.Expr { - if selector, ok := index.X.(*ast.SelectorExpr); ok && selector.Sel != nil && selector.Sel.Name == "Seq2" { - if ident, ok := selector.X.(*ast.Ident); ok && ident.Name == "iter" { - return &ast.FuncType{ - Params: &ast.FieldList{List: []*ast.Field{{ - Names: []*ast.Ident{{Name: "yield"}}, - Type: &ast.FuncType{ - Params: &ast.FieldList{List: []*ast.Field{ - {Type: ast.NewIdent("K")}, - {Type: ast.NewIdent("V")}, - }}, - Results: &ast.FieldList{List: []*ast.Field{{Type: ast.NewIdent("bool")}}}, - }, - }}}, - } - } - } - - x := inferExprType(index.X) - if at, ok := x.(*ast.ArrayType); ok { - return inferExprType(at.Elt) - } - return x -} - -func inferSelectorType(sel *ast.SelectorExpr) ast.Expr { - x := inferExprType(sel.X) - if se, ok := x.(*ast.StarExpr); ok { - x = se.X - } - switch x := x.(type) { - case *ast.StructType: - for _, field := range x.Fields.List { - for _, name := range field.Names { - if name.Name == sel.Sel.Name { - return inferExprType(field.Type) - } - } - } - case *ast.InterfaceType: - for _, method := range x.Methods.List { - for _, name := range method.Names { - if name.Name == sel.Sel.Name { - return inferExprType(method.Type) - } - } - } - } - return nil -} - -func inferIdentType(ident *ast.Ident) ast.Expr { - if ident.Obj == nil { - switch ident.Name { - case "bool", "byte", "comparable", "error", "rune", "string", "any", - "int", "int8", "int16", "int32", "int64", - "uint", "uint8", "uint16", "uint32", "uint64", "uintptr", - "float32", "float64", "complex64", "complex128": - return ident - case "nil": - return ast.NewIdent("any") - case "true", "false": - return ast.NewIdent("bool") - case "iota": - return ast.NewIdent("int") - } - } else { - switch decl := ident.Obj.Decl.(type) { - case *ast.Field: - return inferExprType(decl.Type) - case *ast.FuncDecl: - return inferExprType(decl.Type) - case *ast.TypeSpec: - // abort when recursive pointer type detected - t := decl.Type - for { - if star, ok := t.(*ast.StarExpr); ok { - t = star.X - } else if t == ident { - return nil - } else { - break - } - } - return inferExprType(decl.Type) - case *ast.ValueSpec: - return inferValueType(decl, ident.Name) - case *ast.AssignStmt: - return inferAssignType(decl, ident.Name) - } - } - return nil -} - -func inferValueType(value *ast.ValueSpec, name string) ast.Expr { - if value.Type != nil { - return inferExprType(value.Type) - } - - index := -1 - for i := range value.Names { - if value.Names[i].Name == name { - index = i - } - } - if index < 0 { - return nil - } - - if len(value.Names) == len(value.Values) { - return inferExprType(value.Values[index]) - } - - return inferAssignMultiType(value.Values[0], index) -} - -func inferAssignType(assign *ast.AssignStmt, name string) ast.Expr { - index := -1 - for i := range assign.Lhs { - if id, ok := assign.Lhs[i].(*ast.Ident); ok && id.Name == name { - index = i - } - } - if index < 0 { - return nil - } - - if len(assign.Rhs) == 1 { - if ue, ok := assign.Rhs[0].(*ast.UnaryExpr); ok && ue.Op == token.RANGE { - switch rhs := inferExprType(assign.Rhs[0]).(type) { - case *ast.ArrayType: - switch index { - case 0: - return ast.NewIdent("int") - case 1: - return inferExprType(rhs.Elt) - } - case *ast.MapType: - switch index { - case 0: - return inferExprType(rhs.Key) - case 1: - return inferExprType(rhs.Value) - } - case *ast.Ident: - if rhs.Name == "string" { - switch index { - case 0: - return ast.NewIdent("int") - case 1: - return ast.NewIdent("rune") - } - } - case *ast.ChanType: - if index == 0 { - return inferExprType(rhs.Value) - } - } - } - } - - if len(assign.Lhs) == len(assign.Rhs) { - return inferExprType(assign.Rhs[index]) - } - - return inferAssignMultiType(assign.Rhs[0], index) -} - -func inferAssignMultiType(rhs ast.Expr, index int) ast.Expr { - switch rhs := rhs.(type) { - case *ast.TypeAssertExpr: - switch index { - case 0: - return inferExprType(rhs.Type) - case 1: - return ast.NewIdent("bool") - } - case *ast.CallExpr: - if fun, ok := inferExprType(rhs.Fun).(*ast.FuncType); ok { - for _, res := range fun.Results.List { - for range res.Names { - if index == 0 { - return inferExprType(res.Type) - } - index-- - } - } - } - case *ast.IndexExpr: - if mt, ok := inferExprType(rhs.X).(*ast.MapType); ok { - switch index { - case 0: - return inferExprType(mt.Value) - case 1: - return ast.NewIdent("bool") - } - } - case *ast.UnaryExpr: - if ct, ok := inferExprType(rhs.X).(*ast.ChanType); ok { - switch index { - case 0: - return inferExprType(ct.Value) - case 1: - return ast.NewIdent("bool") - } - } - } - - return nil -} diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runner_checker.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runner_checker.go index e8fda9947..0d3fcdb9e 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runner_checker.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runner_checker.go @@ -427,7 +427,7 @@ func (act *action) exportPackageFact(fact analysis.Fact) { // NOTE(ldez) altered: add receiver to handle logs. func (act *action) factType(fact analysis.Fact) reflect.Type { t := reflect.TypeOf(fact) - if t.Kind() != reflect.Ptr { + if t.Kind() != reflect.Pointer { act.runner.log.Fatalf("invalid Fact type: got %T, want pointer", fact) } return t diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runner_loadingpackage.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runner_loadingpackage.go index 9737701d6..e01d3eaa2 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runner_loadingpackage.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runner_loadingpackage.go @@ -513,7 +513,7 @@ func sizeOfValueTreeBytes(v any) int { func sizeOfReflectValueTreeBytes(rv reflect.Value, visitedPtrs map[uintptr]struct{}) int { switch rv.Kind() { - case reflect.Ptr: + case reflect.Pointer: ptrSize := int(rv.Type().Size()) if rv.IsNil() { return ptrSize diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runners_cache.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runners_cache.go index 7a78700b1..b74d4f94f 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runners_cache.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goanalysis/runners_cache.go @@ -25,7 +25,7 @@ func saveIssuesToCache(allPkgs []*packages.Package, pkgsFromCache map[*packages. perPkgIssues[issue.Pkg] = append(perPkgIssues[issue.Pkg], issue) } - var savedIssuesCount int64 = 0 + var savedIssuesCount int64 lintResKey := getIssuesCacheKey(analyzers) workerCount := runtime.GOMAXPROCS(-1) diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goformat/runner.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goformat/runner.go index 650fb8f5e..ac70dc70a 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goformat/runner.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goformat/runner.go @@ -97,6 +97,9 @@ func (c *Runner) walk(root string, stdout *os.File) error { return err } + //nolint:gosec // See explanation below. + // `path` contains the `root` but when using `r, err := os.OpenRoot(root)`, this part is not inside the file tree of `r`. + // `filepath.Rel()` can be used but it seems overkill in the context and doesn't work well with a file. in, err := os.Open(path) if err != nil { return err diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/prealloc/prealloc.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/prealloc/prealloc.go index 3dbe3822a..cc209feff 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/prealloc/prealloc.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/prealloc/prealloc.go @@ -14,18 +14,10 @@ func New(settings *config.PreallocSettings) *goanalysis.Linter { Name: "prealloc", Doc: "Find slice declarations that could potentially be pre-allocated", Run: func(pass *analysis.Pass) (any, error) { - runPreAlloc(pass, settings) + pkg.Check(pass, settings.Simple, settings.RangeLoops, settings.ForLoops) return nil, nil }, }). - WithLoadMode(goanalysis.LoadModeSyntax) -} - -func runPreAlloc(pass *analysis.Pass, settings *config.PreallocSettings) { - hints := pkg.Check(pass.Files, settings.Simple, settings.RangeLoops, settings.ForLoops) - - for _, hint := range hints { - pass.Report(hint) - } + WithLoadMode(goanalysis.LoadModeTypesInfo) } diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/revive/revive.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/revive/revive.go index 63d710d32..9dc845371 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/revive/revive.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/revive/revive.go @@ -272,7 +272,7 @@ func safeTomlSlice(r []any) []any { } // This element is not exported by revive, so we need copy the code. -// Extracted from https://github.com/mgechev/revive/blob/v1.13.0/config/config.go#L16 +// Extracted from https://github.com/mgechev/revive/blob/v1.15.0/config/config.go#L16 var defaultRules = []lint.Rule{ &rule.VarDeclarationsRule{}, &rule.PackageCommentsRule{}, @@ -324,6 +324,7 @@ var allRules = append([]lint.Rule{ &rule.EnforceRepeatedArgTypeStyleRule{}, &rule.EnforceSliceStyleRule{}, &rule.EnforceSwitchStyleRule{}, + &rule.EpochNamingRule{}, &rule.FileHeaderRule{}, &rule.FileLengthLimitRule{}, &rule.FilenameFormatRule{}, @@ -350,6 +351,7 @@ var allRules = append([]lint.Rule{ &rule.NestedStructs{}, &rule.OptimizeOperandsOrderRule{}, &rule.PackageDirectoryMismatchRule{}, + &rule.PackageNamingRule{}, &rule.RangeValAddress{}, &rule.RangeValInClosureRule{}, &rule.RedundantBuildTagRule{}, @@ -374,6 +376,7 @@ var allRules = append([]lint.Rule{ &rule.UseFmtPrintRule{}, &rule.UselessBreak{}, &rule.UselessFallthroughRule{}, + &rule.UseSlicesSort{}, &rule.UseWaitGroupGoRule{}, &rule.WaitGroupByValueRule{}, }, defaultRules...) diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/lint/lintersdb/builder_linter.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/lint/lintersdb/builder_linter.go index 8748047a2..2581bb74e 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/lint/lintersdb/builder_linter.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/lint/lintersdb/builder_linter.go @@ -557,6 +557,7 @@ func (LinterBuilder) Build(cfg *config.Config) ([]*linter.Config, error) { linter.NewConfig(prealloc.New(&cfg.Linters.Settings.Prealloc)). WithSince("v1.19.0"). + WithLoadForGoAnalysis(). WithURL("https://github.com/alexkohler/prealloc"), linter.NewConfig(predeclared.New(&cfg.Linters.Settings.Predeclared)). diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/result/processors/exclusion_rules.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/result/processors/exclusion_rules.go index 2b5221a89..2e29600f5 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/result/processors/exclusion_rules.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/result/processors/exclusion_rules.go @@ -32,7 +32,7 @@ func NewExclusionRules(log logutils.Log, lines *fsutils.LineCache, cfg *config.L skippedCounter: map[string]int{}, } - excludeRules := slices.Concat(slices.Clone(cfg.Rules), getLinterExclusionPresets(cfg.Presets)) + excludeRules := slices.Concat(cfg.Rules, getLinterExclusionPresets(cfg.Presets)) p.rules = parseRules(excludeRules, "", newExcludeRule) diff --git a/tools/vendor/github.com/jgautheron/goconst/parser.go b/tools/vendor/github.com/jgautheron/goconst/parser.go index 9505d463e..329cdd3de 100644 --- a/tools/vendor/github.com/jgautheron/goconst/parser.go +++ b/tools/vendor/github.com/jgautheron/goconst/parser.go @@ -881,4 +881,7 @@ const ( Return // Call represents a string passed as an argument to a function call (e.g., f("foo")) Call + // CompositeLit represents a string inside a composite literal + // (e.g., []string{"foo"}, map[string]string{"k": "v"}, MyStruct{Field: "foo"}) + CompositeLit ) diff --git a/tools/vendor/github.com/jgautheron/goconst/visitor.go b/tools/vendor/github.com/jgautheron/goconst/visitor.go index 350e3ae62..da21e7b5f 100644 --- a/tools/vendor/github.com/jgautheron/goconst/visitor.go +++ b/tools/vendor/github.com/jgautheron/goconst/visitor.go @@ -116,11 +116,37 @@ func (v *treeVisitor) Visit(node ast.Node) ast.Visitor { v.addString(lit.Value, lit.Pos(), Call) } } + + // []string{"foo"}, map[string]string{"k": "v"}, struct{A string}{A: "foo"} + case *ast.CompositeLit: + for _, item := range t.Elts { + v.addCompositeLiteralElement(item) + } } return v } +func (v *treeVisitor) addCompositeLiteralElement(node ast.Expr) { + if lit, ok := node.(*ast.BasicLit); ok && v.isSupported(lit.Kind) { + v.addString(lit.Value, lit.Pos(), CompositeLit) + return + } + + kv, ok := node.(*ast.KeyValueExpr) + if !ok { + return + } + + if keyLit, ok := kv.Key.(*ast.BasicLit); ok && v.isSupported(keyLit.Kind) { + v.addString(keyLit.Value, keyLit.Pos(), CompositeLit) + } + + if valueLit, ok := kv.Value.(*ast.BasicLit); ok && v.isSupported(valueLit.Kind) { + v.addString(valueLit.Value, valueLit.Pos(), CompositeLit) + } +} + // addString adds a string in the map along with its position in the tree. func (v *treeVisitor) addString(str string, pos token.Pos, typ Type) { // Early type exclusion check @@ -175,29 +201,21 @@ func (v *treeVisitor) addString(str string, pos token.Pos, typ Type) { // Use interned string to reduce memory usage - identical strings share the same memory internedStr := InternString(unquotedStr) - // Update the count first, this is faster than appending to slices - count := v.p.IncrementStringCount(internedStr) + // Update the count for fast threshold checks in ProcessResults + v.p.IncrementStringCount(internedStr) - // Only continue if we're still adding the position to the map - // or if count has reached threshold - if count == 1 || count == v.p.minOccurrences { - // Lock to safely update the shared map - v.p.stringMutex.Lock() - defer v.p.stringMutex.Unlock() - - _, exists := v.p.strs[internedStr] - if !exists { - v.p.strs[internedStr] = make([]ExtendedPos, 0, v.p.minOccurrences) // Preallocate with expected size - } + // Record every occurrence so that position lists and display counts stay accurate + v.p.stringMutex.Lock() + defer v.p.stringMutex.Unlock() - // Create an optimized position record - newPos := ExtendedPos{ - packageName: InternString(v.packageName), // Intern the package name to reduce memory - Position: v.fileSet.Position(pos), - } - - v.p.strs[internedStr] = append(v.p.strs[internedStr], newPos) + if _, exists := v.p.strs[internedStr]; !exists { + v.p.strs[internedStr] = make([]ExtendedPos, 0, v.p.minOccurrences) } + + v.p.strs[internedStr] = append(v.p.strs[internedStr], ExtendedPos{ + packageName: InternString(v.packageName), + Position: v.fileSet.Position(pos), + }) } // addConst adds a const in the map along with its position in the tree. diff --git a/tools/vendor/github.com/mgechev/revive/config/config.go b/tools/vendor/github.com/mgechev/revive/config/config.go index 1292c45bb..d01f409c5 100644 --- a/tools/vendor/github.com/mgechev/revive/config/config.go +++ b/tools/vendor/github.com/mgechev/revive/config/config.go @@ -1,4 +1,4 @@ -// Package config implements revive's configuration data structures and related methods +// Package config implements revive's configuration data structures and related methods. package config import ( @@ -118,6 +118,7 @@ var allRules = append([]lint.Rule{ &rule.UnnecessaryIfRule{}, &rule.EpochNamingRule{}, &rule.UseSlicesSort{}, + &rule.PackageNamingRule{}, }, defaultRules...) // allFormatters is a list of all available formatters to output the linting results. @@ -204,6 +205,13 @@ func parseConfig(data []byte, config *lint.Config) error { return nil } +func validateConfig(config *lint.Config) error { + if config.EnableAllRules && config.EnableDefaultRules { + return errors.New("config options enableAllRules and enableDefaultRules cannot be combined") + } + return nil +} + func normalizeConfig(config *lint.Config) { if len(config.Rules) == 0 { config.Rules = map[string]lint.RuleConfig{} @@ -262,6 +270,10 @@ func GetConfig(configPath string) (*lint.Config, error) { config = defaultConfig() } + if err := validateConfig(config); err != nil { + return nil, err + } + normalizeConfig(config) return config, nil } diff --git a/tools/vendor/github.com/mgechev/revive/formatter/checkstyle.go b/tools/vendor/github.com/mgechev/revive/formatter/checkstyle.go index 1fb17d4d9..1df1f5573 100644 --- a/tools/vendor/github.com/mgechev/revive/formatter/checkstyle.go +++ b/tools/vendor/github.com/mgechev/revive/formatter/checkstyle.go @@ -8,7 +8,7 @@ import ( "github.com/mgechev/revive/lint" ) -// Checkstyle is an implementation of the Formatter interface +// Checkstyle is an implementation of the [lint.Formatter] interface // which formats the errors to Checkstyle-like format. type Checkstyle struct { Metadata lint.FormatterMetadata diff --git a/tools/vendor/github.com/mgechev/revive/formatter/default.go b/tools/vendor/github.com/mgechev/revive/formatter/default.go index ffb9d5f3f..b6a6af223 100644 --- a/tools/vendor/github.com/mgechev/revive/formatter/default.go +++ b/tools/vendor/github.com/mgechev/revive/formatter/default.go @@ -7,7 +7,7 @@ import ( "github.com/mgechev/revive/lint" ) -// Default is an implementation of the Formatter interface +// Default is an implementation of the [lint.Formatter] interface // which formats the errors to text. type Default struct { Metadata lint.FormatterMetadata @@ -23,7 +23,10 @@ func (*Default) Format(failures <-chan lint.Failure, _ lint.Config) (string, err var buf bytes.Buffer prefix := "" for failure := range failures { - fmt.Fprintf(&buf, "%s%v: %s", prefix, failure.Position.Start, failure.Failure) + _, err := fmt.Fprintf(&buf, "%s%v: %s", prefix, failure.Position.Start, failure.Failure) + if err != nil { + return "", err + } prefix = "\n" } return buf.String(), nil diff --git a/tools/vendor/github.com/mgechev/revive/formatter/friendly.go b/tools/vendor/github.com/mgechev/revive/formatter/friendly.go index a9f0efa18..cb1afcb3d 100644 --- a/tools/vendor/github.com/mgechev/revive/formatter/friendly.go +++ b/tools/vendor/github.com/mgechev/revive/formatter/friendly.go @@ -14,8 +14,8 @@ import ( "github.com/mgechev/revive/lint" ) -// Friendly is an implementation of the Formatter interface -// which formats the errors to JSON. +// Friendly is an implementation of the [lint.Formatter] interface +// which formats the errors to a friendly, human-readable format. type Friendly struct { Metadata lint.FormatterMetadata } @@ -32,9 +32,17 @@ func (f *Friendly) Format(failures <-chan lint.Failure, config lint.Config) (str warningMap := map[string]int{} totalErrors := 0 totalWarnings := 0 + warningEmoji := color.YellowString("⚠") + errorEmoji := color.RedString("✘") for failure := range failures { sev := severity(config, failure) - f.printFriendlyFailure(&buf, failure, sev) + firstCol := warningEmoji + if sev == lint.SeverityError { + firstCol = errorEmoji + } + if err := f.printFriendlyFailure(&buf, firstCol, failure); err != nil { + return "", err + } switch sev { case lint.SeverityWarning: warningMap[failure.RuleName]++ @@ -45,33 +53,38 @@ func (f *Friendly) Format(failures <-chan lint.Failure, config lint.Config) (str } } - f.printSummary(&buf, totalErrors, totalWarnings) - f.printStatistics(&buf, color.RedString("Errors:"), errorMap) - f.printStatistics(&buf, color.YellowString("Warnings:"), warningMap) + emoji := warningEmoji + if totalErrors > 0 { + emoji = errorEmoji + } + if err := f.printSummary(&buf, emoji, totalErrors, totalWarnings); err != nil { + return "", err + } + if err := f.printStatistics(&buf, color.RedString("Errors:"), errorMap); err != nil { + return "", err + } + if err := f.printStatistics(&buf, color.YellowString("Warnings:"), warningMap); err != nil { + return "", err + } return buf.String(), nil } -func (f *Friendly) printFriendlyFailure(sb *strings.Builder, failure lint.Failure, severity lint.Severity) { - f.printHeaderRow(sb, failure, severity) - f.printFilePosition(sb, failure) - sb.WriteString("\n\n") +func (f *Friendly) printFriendlyFailure(sb *strings.Builder, firstColumn string, failure lint.Failure) error { + f.printHeaderRow(sb, firstColumn, failure) + if err := f.printFilePosition(sb, failure); err != nil { + return err + } + _, err := sb.WriteString("\n\n") + return err } -var ( - errorEmoji = color.RedString("✘") - warningEmoji = color.YellowString("⚠") -) - -func (*Friendly) printHeaderRow(sb *strings.Builder, failure lint.Failure, severity lint.Severity) { - emoji := warningEmoji - if severity == lint.SeverityError { - emoji = errorEmoji - } - sb.WriteString(table([][]string{{emoji, ruleDescriptionURL(failure.RuleName), color.GreenString(failure.Failure)}})) +func (*Friendly) printHeaderRow(sb *strings.Builder, firstColumn string, failure lint.Failure) { + sb.WriteString(table([][]string{{firstColumn, ruleDescriptionURL(failure.RuleName), color.GreenString(failure.Failure)}})) } -func (*Friendly) printFilePosition(sb *strings.Builder, failure lint.Failure) { - fmt.Fprintf(sb, " %s:%d:%d", failure.Filename(), failure.Position.Start.Line, failure.Position.Start.Column) +func (*Friendly) printFilePosition(sb *strings.Builder, failure lint.Failure) error { + _, err := fmt.Fprintf(sb, " %s:%d:%d", failure.Filename(), failure.Position.Start.Line, failure.Position.Start.Column) + return err } type statEntry struct { @@ -79,11 +92,7 @@ type statEntry struct { failures int } -func (*Friendly) printSummary(w io.Writer, errors, warnings int) { - emoji := warningEmoji - if errors > 0 { - emoji = errorEmoji - } +func (*Friendly) printSummary(w io.Writer, firstColumn string, errors, warnings int) error { problemsLabel := "problems" if errors+warnings == 1 { problemsLabel = "problem" @@ -98,18 +107,19 @@ func (*Friendly) printSummary(w io.Writer, errors, warnings int) { } str := fmt.Sprintf("%d %s (%d %s, %d %s)", errors+warnings, problemsLabel, errors, errorsLabel, warnings, warningsLabel) if errors > 0 { - fmt.Fprintf(w, "%s %s\n\n", emoji, color.RedString(str)) - return + _, err := fmt.Fprintf(w, "%s %s\n\n", firstColumn, color.RedString(str)) + return err } if warnings > 0 { - fmt.Fprintf(w, "%s %s\n\n", emoji, color.YellowString(str)) - return + _, err := fmt.Fprintf(w, "%s %s\n\n", firstColumn, color.YellowString(str)) + return err } + return nil } -func (*Friendly) printStatistics(w io.Writer, header string, stats map[string]int) { +func (*Friendly) printStatistics(w io.Writer, header string, stats map[string]int) error { if len(stats) == 0 { - return + return nil } data := make([]statEntry, 0, len(stats)) for name, total := range stats { @@ -122,8 +132,13 @@ func (*Friendly) printStatistics(w io.Writer, header string, stats map[string]in for _, entry := range data { formatted = append(formatted, []string{color.GreenString(fmt.Sprintf("%d", entry.failures)), entry.name}) } - fmt.Fprintln(w, header) - fmt.Fprintln(w, table(formatted)) + if _, err := fmt.Fprintln(w, header); err != nil { + return err + } + if _, err := fmt.Fprintln(w, table(formatted)); err != nil { + return err + } + return nil } func table(rows [][]string) string { diff --git a/tools/vendor/github.com/mgechev/revive/formatter/json.go b/tools/vendor/github.com/mgechev/revive/formatter/json.go index 7c081f374..46a61980c 100644 --- a/tools/vendor/github.com/mgechev/revive/formatter/json.go +++ b/tools/vendor/github.com/mgechev/revive/formatter/json.go @@ -6,7 +6,7 @@ import ( "github.com/mgechev/revive/lint" ) -// JSON is an implementation of the Formatter interface +// JSON is an implementation of the [lint.Formatter] interface // which formats the errors to JSON. type JSON struct { Metadata lint.FormatterMetadata diff --git a/tools/vendor/github.com/mgechev/revive/formatter/ndjson.go b/tools/vendor/github.com/mgechev/revive/formatter/ndjson.go index 66acff320..f80b5bcbc 100644 --- a/tools/vendor/github.com/mgechev/revive/formatter/ndjson.go +++ b/tools/vendor/github.com/mgechev/revive/formatter/ndjson.go @@ -7,7 +7,7 @@ import ( "github.com/mgechev/revive/lint" ) -// NDJSON is an implementation of the Formatter interface +// NDJSON is an implementation of the [lint.Formatter] interface // which formats the errors to NDJSON stream. type NDJSON struct { Metadata lint.FormatterMetadata diff --git a/tools/vendor/github.com/mgechev/revive/formatter/plain.go b/tools/vendor/github.com/mgechev/revive/formatter/plain.go index 6c77926ea..80dede3a1 100644 --- a/tools/vendor/github.com/mgechev/revive/formatter/plain.go +++ b/tools/vendor/github.com/mgechev/revive/formatter/plain.go @@ -7,8 +7,8 @@ import ( "github.com/mgechev/revive/lint" ) -// Plain is an implementation of the Formatter interface -// which formats the errors to JSON. +// Plain is an implementation of the [lint.Formatter] interface +// which formats the errors to plain text. type Plain struct { Metadata lint.FormatterMetadata } @@ -22,7 +22,10 @@ func (*Plain) Name() string { func (*Plain) Format(failures <-chan lint.Failure, _ lint.Config) (string, error) { var sb strings.Builder for failure := range failures { - sb.WriteString(fmt.Sprintf("%v: %s %s\n", failure.Position.Start, failure.Failure, ruleDescriptionURL(failure.RuleName))) + _, err := fmt.Fprintf(&sb, "%v: %s %s\n", failure.Position.Start, failure.Failure, ruleDescriptionURL(failure.RuleName)) + if err != nil { + return "", err + } } return sb.String(), nil } diff --git a/tools/vendor/github.com/mgechev/revive/formatter/sarif.go b/tools/vendor/github.com/mgechev/revive/formatter/sarif.go index 03069bb4a..cb1a97294 100644 --- a/tools/vendor/github.com/mgechev/revive/formatter/sarif.go +++ b/tools/vendor/github.com/mgechev/revive/formatter/sarif.go @@ -10,7 +10,7 @@ import ( "github.com/mgechev/revive/lint" ) -// Sarif is an implementation of the Formatter interface +// Sarif is an implementation of the [lint.Formatter] interface // which formats revive failures into SARIF format. type Sarif struct { Metadata lint.FormatterMetadata diff --git a/tools/vendor/github.com/mgechev/revive/formatter/stylish.go b/tools/vendor/github.com/mgechev/revive/formatter/stylish.go index 573e5b0ac..100a7927b 100644 --- a/tools/vendor/github.com/mgechev/revive/formatter/stylish.go +++ b/tools/vendor/github.com/mgechev/revive/formatter/stylish.go @@ -9,12 +9,14 @@ import ( "github.com/mgechev/revive/lint" ) -// Stylish is an implementation of the Formatter interface -// which formats the errors to JSON. +// Stylish is an implementation of the [lint.Formatter] interface +// which formats the errors to a stylish, human-readable format. type Stylish struct { Metadata lint.FormatterMetadata } +var _ lint.Formatter = (*Stylish)(nil) + // Name returns the name of the formatter. func (*Stylish) Name() string { return "stylish" diff --git a/tools/vendor/github.com/mgechev/revive/formatter/unix.go b/tools/vendor/github.com/mgechev/revive/formatter/unix.go index dd063a0d8..b79566859 100644 --- a/tools/vendor/github.com/mgechev/revive/formatter/unix.go +++ b/tools/vendor/github.com/mgechev/revive/formatter/unix.go @@ -7,8 +7,8 @@ import ( "github.com/mgechev/revive/lint" ) -// Unix is an implementation of the Formatter interface -// which formats the errors to a simple line based error format +// Unix is an implementation of the [lint.Formatter] interface +// which formats the errors to a simple line based error format: // // main.go:24:9: [errorf] should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) type Unix struct { @@ -24,7 +24,10 @@ func (*Unix) Name() string { func (*Unix) Format(failures <-chan lint.Failure, _ lint.Config) (string, error) { var sb strings.Builder for failure := range failures { - sb.WriteString(fmt.Sprintf("%v: [%s] %s\n", failure.Position.Start, failure.RuleName, failure.Failure)) + _, err := fmt.Fprintf(&sb, "%v: [%s] %s\n", failure.Position.Start, failure.RuleName, failure.Failure) + if err != nil { + return "", err + } } return sb.String(), nil } diff --git a/tools/vendor/github.com/mgechev/revive/internal/astutils/ast_utils.go b/tools/vendor/github.com/mgechev/revive/internal/astutils/ast_utils.go index 597742040..b0fbc5a0d 100644 --- a/tools/vendor/github.com/mgechev/revive/internal/astutils/ast_utils.go +++ b/tools/vendor/github.com/mgechev/revive/internal/astutils/ast_utils.go @@ -1,4 +1,4 @@ -// Package astutils provides utility functions for working with AST nodes +// Package astutils provides utility functions for working with AST nodes. package astutils import ( @@ -16,8 +16,13 @@ import ( // FuncSignatureIs returns true if the given func decl satisfies a signature characterized // by the given name, parameters types and return types; false otherwise. // -// Example: to check if a function declaration has the signature Foo(int, string) (bool,error) -// call to FuncSignatureIs(funcDecl,"Foo",[]string{"int","string"},[]string{"bool","error"}). +// Example: To check if a function declaration has the signature +// +// Foo(int, string) (bool, error) +// +// call to +// +// FuncSignatureIs(funcDecl, "Foo", []string{"int", "string"}, []string{"bool", "error"}) func FuncSignatureIs(funcDecl *ast.FuncDecl, wantName string, wantParametersTypes, wantResultsTypes []string) bool { if wantName != funcDecl.Name.String() { return false // func name doesn't match expected one diff --git a/tools/vendor/github.com/mgechev/revive/internal/ifelse/doc.go b/tools/vendor/github.com/mgechev/revive/internal/ifelse/doc.go index 7461b12aa..77d93cd00 100644 --- a/tools/vendor/github.com/mgechev/revive/internal/ifelse/doc.go +++ b/tools/vendor/github.com/mgechev/revive/internal/ifelse/doc.go @@ -1,6 +1,6 @@ // Package ifelse provides helpers for analyzing the control flow in if-else chains, // presently used by the following rules: -// - early-return -// - indent-error-flow -// - superfluous-else +// - early-return +// - indent-error-flow +// - superfluous-else package ifelse diff --git a/tools/vendor/github.com/mgechev/revive/internal/ifelse/func.go b/tools/vendor/github.com/mgechev/revive/internal/ifelse/func.go index 89e251129..cd27cc592 100644 --- a/tools/vendor/github.com/mgechev/revive/internal/ifelse/func.go +++ b/tools/vendor/github.com/mgechev/revive/internal/ifelse/func.go @@ -23,7 +23,7 @@ var DeviatingFuncs = map[Call]BranchKind{ {"log", "Panicln"}: Panic, } -// ExprCall gets the Call of an ExprStmt, if any. +// ExprCall gets the [Call] of an [ast.ExprStmt], if any. func ExprCall(expr *ast.ExprStmt) (Call, bool) { call, ok := expr.X.(*ast.CallExpr) if !ok { diff --git a/tools/vendor/github.com/mgechev/revive/internal/ifelse/rule.go b/tools/vendor/github.com/mgechev/revive/internal/ifelse/rule.go index 799f8b83d..347487661 100644 --- a/tools/vendor/github.com/mgechev/revive/internal/ifelse/rule.go +++ b/tools/vendor/github.com/mgechev/revive/internal/ifelse/rule.go @@ -15,7 +15,7 @@ type CheckFunc func(Chain) (string, bool) // Apply evaluates the given Rule on if-else chains found within the given AST, // and returns the failures. // -// Note that in if-else chain with multiple "if" blocks, only the *last* one is checked, +// Note that in if-else chain with multiple "if" blocks, only the "last" one is checked, // that is to say, given: // // if foo { diff --git a/tools/vendor/github.com/mgechev/revive/internal/syncset/syncset.go b/tools/vendor/github.com/mgechev/revive/internal/syncset/syncset.go new file mode 100644 index 000000000..8f20e91ca --- /dev/null +++ b/tools/vendor/github.com/mgechev/revive/internal/syncset/syncset.go @@ -0,0 +1,44 @@ +// Package syncset provides a simple, mutex-protected set for strings. +package syncset + +import ( + "maps" + "slices" + "sync" +) + +// Set is a concurrency-safe set of strings. +type Set struct { + mu sync.Mutex + elements map[string]struct{} +} + +// New returns an initialized, empty Set. +func New() *Set { + return &Set{elements: map[string]struct{}{}} +} + +// AddIfAbsent adds str to the set if it is not already present, and reports whether it was added. +func (s *Set) AddIfAbsent(str string) bool { + s.mu.Lock() + defer s.mu.Unlock() + + if s.elements == nil { + s.elements = map[string]struct{}{str: {}} + return true + } + + _, exists := s.elements[str] + if !exists { + s.elements[str] = struct{}{} + } + return !exists +} + +// Elements returns a slice of all elements in the set. +func (s *Set) Elements() []string { + s.mu.Lock() + defer s.mu.Unlock() + + return slices.Collect(maps.Keys(s.elements)) +} diff --git a/tools/vendor/github.com/mgechev/revive/lint/config.go b/tools/vendor/github.com/mgechev/revive/lint/config.go index 3047fd29d..533ce054c 100644 --- a/tools/vendor/github.com/mgechev/revive/lint/config.go +++ b/tools/vendor/github.com/mgechev/revive/lint/config.go @@ -15,9 +15,9 @@ type RuleConfig struct { Arguments Arguments Severity Severity Disabled bool - // Exclude - rule-level file excludes, TOML related (strings) + // Exclude is rule-level file excludes, TOML related (strings). Exclude []string - // excludeFilters - regex-based file filters, initialized from Exclude + // excludeFilters is regex-based file filters, initialized from Exclude. excludeFilters []*FileFilter } diff --git a/tools/vendor/github.com/mgechev/revive/lint/failure.go b/tools/vendor/github.com/mgechev/revive/lint/failure.go index c25df4836..01ed09115 100644 --- a/tools/vendor/github.com/mgechev/revive/lint/failure.go +++ b/tools/vendor/github.com/mgechev/revive/lint/failure.go @@ -72,19 +72,18 @@ type FailurePosition struct { // Failure defines a struct for a linting failure. type Failure struct { - Failure string `json:"Failure"` - RuleName string `json:"RuleName"` - Category FailureCategory `json:"Category"` - Position FailurePosition `json:"Position"` - Node ast.Node `json:"-"` - Confidence float64 `json:"Confidence"` - // For future use - ReplacementLine string `json:"ReplacementLine"` + Failure string `json:"Failure"` + RuleName string `json:"RuleName"` + Category FailureCategory `json:"Category"` + Position FailurePosition `json:"Position"` + Node ast.Node `json:"-"` + Confidence float64 `json:"Confidence"` + ReplacementLine string `json:"ReplacementLine"` } // GetFilename returns the filename. // -// Deprecated: Use [Filename]. +// Deprecated: Use [Failure.Filename] instead. func (f *Failure) GetFilename() string { return f.Filename() } diff --git a/tools/vendor/github.com/mgechev/revive/logging/logger.go b/tools/vendor/github.com/mgechev/revive/logging/logger.go index 2b4726de6..12fef0160 100644 --- a/tools/vendor/github.com/mgechev/revive/logging/logger.go +++ b/tools/vendor/github.com/mgechev/revive/logging/logger.go @@ -5,45 +5,46 @@ import ( "io" "log/slog" "os" + "sync" + "testing" ) -const logFile = "revive.log" - -var ( - logger *slog.Logger - loggerFile *os.File -) - -// GetLogger retrieves an instance of an application logger which outputs -// to a file if the debug flag is enabled. +// GetLogger retrieves an instance of an application logger. +// The log level can be configured via the REVIVE_LOG_LEVEL environment variable. +// If REVIVE_LOG_LEVEL is unset or empty, logging is disabled. +// If it is set to an invalid value, the log level defaults to WARN. +// +//nolint:unparam // err is always nil, but is included in the signature for future extensibility. func GetLogger() (*slog.Logger, error) { - if logger != nil { - return logger, nil - } + return getLogger(), nil +} - debugModeEnabled := os.Getenv("DEBUG") != "" - if !debugModeEnabled { - // by default, suppress all logging output - return slog.New(slog.DiscardHandler), nil - } +var getLogger = sync.OnceValue(initLogger(os.Stderr)) - var err error - loggerFile, err = os.Create(logFile) - if err != nil { - return nil, err - } +func initLogger(out io.Writer) func() *slog.Logger { + return func() *slog.Logger { + logLevel := os.Getenv("REVIVE_LOG_LEVEL") + if logLevel == "" { + return slog.New(slog.DiscardHandler) + } - logger = slog.New(slog.NewTextHandler(io.MultiWriter(os.Stderr, loggerFile), nil)) + leveler := &slog.LevelVar{} + opts := &slog.HandlerOptions{Level: leveler} - logger.Info("Logger initialized", "logFile", logFile) + level := slog.LevelWarn + _ = level.UnmarshalText([]byte(logLevel)) // Ignore error and default to WARN if invalid + leveler.Set(level) + logger := slog.New(slog.NewTextHandler(out, opts)) - return logger, nil -} + logger.Info("Logger initialized", "logLevel", logLevel) -// Close closes the logger file if it was opened. -func Close() error { - if loggerFile == nil { - return nil + return logger } - return loggerFile.Close() +} + +// InitForTesting initializes the logger singleton cache for testing purposes. +// This function should only be called in tests. +func InitForTesting(tb testing.TB, out io.Writer) { + tb.Helper() + getLogger = sync.OnceValue(initLogger(out)) } diff --git a/tools/vendor/github.com/mgechev/revive/rule/bool_literal_in_expr.go b/tools/vendor/github.com/mgechev/revive/rule/bool_literal_in_expr.go index ee713ae96..f6c8cbc61 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/bool_literal_in_expr.go +++ b/tools/vendor/github.com/mgechev/revive/rule/bool_literal_in_expr.go @@ -7,7 +7,7 @@ import ( "github.com/mgechev/revive/lint" ) -// BoolLiteralRule warns when logic expressions contains Boolean literals. +// BoolLiteralRule warns when logic expressions contain boolean literals. type BoolLiteralRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/comment_spacings.go b/tools/vendor/github.com/mgechev/revive/rule/comment_spacings.go index 0c35fe392..d28bce04f 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/comment_spacings.go +++ b/tools/vendor/github.com/mgechev/revive/rule/comment_spacings.go @@ -7,8 +7,8 @@ import ( "github.com/mgechev/revive/lint" ) -// CommentSpacingsRule check whether there is a space between -// the comment symbol( // ) and the start of the comment text. +// CommentSpacingsRule checks whether there is a space between +// the comment symbol // and the start of the comment text. type CommentSpacingsRule struct { allowList []string } diff --git a/tools/vendor/github.com/mgechev/revive/rule/context_as_argument.go b/tools/vendor/github.com/mgechev/revive/rule/context_as_argument.go index 5a3e2cf69..588bbabf0 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/context_as_argument.go +++ b/tools/vendor/github.com/mgechev/revive/rule/context_as_argument.go @@ -9,7 +9,7 @@ import ( "github.com/mgechev/revive/lint" ) -// ContextAsArgumentRule suggests that `context.Context` should be the first argument of a function. +// ContextAsArgumentRule suggests that [context.Context] should be the first argument of a function. type ContextAsArgumentRule struct { allowTypes map[string]struct{} } diff --git a/tools/vendor/github.com/mgechev/revive/rule/context_keys_type.go b/tools/vendor/github.com/mgechev/revive/rule/context_keys_type.go index 562f31b22..98f631ee9 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/context_keys_type.go +++ b/tools/vendor/github.com/mgechev/revive/rule/context_keys_type.go @@ -9,7 +9,7 @@ import ( "github.com/mgechev/revive/lint" ) -// ContextKeysType disallows the usage of basic types in `context.WithValue`. +// ContextKeysType disallows the usage of basic types in [context.WithValue]. type ContextKeysType struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/datarace.go b/tools/vendor/github.com/mgechev/revive/rule/datarace.go index de63c068d..fd2dcdf2b 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/datarace.go +++ b/tools/vendor/github.com/mgechev/revive/rule/datarace.go @@ -11,7 +11,8 @@ import ( //nolint:staticcheck // TODO: ast.Object is deprecated type nodeUID *ast.Object // type of the unique id for AST nodes -// DataRaceRule lints assignments to value method-receivers. +// DataRaceRule spots potential dataraces caused by goroutines capturing (by-reference) +// particular identifiers of the function from which goroutines are created. type DataRaceRule struct{} // Apply applies the rule to given file. @@ -65,7 +66,6 @@ func (*DataRaceRule) extractReturnIDs(fields []*ast.Field) map[nodeUID]struct{} } type lintFunctionForDataRaces struct { - _ struct{} onFailure func(failure lint.Failure) returnIDs map[nodeUID]struct{} rangeIDs map[nodeUID]struct{} diff --git a/tools/vendor/github.com/mgechev/revive/rule/deep_exit.go b/tools/vendor/github.com/mgechev/revive/rule/deep_exit.go index ed3e34b53..c1042a6aa 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/deep_exit.go +++ b/tools/vendor/github.com/mgechev/revive/rule/deep_exit.go @@ -11,7 +11,7 @@ import ( "github.com/mgechev/revive/lint" ) -// DeepExitRule lints program exit at functions other than main or init. +// DeepExitRule lints program exit in functions other than main or init. type DeepExitRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/dot_imports.go b/tools/vendor/github.com/mgechev/revive/rule/dot_imports.go index a5f2210c5..5252e716a 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/dot_imports.go +++ b/tools/vendor/github.com/mgechev/revive/rule/dot_imports.go @@ -8,7 +8,7 @@ import ( "github.com/mgechev/revive/lint" ) -// DotImportsRule forbids . imports. +// DotImportsRule forbids dot imports. type DotImportsRule struct { allowedPackages allowPackages } diff --git a/tools/vendor/github.com/mgechev/revive/rule/early_return.go b/tools/vendor/github.com/mgechev/revive/rule/early_return.go index 2c2b67f4d..7b158ccf1 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/early_return.go +++ b/tools/vendor/github.com/mgechev/revive/rule/early_return.go @@ -18,6 +18,8 @@ type EarlyReturnRule struct { allowJump bool } +var _ lint.ConfigurableRule = (*EarlyReturnRule)(nil) + // Configure validates the rule configuration, and configures the rule accordingly. // // Configuration implements the [lint.ConfigurableRule] interface. diff --git a/tools/vendor/github.com/mgechev/revive/rule/exported.go b/tools/vendor/github.com/mgechev/revive/rule/exported.go index ccc73162e..9d8ace8e5 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/exported.go +++ b/tools/vendor/github.com/mgechev/revive/rule/exported.go @@ -408,8 +408,8 @@ func (w *lintExported) checkGoDocStatus(comment *ast.CommentGroup, name string) } // firstCommentLine yields the first line of interest in comment group or "" if there is nothing of interest. -// An "interesting line" is a comment line that is neither a directive (e.g. //go:...) or a deprecation comment -// (lines from the first line with a prefix // Deprecated: to the end of the comment group) +// An "interesting line" is a comment line that is neither a directive (e.g. `//go:...`) or a deprecation comment +// (lines from the first line with a prefix `// Deprecated:` to the end of the comment group). // Empty or spaces-only lines are discarded. func (*lintExported) firstCommentLine(comment *ast.CommentGroup) (result string) { if comment == nil { diff --git a/tools/vendor/github.com/mgechev/revive/rule/filename_format.go b/tools/vendor/github.com/mgechev/revive/rule/filename_format.go index faa24b614..960ebb0c8 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/filename_format.go +++ b/tools/vendor/github.com/mgechev/revive/rule/filename_format.go @@ -38,7 +38,7 @@ func (*FilenameFormatRule) getMsgForNonASCIIChars(str string) string { continue } - result.WriteString(fmt.Sprintf(" Non ASCII character %c (%U) found.", c, c)) + fmt.Fprintf(&result, " Non ASCII character %c (%U) found.", c, c) } return result.String() diff --git a/tools/vendor/github.com/mgechev/revive/rule/forbidden_call_in_wg_go.go b/tools/vendor/github.com/mgechev/revive/rule/forbidden_call_in_wg_go.go index 63088e554..20a393621 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/forbidden_call_in_wg_go.go +++ b/tools/vendor/github.com/mgechev/revive/rule/forbidden_call_in_wg_go.go @@ -9,7 +9,7 @@ import ( "github.com/mgechev/revive/lint" ) -// ForbiddenCallInWgGoRule spots calls to panic or wg.Done when using WaitGroup.Go. +// ForbiddenCallInWgGoRule spots calls to panic or wg.Done when using [sync.WaitGroup.Go]. type ForbiddenCallInWgGoRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/increment_decrement.go b/tools/vendor/github.com/mgechev/revive/rule/increment_decrement.go index d8cebcf25..538bd9314 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/increment_decrement.go +++ b/tools/vendor/github.com/mgechev/revive/rule/increment_decrement.go @@ -8,7 +8,7 @@ import ( "github.com/mgechev/revive/lint" ) -// IncrementDecrementRule lints `i += 1` and `i -= 1` constructs. +// IncrementDecrementRule suggests replacing `i += 1` and `i -= 1` with `i++` and `i--`. type IncrementDecrementRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/indent_error_flow.go b/tools/vendor/github.com/mgechev/revive/rule/indent_error_flow.go index be4734bad..f900d8e22 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/indent_error_flow.go +++ b/tools/vendor/github.com/mgechev/revive/rule/indent_error_flow.go @@ -11,6 +11,8 @@ type IndentErrorFlowRule struct { preserveScope bool } +var _ lint.ConfigurableRule = (*IndentErrorFlowRule)(nil) + // Configure validates the rule configuration, and configures the rule accordingly. // // Configuration implements the [lint.ConfigurableRule] interface. diff --git a/tools/vendor/github.com/mgechev/revive/rule/line_length_limit.go b/tools/vendor/github.com/mgechev/revive/rule/line_length_limit.go index 5d0653975..f2c9a1467 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/line_length_limit.go +++ b/tools/vendor/github.com/mgechev/revive/rule/line_length_limit.go @@ -12,7 +12,7 @@ import ( "github.com/mgechev/revive/lint" ) -// LineLengthLimitRule lints number of characters in a line. +// LineLengthLimitRule lints the number of characters in a line. type LineLengthLimitRule struct { max int } diff --git a/tools/vendor/github.com/mgechev/revive/rule/package_naming.go b/tools/vendor/github.com/mgechev/revive/rule/package_naming.go new file mode 100644 index 000000000..642b16a13 --- /dev/null +++ b/tools/vendor/github.com/mgechev/revive/rule/package_naming.go @@ -0,0 +1,315 @@ +package rule + +import ( + "errors" + "fmt" + "go/ast" + "path/filepath" + "regexp" + "strings" + + gopackages "golang.org/x/tools/go/packages" + + "github.com/mgechev/revive/internal/syncset" + "github.com/mgechev/revive/lint" +) + +// defaultBadNames is the list of "bad" package names from https://go.dev/blog/package-names#bad-package-names. +var defaultBadNames = map[string]struct{}{ + "common": {}, + "interface": {}, + "interfaces": {}, + "misc": {}, + "type": {}, + "types": {}, + "util": {}, + "utils": {}, +} + +// extraBadNames is the list of additional "bad" package names that are not recommended. +var extraBadNames = map[string]struct{}{ + "api": {}, + "helpers": {}, + "miscellaneous": {}, + "models": {}, + "shared": {}, + "utilities": {}, +} + +// commonStdNames is the list of standard library package names that are commonly used in Go programs. +// This list is based on the most popular standard library packages according to importedby tab in pkg.go.dev. +// For example, "http" imported by 1,705,800 times https://pkg.go.dev/net/http?tab=importedby +var commonStdNames = map[string]string{ + "bytes": "bytes", + "bufio": "bufio", + "flag": "flag", + "context": "context", + "errors": "errors", + "filepath": "path/filepath", + "fmt": "fmt", + "http": "net/http", + "io": "io", + "ioutil": "io/ioutil", + "json": "encoding/json", + "log": "log", + "math": "math", + "net": "net", + "os": "os", + "strconv": "strconv", + "reflect": "reflect", + "regexp": "regexp", + "runtime": "runtime", + "sort": "sort", + "strings": "strings", + "sync": "sync", + "time": "time", + "url": "net/url", +} + +// nonPublicPackageSegments are package path segments that indicate the std package is not public. +var nonPublicPackageSegments = map[string]struct{}{ + "internal": {}, + "vendor": {}, +} + +// forbiddenTopLevelNames is the set of forbidden top level package names. +var forbiddenTopLevelNames = map[string]struct{}{ + "pkg": {}, +} + +// PackageNamingRule is a rule that checks package names. +type PackageNamingRule struct { + skipConventionNameCheck bool // if true - skip checks for package name conventions (e.g., no underscores, no MixedCaps etc.) + conventionNameCheckRegex *regexp.Regexp // the regex used to check package name conventions + + skipTopLevelCheck bool // if true - skip checks for top level package names (e.g., "pkg") + + skipDefaultBadNameCheck bool // if true - skip checks for default bad package names (e.g., "util", "misc" etc.) + checkExtraBadName bool // if true - enable check for extra bad package names (e.g., "helpers", "models" etc.) + userDefinedBadNames map[string]struct{} // set of user defined bad package names + + skipCollisionWithCommonStd bool // if true - skip checks for collisions with common Go standard library package names (e.g., "http", "json", "rand" etc.) + + checkCollisionWithAllStd bool // if true - enable checks for collisions with all Go standard library package names (including "version", "metrics" etc.) + // allStdNames holds name -> path of standard library packages excluding internal and vendor. + // Populated only if checkCollisionWithAllStd is true. `net/http` stored as `http`, `math/rand/v2` as `rand` etc. + allStdNames map[string]string + + // alreadyCheckedNames is keyed by fileDir (package directory path) to track which package directories + // have already been checked and avoid duplicate checks across files in the same package. + alreadyCheckedNames *syncset.Set +} + +// Configure validates the rule configuration, and configures the rule accordingly. +// +// Configuration implements the [lint.ConfigurableRule] interface. +func (r *PackageNamingRule) Configure(arguments lint.Arguments) error { + r.alreadyCheckedNames = syncset.New() + + if len(arguments) == 0 { + return nil + } + + if len(arguments) > 1 { + return fmt.Errorf("invalid arguments to the package-naming rule: expected at most 1 argument, but got %d", len(arguments)) + } + + args, ok := arguments[0].(map[string]any) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting a k,v map, but got %T", arguments[0]) + } + + for k, v := range args { + switch { + case isRuleOption(k, "skipConventionNameCheck"): + r.skipConventionNameCheck, ok = v.(bool) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting skipConventionNameCheck to be a boolean, but got %T", v) + } + case isRuleOption(k, "conventionNameCheckRegex"): + regexStr, ok := v.(string) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting conventionNameCheckRegex to be a string, but got %T", v) + } + if regexStr == "" { + return errors.New("invalid argument to the package-naming rule: conventionNameCheckRegex cannot be an empty string") + } + regex, err := regexp.Compile(regexStr) + if err != nil { + return fmt.Errorf("invalid argument to the package-naming rule: invalid regex for conventionNameCheckRegex: %w", err) + } + r.conventionNameCheckRegex = regex + case isRuleOption(k, "skipTopLevelCheck"): + r.skipTopLevelCheck, ok = v.(bool) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting skipTopLevelCheck to be a boolean, but got %T", v) + } + case isRuleOption(k, "skipDefaultBadNameCheck"): + r.skipDefaultBadNameCheck, ok = v.(bool) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting skipDefaultBadNameCheck to be a boolean, but got %T", v) + } + case isRuleOption(k, "checkExtraBadName"): + r.checkExtraBadName, ok = v.(bool) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting checkExtraBadName to be a boolean, but got %T", v) + } + case isRuleOption(k, "userDefinedBadNames"): + userDefinedBadNames, ok := v.([]any) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting userDefinedBadNames of type slice of strings, but got %T", v) + } + for i, name := range userDefinedBadNames { + if r.userDefinedBadNames == nil { + r.userDefinedBadNames = map[string]struct{}{} + } + n, ok := name.(string) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting element %d of userDefinedBadNames to be a string, but got %v(%T)", i, name, name) + } + if n == "" { + return fmt.Errorf("invalid argument to the package-naming rule: userDefinedBadNames cannot contain empty string (index %d)", i) + } + r.userDefinedBadNames[strings.ToLower(n)] = struct{}{} + } + case isRuleOption(k, "skipCollisionWithCommonStd"): + r.skipCollisionWithCommonStd, ok = v.(bool) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting skipCollisionWithCommonStd to be a boolean, but got %T", v) + } + case isRuleOption(k, "checkCollisionWithAllStd"): + r.checkCollisionWithAllStd, ok = v.(bool) + if !ok { + return fmt.Errorf("invalid argument to the package-naming rule: expecting checkCollisionWithAllStd to be a boolean, but got %T", v) + } + } + } + + if r.skipConventionNameCheck && r.conventionNameCheckRegex != nil { + return errors.New("invalid configuration for package-naming rule: skipConventionNameCheck and conventionNameCheckRegex cannot be both set") + } + + if r.skipCollisionWithCommonStd && r.checkCollisionWithAllStd { + return errors.New("invalid configuration for package-naming rule: skipCollisionWithCommonStd and checkCollisionWithAllStd cannot be both set") + } + + if r.checkCollisionWithAllStd && r.allStdNames == nil { + pkgs, err := gopackages.Load(nil, "std") + if err != nil { + return fmt.Errorf("load std packages: %w", err) + } + + r.allStdNames = map[string]string{} + for _, pkg := range pkgs { + if isNonPublicPackage(pkg.PkgPath) { + continue + } + if existingPath, ok := r.allStdNames[pkg.Name]; !ok || pkg.PkgPath < existingPath { + r.allStdNames[pkg.Name] = pkg.PkgPath + } + } + } + + return nil +} + +// isNonPublicPackage reports whether the path represents an internal or vendor directory. +func isNonPublicPackage(path string) bool { + for p := range strings.SplitSeq(path, "/") { + if _, ok := nonPublicPackageSegments[p]; ok { + return true + } + } + return false +} + +// Apply applies the rule to given file. +func (r *PackageNamingRule) Apply(file *lint.File, _ lint.Arguments) []lint.Failure { + var failures []lint.Failure + onFailure := func(failure lint.Failure) { + failures = append(failures, failure) + } + + fileDir := filepath.Dir(file.Name) + + if !r.alreadyCheckedNames.AddIfAbsent(fileDir) { + return failures + } + + node := file.AST.Name + pkgName := node.Name + pkgNameWithoutTestSuffix := strings.TrimSuffix(pkgName, "_test") + + if r.conventionNameCheckRegex != nil { + if !r.conventionNameCheckRegex.MatchString(pkgNameWithoutTestSuffix) { + onFailure(r.pkgNameFailure(node, "package name %q doesn't match the convention defined by conventionNameCheckRegex", pkgName)) + return failures + } + } else if !r.skipConventionNameCheck { + // Package names need slightly different handling than other names. + if strings.Contains(pkgNameWithoutTestSuffix, "_") { + onFailure(r.pkgNameFailure(node, "don't use package name %q that contains an underscore", pkgName)) + return failures + } + if hasUpperCaseLetter(pkgNameWithoutTestSuffix) { + onFailure(r.pkgNameFailure(node, "don't use package name %q that contains MixedCaps", pkgName)) + return failures + } + } + + pkgNameLower := strings.ToLower(pkgName) + if !r.skipTopLevelCheck { + if _, ok := forbiddenTopLevelNames[pkgNameLower]; ok && filepath.Base(fileDir) != pkgName { + onFailure(r.pkgNameFailure(node, "don't use %q as a root level package name", pkgName)) + return failures + } + } + + if !r.skipDefaultBadNameCheck { + if _, ok := defaultBadNames[pkgNameLower]; ok { + onFailure(r.pkgNameFailure(node, "don't use %q because it is a bad package name according to https://go.dev/blog/package-names#bad-package-names", pkgName)) + return failures + } + } + + if r.checkExtraBadName { + if _, ok := extraBadNames[pkgNameLower]; ok { + onFailure(r.pkgNameFailure(node, "don't use %q because it is a bad package name (extra)", pkgName)) + return failures + } + } + + if r.userDefinedBadNames != nil { + if _, ok := r.userDefinedBadNames[pkgNameLower]; ok { + onFailure(r.pkgNameFailure(node, "don't use %q because it is a bad package name (user-defined)", pkgName)) + return failures + } + } + + if r.checkCollisionWithAllStd { + // all std names are also common std names, so no need to check separately + if std, ok := r.allStdNames[pkgNameLower]; ok { + onFailure(r.pkgNameFailure(node, "don't use %q because it conflicts with Go standard library package %q", pkgName, std)) + } + } else if !r.skipCollisionWithCommonStd { + if std, ok := commonStdNames[pkgNameLower]; ok { + onFailure(r.pkgNameFailure(node, "don't use %q because it conflicts with common Go standard library package %q", pkgName, std)) + } + } + + return failures +} + +// Name returns the rule name. +func (*PackageNamingRule) Name() string { + return "package-naming" +} + +func (*PackageNamingRule) pkgNameFailure(node ast.Node, msg string, args ...any) lint.Failure { + return lint.Failure{ + Failure: fmt.Sprintf(msg, args...), + Confidence: 1, + Node: node, + Category: lint.FailureCategoryNaming, + } +} diff --git a/tools/vendor/github.com/mgechev/revive/rule/redundant_test_main_exit.go b/tools/vendor/github.com/mgechev/revive/rule/redundant_test_main_exit.go index cd1da59aa..04e643e5f 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/redundant_test_main_exit.go +++ b/tools/vendor/github.com/mgechev/revive/rule/redundant_test_main_exit.go @@ -7,7 +7,7 @@ import ( "github.com/mgechev/revive/lint" ) -// RedundantTestMainExitRule suggests removing Exit call in TestMain function for test files. +// RedundantTestMainExitRule suggests removing redundant [os.Exit] or [syscall.Exit] calls in TestMain function. type RedundantTestMainExitRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/string_format.go b/tools/vendor/github.com/mgechev/revive/rule/string_format.go index 4c7c86554..0cf05e37a 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/string_format.go +++ b/tools/vendor/github.com/mgechev/revive/rule/string_format.go @@ -11,7 +11,7 @@ import ( "github.com/mgechev/revive/lint" ) -// StringFormatRule lints strings and/or comments according to a set of regular expressions given as Arguments. +// StringFormatRule lints strings and/or comments according to a set of regular expressions given as arguments. type StringFormatRule struct { rules []stringFormatSubrule } @@ -87,6 +87,7 @@ const identRegex = "[_A-Za-z][_A-Za-z0-9]*" var parseStringFormatScope = regexp.MustCompile( fmt.Sprintf("^(%s(?:\\.%s)?)(?:\\[([0-9]+)\\](?:\\.(%s))?)?$", identRegex, identRegex, identRegex)) +//revive:disable-next-line:function-result-limit func (r *StringFormatRule) parseArgument(argument any, ruleNum int) (scopes stringFormatSubruleScopes, regex *regexp.Regexp, negated bool, errorMessage string, err error) { g, ok := argument.([]any) // Cast to generic slice first if !ok { diff --git a/tools/vendor/github.com/mgechev/revive/rule/string_of_int.go b/tools/vendor/github.com/mgechev/revive/rule/string_of_int.go index 3bec1d6ac..839d0dfd5 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/string_of_int.go +++ b/tools/vendor/github.com/mgechev/revive/rule/string_of_int.go @@ -7,7 +7,7 @@ import ( "github.com/mgechev/revive/lint" ) -// StringOfIntRule warns when logic expressions contains Boolean literals. +// StringOfIntRule warns when an integer is converted to a string using a string cast. type StringOfIntRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/superfluous_else.go b/tools/vendor/github.com/mgechev/revive/rule/superfluous_else.go index dfa8a2fab..68bbd7815 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/superfluous_else.go +++ b/tools/vendor/github.com/mgechev/revive/rule/superfluous_else.go @@ -13,6 +13,8 @@ type SuperfluousElseRule struct { preserveScope bool } +var _ lint.ConfigurableRule = (*SuperfluousElseRule)(nil) + // Configure validates the rule configuration, and configures the rule accordingly. // // Configuration implements the [lint.ConfigurableRule] interface. diff --git a/tools/vendor/github.com/mgechev/revive/rule/time_equal.go b/tools/vendor/github.com/mgechev/revive/rule/time_equal.go index b7a0bef04..db9758c5b 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/time_equal.go +++ b/tools/vendor/github.com/mgechev/revive/rule/time_equal.go @@ -9,7 +9,7 @@ import ( "github.com/mgechev/revive/lint" ) -// TimeEqualRule shows where "==" and "!=" used for equality check [time.Time]. +// TimeEqualRule flags where "==" and "!=" are used for equality checks on [time.Time]. type TimeEqualRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/unconditional_recursion.go b/tools/vendor/github.com/mgechev/revive/rule/unconditional_recursion.go index b6288e08e..738a9e71d 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/unconditional_recursion.go +++ b/tools/vendor/github.com/mgechev/revive/rule/unconditional_recursion.go @@ -79,7 +79,7 @@ type lintUnconditionalRecursionRule struct { } // Visit will traverse function's body we search for calls to the function itself. -// We do not search inside conditional control structures (if, for, switch, ...) +// We do not search inside conditional control structures (if, for, switch etc.) // because any recursive call inside them is conditioned. // We do search inside conditional control structures are statements // that will take the control out of the function (return, exit, panic). diff --git a/tools/vendor/github.com/mgechev/revive/rule/unexported_return.go b/tools/vendor/github.com/mgechev/revive/rule/unexported_return.go index e82dcff09..dc567eee3 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/unexported_return.go +++ b/tools/vendor/github.com/mgechev/revive/rule/unexported_return.go @@ -9,7 +9,7 @@ import ( "github.com/mgechev/revive/lint" ) -// UnexportedReturnRule warns when a public return is from unexported type. +// UnexportedReturnRule warns when a public function returns an unexported type. type UnexportedReturnRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/unsecure_url_scheme.go b/tools/vendor/github.com/mgechev/revive/rule/unsecure_url_scheme.go index 09b4771b5..1aa095b47 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/unsecure_url_scheme.go +++ b/tools/vendor/github.com/mgechev/revive/rule/unsecure_url_scheme.go @@ -11,7 +11,7 @@ import ( ) // UnsecureURLSchemeRule checks if a file contains string literals with unsecure URL schemes. -// For example: http://... in place of https://.... +// For example: "http://" in place of "https://". type UnsecureURLSchemeRule struct{} // Apply applied the rule to the given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/use_fmt_print.go b/tools/vendor/github.com/mgechev/revive/rule/use_fmt_print.go index e5697ea50..3da85ff7f 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/use_fmt_print.go +++ b/tools/vendor/github.com/mgechev/revive/rule/use_fmt_print.go @@ -9,7 +9,8 @@ import ( "github.com/mgechev/revive/lint" ) -// UseFmtPrintRule lints calls to print and println. +// UseFmtPrintRule proposes to replace calls to built-in `print` and `println` +// with their equivalents from [fmt] package. type UseFmtPrintRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/use_slices_sort.go b/tools/vendor/github.com/mgechev/revive/rule/use_slices_sort.go index 3690672cf..a0f460baa 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/use_slices_sort.go +++ b/tools/vendor/github.com/mgechev/revive/rule/use_slices_sort.go @@ -8,7 +8,7 @@ import ( "github.com/mgechev/revive/lint" ) -// UseSlicesSort spots calls to sort.* that can be replaced by slices package methods. +// UseSlicesSort spots calls to sort.* that can be replaced by [slices] package methods. type UseSlicesSort struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/use_waitgroup_go.go b/tools/vendor/github.com/mgechev/revive/rule/use_waitgroup_go.go index 7daeb645f..6f04fd65c 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/use_waitgroup_go.go +++ b/tools/vendor/github.com/mgechev/revive/rule/use_waitgroup_go.go @@ -7,7 +7,7 @@ import ( "github.com/mgechev/revive/lint" ) -// UseWaitGroupGoRule spots Go idioms that might be rewritten using WaitGroup.Go. +// UseWaitGroupGoRule spots Go idioms that might be rewritten using [sync.WaitGroup.Go]. type UseWaitGroupGoRule struct{} // Apply applies the rule to given file. diff --git a/tools/vendor/github.com/mgechev/revive/rule/var_naming.go b/tools/vendor/github.com/mgechev/revive/rule/var_naming.go index ef27594c4..1c0b949f0 100644 --- a/tools/vendor/github.com/mgechev/revive/rule/var_naming.go +++ b/tools/vendor/github.com/mgechev/revive/rule/var_naming.go @@ -4,15 +4,12 @@ import ( "fmt" "go/ast" "go/token" - "path/filepath" "strings" - "sync" - - gopackages "golang.org/x/tools/go/packages" "github.com/mgechev/revive/internal/astutils" "github.com/mgechev/revive/internal/rule" "github.com/mgechev/revive/lint" + "github.com/mgechev/revive/logging" ) var knownNameExceptions = map[string]bool{ @@ -20,49 +17,19 @@ var knownNameExceptions = map[string]bool{ "kWh": true, } -// defaultBadPackageNames is the list of "bad" package names from https://go.dev/wiki/CodeReviewComments#package-names -// and https://go.dev/blog/package-names#bad-package-names. -// The rule warns about the usage of any package name in this list if skipPackageNameChecks is false. -// Values in the list should be lowercased. -var defaultBadPackageNames = map[string]struct{}{ - "api": {}, - "common": {}, - "interface": {}, - "interfaces": {}, - "misc": {}, - "miscellaneous": {}, - "shared": {}, - "type": {}, - "types": {}, - "util": {}, - "utilities": {}, - "utils": {}, -} - // VarNamingRule lints the name of a variable. type VarNamingRule struct { allowList []string blockList []string - allowUpperCaseConst bool // if true - allows to use UPPER_SOME_NAMES for constants - skipInitialismNameChecks bool // if true - disable enforcing capitals for common initialisms - skipPackageNameChecks bool // if true - disable check for meaningless and user-defined bad package names - extraBadPackageNames map[string]struct{} // inactive if skipPackageNameChecks is false - pkgNameAlreadyChecked syncSet // set of packages names already checked - - skipPackageNameCollisionWithGoStd bool // if true - disable checks for collisions with Go standard library package names - // stdPackageNames holds the names of standard library packages excluding internal and vendor. - // populated only if skipPackageNameCollisionWithGoStd is false. - // E.g., `net/http` stored as `http`, `math/rand/v2` - `rand` etc. - stdPackageNames map[string]struct{} + allowUpperCaseConst bool // if true - allows to use UPPER_SOME_NAMES for constants + skipInitialismNameChecks bool // if true - disable enforcing capitals for common initialisms } // Configure validates the rule configuration, and configures the rule accordingly. // // Configuration implements the [lint.ConfigurableRule] interface. func (r *VarNamingRule) Configure(arguments lint.Arguments) error { - r.pkgNameAlreadyChecked = syncSet{elements: map[string]struct{}{}} - if len(arguments) >= 1 { list, err := getList(arguments[0], "allowlist") if err != nil { @@ -100,58 +67,28 @@ func (r *VarNamingRule) Configure(arguments lint.Arguments) error { case isRuleOption(k, "upperCaseConst"): r.allowUpperCaseConst = fmt.Sprint(v) == "true" case isRuleOption(k, "skipPackageNameChecks"): - r.skipPackageNameChecks = fmt.Sprint(v) == "true" - case isRuleOption(k, "extraBadPackageNames"): - extraBadPackageNames, ok := v.([]any) - if !ok { - return fmt.Errorf("invalid third argument to the var-naming rule. Expecting extraBadPackageNames of type slice of strings, but %T", v) + logger, err := logging.GetLogger() + if err == nil { + logger.Warn("The option var-naming.skipPackageNameChecks is no longer supported and will be ignored; use package-naming rule instead") } - for i, name := range extraBadPackageNames { - if r.extraBadPackageNames == nil { - r.extraBadPackageNames = map[string]struct{}{} - } - n, ok := name.(string) - if !ok { - return fmt.Errorf("invalid third argument to the var-naming rule: expected element %d of extraBadPackageNames to be a string, but got %v(%T)", i, name, name) - } - r.extraBadPackageNames[strings.ToLower(n)] = struct{}{} + case isRuleOption(k, "extraBadPackageNames"): + logger, err := logging.GetLogger() + if err == nil { + logger.Warn("The option var-naming.extraBadPackageNames is no longer supported and will be ignored; use package-naming.userDefinedBadNames instead") } case isRuleOption(k, "skipPackageNameCollisionWithGoStd"): - r.skipPackageNameCollisionWithGoStd = fmt.Sprint(v) == "true" - } - } - } - if !r.skipPackageNameCollisionWithGoStd && r.stdPackageNames == nil { - pkgs, err := gopackages.Load(nil, "std") - if err != nil { - return fmt.Errorf("load std packages: %w", err) - } - - r.stdPackageNames = map[string]struct{}{} - for _, pkg := range pkgs { - if isInternalOrVendorPackage(pkg.PkgPath) { - continue + logger, err := logging.GetLogger() + if err == nil { + logger.Warn("The option var-naming.skipPackageNameCollisionWithGoStd is no longer supported and will be ignored; " + + "use package-naming.skipCollisionWithCommonStd instead (or package-naming.checkCollisionWithAllStd for the old 'all std' behavior)") + } } - r.stdPackageNames[pkg.Name] = struct{}{} } } return nil } -// isInternalOrVendorPackage reports whether the path represents an internal or vendor directory. -// -// Borrowed and modified from -// https://github.com/golang/pkgsite/blob/84333735ffe124f7bd904805fd488b93841de49f/internal/postgres/search.go#L1009-L1016 -func isInternalOrVendorPackage(path string) bool { - for p := range strings.SplitSeq(path, "/") { - if p == "internal" || p == "vendor" { - return true - } - } - return false -} - // Apply applies the rule to given file. func (r *VarNamingRule) Apply(file *lint.File, _ lint.Arguments) []lint.Failure { var failures []lint.Failure @@ -159,10 +96,6 @@ func (r *VarNamingRule) Apply(file *lint.File, _ lint.Arguments) []lint.Failure failures = append(failures, failure) } - if !r.skipPackageNameChecks { - r.applyPackageCheckRules(file, onFailure) - } - fileAst := file.AST walker := lintNames{ file: file, @@ -184,61 +117,6 @@ func (*VarNamingRule) Name() string { return "var-naming" } -func (r *VarNamingRule) applyPackageCheckRules(file *lint.File, onFailure func(failure lint.Failure)) { - fileDir := filepath.Dir(file.Name) - - // Protect pkgsWithNameFailure from concurrent modifications - r.pkgNameAlreadyChecked.Lock() - defer r.pkgNameAlreadyChecked.Unlock() - if r.pkgNameAlreadyChecked.has(fileDir) { - return - } - r.pkgNameAlreadyChecked.add(fileDir) // mark this package as already checked - - pkgNameNode := file.AST.Name - pkgName := pkgNameNode.Name - pkgNameLower := strings.ToLower(pkgName) - - // Check if top level package - if pkgNameLower == "pkg" && filepath.Base(fileDir) != pkgName { - onFailure(r.pkgNameFailure(pkgNameNode, "should not have a root level package called pkg")) - return - } - - if _, ok := r.extraBadPackageNames[pkgNameLower]; ok { - onFailure(r.pkgNameFailure(pkgNameNode, "avoid bad package names")) - return - } - - if _, ok := defaultBadPackageNames[pkgNameLower]; ok { - onFailure(r.pkgNameFailure(pkgNameNode, "avoid meaningless package names")) - return - } - - if !r.skipPackageNameCollisionWithGoStd { - if _, ok := r.stdPackageNames[pkgNameLower]; ok { - onFailure(r.pkgNameFailure(pkgNameNode, "avoid package names that conflict with Go standard library package names")) - } - } - - // Package names need slightly different handling than other names. - if strings.Contains(pkgName, "_") && !strings.HasSuffix(pkgName, "_test") { - onFailure(r.pkgNameFailure(pkgNameNode, "don't use an underscore in package name")) - } - if hasUpperCaseLetter(pkgName) { - onFailure(r.pkgNameFailure(pkgNameNode, "don't use MixedCaps in package names; %s should be %s", pkgName, pkgNameLower)) - } -} - -func (*VarNamingRule) pkgNameFailure(node ast.Node, msg string, args ...any) lint.Failure { - return lint.Failure{ - Failure: fmt.Sprintf(msg, args...), - Confidence: 1, - Node: node, - Category: lint.FailureCategoryNaming, - } -} - type lintNames struct { file *lint.File fileAst *ast.File @@ -485,18 +363,3 @@ func getList(arg any, argName string) ([]string, error) { } return list, nil } - -type syncSet struct { - sync.Mutex - - elements map[string]struct{} -} - -func (sm *syncSet) has(s string) bool { - _, result := sm.elements[s] - return result -} - -func (sm *syncSet) add(s string) { - sm.elements[s] = struct{}{} -} diff --git a/tools/vendor/golang.org/x/sys/unix/ztypes_linux.go b/tools/vendor/golang.org/x/sys/unix/ztypes_linux.go index c1a467017..45476a73c 100644 --- a/tools/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/tools/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -593,110 +593,115 @@ const ( ) const ( - NDA_UNSPEC = 0x0 - NDA_DST = 0x1 - NDA_LLADDR = 0x2 - NDA_CACHEINFO = 0x3 - NDA_PROBES = 0x4 - NDA_VLAN = 0x5 - NDA_PORT = 0x6 - NDA_VNI = 0x7 - NDA_IFINDEX = 0x8 - NDA_MASTER = 0x9 - NDA_LINK_NETNSID = 0xa - NDA_SRC_VNI = 0xb - NTF_USE = 0x1 - NTF_SELF = 0x2 - NTF_MASTER = 0x4 - NTF_PROXY = 0x8 - NTF_EXT_LEARNED = 0x10 - NTF_OFFLOADED = 0x20 - NTF_ROUTER = 0x80 - NUD_INCOMPLETE = 0x1 - NUD_REACHABLE = 0x2 - NUD_STALE = 0x4 - NUD_DELAY = 0x8 - NUD_PROBE = 0x10 - NUD_FAILED = 0x20 - NUD_NOARP = 0x40 - NUD_PERMANENT = 0x80 - NUD_NONE = 0x0 - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFA_FLAGS = 0x8 - IFA_RT_PRIORITY = 0x9 - IFA_TARGET_NETNSID = 0xa - IFAL_LABEL = 0x2 - IFAL_ADDRESS = 0x1 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofIfAddrlblmsg = 0xc - SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 - SizeofNdMsg = 0xc + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFAL_LABEL = 0x2 + IFAL_ADDRESS = 0x1 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + PREFIX_UNSPEC = 0x0 + PREFIX_ADDRESS = 0x1 + PREFIX_CACHEINFO = 0x2 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofPrefixmsg = 0xc + SizeofPrefixCacheinfo = 0x8 + SizeofIfAddrmsg = 0x8 + SizeofIfAddrlblmsg = 0xc + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -735,6 +740,22 @@ type IfInfomsg struct { Change uint32 } +type Prefixmsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + Type uint8 + Len uint8 + Flags uint8 + Pad3 uint8 +} + +type PrefixCacheinfo struct { + Preferred_time uint32 + Valid_time uint32 +} + type IfAddrmsg struct { Family uint8 Prefixlen uint8 diff --git a/tools/vendor/golang.org/x/sys/windows/aliases.go b/tools/vendor/golang.org/x/sys/windows/aliases.go index 16f90560a..96317966e 100644 --- a/tools/vendor/golang.org/x/sys/windows/aliases.go +++ b/tools/vendor/golang.org/x/sys/windows/aliases.go @@ -8,5 +8,6 @@ package windows import "syscall" +type Signal = syscall.Signal type Errno = syscall.Errno type SysProcAttr = syscall.SysProcAttr diff --git a/tools/vendor/golang.org/x/sys/windows/syscall_windows.go b/tools/vendor/golang.org/x/sys/windows/syscall_windows.go index 738a9f212..d76643658 100644 --- a/tools/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/tools/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -1490,20 +1490,6 @@ func Getgid() (gid int) { return -1 } func Getegid() (egid int) { return -1 } func Getgroups() (gids []int, err error) { return nil, syscall.EWINDOWS } -type Signal int - -func (s Signal) Signal() {} - -func (s Signal) String() string { - if 0 <= s && int(s) < len(signals) { - str := signals[s] - if str != "" { - return str - } - } - return "signal " + itoa(int(s)) -} - func LoadCreateSymbolicLink() error { return procCreateSymbolicLinkW.Find() } diff --git a/tools/vendor/modules.txt b/tools/vendor/modules.txt index 50bf02e50..879a72e0f 100644 --- a/tools/vendor/modules.txt +++ b/tools/vendor/modules.txt @@ -82,7 +82,7 @@ github.com/alecthomas/go-check-sumtype # github.com/alexkohler/nakedret/v2 v2.0.6 ## explicit; go 1.23.0 github.com/alexkohler/nakedret/v2 -# github.com/alexkohler/prealloc v1.0.2 +# github.com/alexkohler/prealloc v1.1.0 ## explicit; go 1.24.0 github.com/alexkohler/prealloc/pkg # github.com/alfatraining/structtag v1.0.0 @@ -317,7 +317,7 @@ github.com/golangci/go-printf-func-name/pkg/analyzer # github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d ## explicit; go 1.22.0 github.com/golangci/gofmt/gofmt -# github.com/golangci/golangci-lint/v2 v2.10.1 +# github.com/golangci/golangci-lint/v2 v2.11.2 ## explicit; go 1.25.0 github.com/golangci/golangci-lint/v2/cmd/golangci-lint github.com/golangci/golangci-lint/v2/internal/cache @@ -550,8 +550,8 @@ github.com/hexops/gotextdiff/span # github.com/inconshreveable/mousetrap v1.1.0 ## explicit; go 1.18 github.com/inconshreveable/mousetrap -# github.com/jgautheron/goconst v1.8.2 -## explicit; go 1.16 +# github.com/jgautheron/goconst v1.9.0 +## explicit; go 1.23 github.com/jgautheron/goconst # github.com/jingyugao/rowserrcheck v1.1.1 ## explicit; go 1.13 @@ -639,13 +639,14 @@ github.com/mattn/go-isatty # github.com/mattn/go-runewidth v0.0.21 ## explicit; go 1.20 github.com/mattn/go-runewidth -# github.com/mgechev/revive v1.14.0 -## explicit; go 1.24.0 +# github.com/mgechev/revive v1.15.0 +## explicit; go 1.25.0 github.com/mgechev/revive/config github.com/mgechev/revive/formatter github.com/mgechev/revive/internal/astutils github.com/mgechev/revive/internal/ifelse github.com/mgechev/revive/internal/rule +github.com/mgechev/revive/internal/syncset github.com/mgechev/revive/internal/typeparams github.com/mgechev/revive/lint github.com/mgechev/revive/logging @@ -952,12 +953,12 @@ golang.org/x/mod/modfile golang.org/x/mod/module golang.org/x/mod/semver golang.org/x/mod/sumdb/dirhash -# golang.org/x/sync v0.19.0 -## explicit; go 1.24.0 +# golang.org/x/sync v0.20.0 +## explicit; go 1.25.0 golang.org/x/sync/errgroup golang.org/x/sync/semaphore -# golang.org/x/sys v0.41.0 -## explicit; go 1.24.0 +# golang.org/x/sys v0.42.0 +## explicit; go 1.25.0 golang.org/x/sys/unix golang.org/x/sys/windows # golang.org/x/text v0.34.0 diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential/confidential.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential/confidential.go index 29c004320..1b3e599b1 100644 --- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential/confidential.go +++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential/confidential.go @@ -359,7 +359,7 @@ func New(authority, clientID string, cred Credential, options ...Option) (Client // authCodeURLOptions contains options for AuthCodeURL type authCodeURLOptions struct { - claims, loginHint, tenantID, domainHint string + claims, loginHint, tenantID, domainHint, prompt string } // AuthCodeURLOption is implemented by options for AuthCodeURL @@ -369,7 +369,7 @@ type AuthCodeURLOption interface { // AuthCodeURL creates a URL used to acquire an authorization code. Users need to call CreateAuthorizationCodeURLParameters and pass it in. // -// Options: [WithClaims], [WithDomainHint], [WithLoginHint], [WithTenantID] +// Options: [WithClaims], [WithDomainHint], [WithLoginHint], [WithTenantID], [WithPrompt] func (cca Client) AuthCodeURL(ctx context.Context, clientID, redirectURI string, scopes []string, opts ...AuthCodeURLOption) (string, error) { o := authCodeURLOptions{} if err := options.ApplyOptions(&o, opts); err != nil { @@ -382,6 +382,7 @@ func (cca Client) AuthCodeURL(ctx context.Context, clientID, redirectURI string, ap.Claims = o.claims ap.LoginHint = o.loginHint ap.DomainHint = o.domainHint + ap.Prompt = o.prompt return cca.base.AuthCodeURL(ctx, clientID, redirectURI, scopes, ap) } @@ -431,6 +432,29 @@ func WithDomainHint(domain string) interface { } } +// WithPrompt adds prompt query parameter in the auth url. +func WithPrompt(prompt shared.Prompt) interface { + AuthCodeURLOption + options.CallOption +} { + return struct { + AuthCodeURLOption + options.CallOption + }{ + CallOption: options.NewCallOption( + func(a any) error { + switch t := a.(type) { + case *authCodeURLOptions: + t.prompt = prompt.String() + default: + return fmt.Errorf("unexpected options type %T", a) + } + return nil + }, + ), + } +} + // WithClaims sets additional claims to request for the token, such as those required by conditional access policies. // Use this option when Azure AD returned a claims challenge for a prior request. The argument must be decoded. // This option is valid for any token acquisition method. diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/base.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/base.go index abf54f7e5..9bd96090e 100644 --- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/base.go +++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/base.go @@ -302,13 +302,10 @@ func (b Client) AuthCodeURL(ctx context.Context, clientID, redirectURI string, s if authParams.DomainHint != "" { v.Add("domain_hint", authParams.DomainHint) } - // There were left over from an implementation that didn't use any of these. We may - // need to add them later, but as of now aren't needed. - /* - if p.ResponseMode != "" { - urlParams.Add("response_mode", p.ResponseMode) - } - */ + // Use form_post response mode for interactive auth to avoid exposing the auth code in the URL + if authParams.AuthorizationType == authority.ATInteractive { + v.Add("response_mode", "form_post") + } baseURL.RawQuery = v.Encode() return baseURL.String(), nil } diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/local/server.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/local/server.go index c6baf2094..1fb012fea 100644 --- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/local/server.go +++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/local/server.go @@ -24,6 +24,7 @@ var okPage = []byte(`

Authentication complete. You can return to the application. Feel free to close this browser tab.

+

For your security: Do not share the contents of this page, the address bar, or take screenshots.

`) @@ -42,6 +43,20 @@ const failPage = ` ` +const unsupportedResponseModePage = ` + + + + + Authentication Failed + + +

Authentication failed. The response was received via a GET operation, which is not supported.

+

You can return to the application. Feel free to close this browser tab.

+ + +` + // Result is the result from the redirect. type Result struct { // Code is the code sent by the authority server. @@ -138,11 +153,24 @@ func (s *Server) putResult(r Result) { } func (s *Server) handler(w http.ResponseWriter, r *http.Request) { - q := r.URL.Query() + // Only accept POST requests (form_post response mode) + // GET requests with query parameters are not supported for security reasons + if r.Method != http.MethodPost { + w.WriteHeader(http.StatusMethodNotAllowed) + _, _ = w.Write([]byte(unsupportedResponseModePage)) + s.putResult(Result{Err: fmt.Errorf("response was received via a GET operation, which is not supported")}) + return + } + + // For form_post response mode, parameters come in the POST body + if err := r.ParseForm(); err != nil { + s.error(w, http.StatusBadRequest, "failed to parse form data: %v", err) + return + } - headerErr := q.Get("error") + headerErr := r.PostFormValue("error") if headerErr != "" { - desc := html.EscapeString(q.Get("error_description")) + desc := html.EscapeString(r.PostFormValue("error_description")) escapedHeaderErr := html.EscapeString(headerErr) // Note: It is a little weird we handle some errors by not going to the failPage. If they all should, // change this to s.error() and make s.error() write the failPage instead of an error code. @@ -152,7 +180,7 @@ func (s *Server) handler(w http.ResponseWriter, r *http.Request) { return } - respState := q.Get("state") + respState := r.PostFormValue("state") switch respState { case s.reqState: case "": @@ -163,9 +191,9 @@ func (s *Server) handler(w http.ResponseWriter, r *http.Request) { return } - code := q.Get("code") + code := r.PostFormValue("code") if code == "" { - s.error(w, http.StatusInternalServerError, "authorization code missing in query string") + s.error(w, http.StatusInternalServerError, "authorization code missing in response") return } diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/shared/shared.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/shared/shared.go index d8ab71356..77376d6ff 100644 --- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/shared/shared.go +++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/shared/shared.go @@ -70,3 +70,29 @@ func (acc Account) IsZero() bool { // DefaultClient is our default shared HTTP client. var DefaultClient = &http.Client{} + +type Prompt int64 + +const ( + PromptNone Prompt = iota + PromptLogin + PromptSelectAccount + PromptConsent + PromptCreate +) + +func (p Prompt) String() string { + switch p { + case PromptNone: + return "none" + case PromptLogin: + return "login" + case PromptSelectAccount: + return "select_account" + case PromptConsent: + return "consent" + case PromptCreate: + return "create" + } + return "" +} diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/public/public.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/public/public.go index 797c086cb..97c615452 100644 --- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/public/public.go +++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/public/public.go @@ -149,7 +149,7 @@ func New(clientID string, options ...Option) (Client, error) { // authCodeURLOptions contains options for AuthCodeURL type authCodeURLOptions struct { - claims, loginHint, tenantID, domainHint string + claims, loginHint, tenantID, domainHint, prompt string } // AuthCodeURLOption is implemented by options for AuthCodeURL @@ -159,7 +159,7 @@ type AuthCodeURLOption interface { // AuthCodeURL creates a URL used to acquire an authorization code. // -// Options: [WithClaims], [WithDomainHint], [WithLoginHint], [WithTenantID] +// Options: [WithClaims], [WithDomainHint], [WithLoginHint], [WithTenantID], [WithPrompt] func (pca Client) AuthCodeURL(ctx context.Context, clientID, redirectURI string, scopes []string, opts ...AuthCodeURLOption) (string, error) { o := authCodeURLOptions{} if err := options.ApplyOptions(&o, opts); err != nil { @@ -172,6 +172,7 @@ func (pca Client) AuthCodeURL(ctx context.Context, clientID, redirectURI string, ap.Claims = o.claims ap.LoginHint = o.loginHint ap.DomainHint = o.domainHint + ap.Prompt = o.prompt return pca.base.AuthCodeURL(ctx, clientID, redirectURI, scopes, ap) } @@ -526,9 +527,9 @@ func (pca Client) RemoveAccount(ctx context.Context, account Account) error { // interactiveAuthOptions contains the optional parameters used to acquire an access token for interactive auth code flow. type interactiveAuthOptions struct { - claims, domainHint, loginHint, redirectURI, tenantID string - openURL func(url string) error - authnScheme AuthenticationScheme + claims, domainHint, loginHint, redirectURI, tenantID, prompt string + openURL func(url string) error + authnScheme AuthenticationScheme } // AcquireInteractiveOption is implemented by options for AcquireTokenInteractive @@ -590,6 +591,33 @@ func WithDomainHint(domain string) interface { } } +// WithPrompt adds the IdP prompt query parameter in the auth url. +func WithPrompt(prompt shared.Prompt) interface { + AcquireInteractiveOption + AuthCodeURLOption + options.CallOption +} { + return struct { + AcquireInteractiveOption + AuthCodeURLOption + options.CallOption + }{ + CallOption: options.NewCallOption( + func(a any) error { + switch t := a.(type) { + case *authCodeURLOptions: + t.prompt = prompt.String() + case *interactiveAuthOptions: + t.prompt = prompt.String() + default: + return fmt.Errorf("unexpected options type %T", a) + } + return nil + }, + ), + } +} + // WithRedirectURI sets a port for the local server used in interactive authentication, for // example http://localhost:port. All URI components other than the port are ignored. func WithRedirectURI(redirectURI string) interface { @@ -674,7 +702,11 @@ func (pca Client) AcquireTokenInteractive(ctx context.Context, scopes []string, authParams.LoginHint = o.loginHint authParams.DomainHint = o.domainHint authParams.State = uuid.New().String() - authParams.Prompt = "select_account" + if o.prompt != "" { + authParams.Prompt = o.prompt + } else { + authParams.Prompt = shared.PromptSelectAccount.String() + } if o.authnScheme != nil { authParams.AuthnScheme = o.authnScheme } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md index f183927cb..e659edf76 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md @@ -1,3 +1,12 @@ +# v1.294.0 (2026-03-05) + +* **Feature**: Added metadata field to CapacityAllocation. + +# v1.293.1 (2026-03-03) + +* **Dependency Update**: Bump minimum Go version to 1.24 +* **Dependency Update**: Updated to the latest SDK module versions + # v1.293.0 (2026-02-26) * **Feature**: Add c8id, m8id and hpc8a instance types. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/deserializers.go index a9b8f8e7e..17c35b3d3 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/deserializers.go @@ -78007,6 +78007,12 @@ func awsEc2query_deserializeDocumentCapacityAllocation(v **types.CapacityAllocat originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { + case strings.EqualFold("allocationMetadataList", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentCapacityAllocationMetadataList(&sv.AllocationMetadata, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("allocationType", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -78051,6 +78057,136 @@ func awsEc2query_deserializeDocumentCapacityAllocation(v **types.CapacityAllocat return nil } +func awsEc2query_deserializeDocumentCapacityAllocationMetadataEntry(v **types.CapacityAllocationMetadataEntry, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.CapacityAllocationMetadataEntry + if *v == nil { + sv = &types.CapacityAllocationMetadataEntry{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("key", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Key = ptr.String(xtv) + } + + case strings.EqualFold("value", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Value = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentCapacityAllocationMetadataList(v *[]types.CapacityAllocationMetadataEntry, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.CapacityAllocationMetadataEntry + if *v == nil { + sv = make([]types.CapacityAllocationMetadataEntry, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.CapacityAllocationMetadataEntry + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsEc2query_deserializeDocumentCapacityAllocationMetadataEntry(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentCapacityAllocationMetadataListUnwrapped(v *[]types.CapacityAllocationMetadataEntry, decoder smithyxml.NodeDecoder) error { + var sv []types.CapacityAllocationMetadataEntry + if *v == nil { + sv = make([]types.CapacityAllocationMetadataEntry, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.CapacityAllocationMetadataEntry + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsEc2query_deserializeDocumentCapacityAllocationMetadataEntry(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentCapacityAllocations(v *[]types.CapacityAllocation, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/generated.json b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/generated.json index 0b7cebf25..fe91ae53d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/generated.json +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/generated.json @@ -777,7 +777,6 @@ "internal/endpoints/endpoints.go", "internal/endpoints/endpoints_test.go", "options.go", - "protocol_test.go", "serializers.go", "snapshot_test.go", "sra_operation_order_test.go", @@ -785,7 +784,7 @@ "types/types.go", "validators.go" ], - "go": "1.23", + "go": "1.24", "module": "github.com/aws/aws-sdk-go-v2/service/ec2", "unstable": false } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go index 51b7a05ef..2fecab13b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go @@ -3,4 +3,4 @@ package ec2 // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.293.0" +const goModuleVersion = "1.294.0" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/options.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/options.go index 3c934b008..6bb1d113c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/options.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/options.go @@ -58,8 +58,7 @@ type Options struct { // the client option BaseEndpoint instead. EndpointResolver EndpointResolver - // Resolves the endpoint used for a particular service operation. This should be - // used over the deprecated EndpointResolver. + // Resolves the endpoint used for a particular service operation. EndpointResolverV2 EndpointResolverV2 // Signature Version 4 (SigV4) Signer diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/types.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/types.go index da8e43ec7..023936c7b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/types.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/types.go @@ -1363,6 +1363,10 @@ type CancelSpotFleetRequestsSuccessItem struct { // Information about instance capacity usage for a Capacity Reservation. type CapacityAllocation struct { + // Additional metadata associated with the capacity allocation. Each entry + // contains a key-value pair providing context about the allocation. + AllocationMetadata []CapacityAllocationMetadataEntry + // The usage type. used indicates that the instance capacity is in use by // instances that are running in the Capacity Reservation. AllocationType AllocationType @@ -1374,6 +1378,18 @@ type CapacityAllocation struct { noSmithyDocumentSerde } +// A key-value pair that provides additional metadata about a capacity allocation. +type CapacityAllocationMetadataEntry struct { + + // The key of the metadata entry. + Key *string + + // The value of the metadata entry. + Value *string + + noSmithyDocumentSerde +} + // Reserve powerful GPU instances on a future date to support your short duration // machine learning (ML) workloads. Instances that run inside a Capacity Block are // automatically placed close together inside [Amazon EC2 UltraClusters], for low-latency, petabit-scale, diff --git a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/handler.go b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/handler.go index 2f0b9e9e0..4c9083d79 100644 --- a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/handler.go +++ b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/handler.go @@ -28,7 +28,9 @@ func ForwardResponseStream(ctx context.Context, mux *ServeMux, marshaler Marshal } handleForwardResponseServerMetadata(w, mux, md) - w.Header().Set("Transfer-Encoding", "chunked") + if !mux.disableChunkedEncoding { + w.Header().Set("Transfer-Encoding", "chunked") + } if err := handleForwardResponseOptions(ctx, w, nil, opts); err != nil { HTTPError(ctx, mux, marshaler, w, req, err) return diff --git a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/mux.go b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/mux.go index 3eb161671..4e684c7de 100644 --- a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/mux.go +++ b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/mux.go @@ -73,6 +73,7 @@ type ServeMux struct { disablePathLengthFallback bool unescapingMode UnescapingMode writeContentLength bool + disableChunkedEncoding bool } // ServeMuxOption is an option that can be given to a ServeMux on construction. @@ -125,6 +126,16 @@ func WithMiddlewares(middlewares ...Middleware) ServeMuxOption { } } +// WithDisableChunkedEncoding disables the Transfer-Encoding: chunked header +// for streaming responses. This is useful for streaming implementations that use +// Content-Length, which is mutually exclusive with Transfer-Encoding:chunked. +// Note that this option will not automatically add Content-Length headers, so it should be used with caution. +func WithDisableChunkedEncoding() ServeMuxOption { + return func(mux *ServeMux) { + mux.disableChunkedEncoding = true + } +} + // SetQueryParameterParser sets the query parameter parser, used to populate message from query parameters. // Configuring this will mean the generated OpenAPI output is no longer correct, and it should be // done with careful consideration. diff --git a/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal/pulumiUtilities.go b/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal/pulumiUtilities.go index 216594139..a4e4a2dba 100644 --- a/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal/pulumiUtilities.go +++ b/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("1.56.0") + version := semver.MustParse("1.57.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := semver.MustParse("1.56.0") + version := semver.MustParse("1.57.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/pulumi-plugin.json index 102b1d263..2b66af81a 100644 --- a/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "aws-native", - "version": "1.56.0" + "version": "1.57.0" } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventConnection.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventConnection.go index 917296d9c..577c6c43d 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventConnection.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventConnection.go @@ -207,6 +207,58 @@ import ( // // ``` // +// ### OAuth Authorization With Connectivity Parameters +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := cloudwatch.NewEventConnection(ctx, "test", &cloudwatch.EventConnectionArgs{ +// Name: pulumi.String("private-api-connection"), +// Description: pulumi.String("A connection to a private API"), +// AuthorizationType: pulumi.String("OAUTH_CLIENT_CREDENTIALS"), +// AuthParameters: &cloudwatch.EventConnectionAuthParametersArgs{ +// ConnectivityParameters: &cloudwatch.EventConnectionAuthParametersConnectivityParametersArgs{ +// ResourceParameters: &cloudwatch.EventConnectionAuthParametersConnectivityParametersResourceParametersArgs{ +// ResourceConfigurationArn: pulumi.String("arn:aws:vpc-lattice:us-east-1:12345678910:resourceconfiguration/rcfg-12345678910"), +// }, +// }, +// Oauth: &cloudwatch.EventConnectionAuthParametersOauthArgs{ +// AuthorizationEndpoint: pulumi.String("https://private-api.example.com/auth"), +// HttpMethod: pulumi.String("POST"), +// ClientParameters: &cloudwatch.EventConnectionAuthParametersOauthClientParametersArgs{ +// ClientId: pulumi.String("1234567890"), +// ClientSecret: pulumi.String("Pass1234!"), +// }, +// OauthHttpParameters: &cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersArgs{ +// Bodies: cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersBodyArray{ +// &cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersBodyArgs{ +// Key: pulumi.String("grant_type"), +// Value: pulumi.String("client_credentials"), +// IsValueSecret: pulumi.Bool(false), +// }, +// }, +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ### CMK Encryption // // ```go diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/pulumiTypes.go index 07d52f197..6f00cbcb5 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/pulumiTypes.go @@ -487,6 +487,8 @@ type EventConnectionAuthParameters struct { ApiKey *EventConnectionAuthParametersApiKey `pulumi:"apiKey"` // Parameters used for BASIC authorization. A maximum of 1 are allowed. Conflicts with `apiKey` and `oauth`. Documented below. Basic *EventConnectionAuthParametersBasic `pulumi:"basic"` + // Parameters used for `oauth` with private API. Documented below. + ConnectivityParameters *EventConnectionAuthParametersConnectivityParameters `pulumi:"connectivityParameters"` // Invocation Http Parameters are additional credentials used to sign each Invocation of the ApiDestination created from this Connection. If the ApiDestination Rule Target has additional HttpParameters, the values will be merged together, with the Connection Invocation Http Parameters taking precedence. Secret values are stored and managed by AWS Secrets Manager. A maximum of 1 are allowed. Documented below. InvocationHttpParameters *EventConnectionAuthParametersInvocationHttpParameters `pulumi:"invocationHttpParameters"` // Parameters used for OAUTH_CLIENT_CREDENTIALS authorization. A maximum of 1 are allowed. Conflicts with `basic` and `apiKey`. Documented below. @@ -509,6 +511,8 @@ type EventConnectionAuthParametersArgs struct { ApiKey EventConnectionAuthParametersApiKeyPtrInput `pulumi:"apiKey"` // Parameters used for BASIC authorization. A maximum of 1 are allowed. Conflicts with `apiKey` and `oauth`. Documented below. Basic EventConnectionAuthParametersBasicPtrInput `pulumi:"basic"` + // Parameters used for `oauth` with private API. Documented below. + ConnectivityParameters EventConnectionAuthParametersConnectivityParametersPtrInput `pulumi:"connectivityParameters"` // Invocation Http Parameters are additional credentials used to sign each Invocation of the ApiDestination created from this Connection. If the ApiDestination Rule Target has additional HttpParameters, the values will be merged together, with the Connection Invocation Http Parameters taking precedence. Secret values are stored and managed by AWS Secrets Manager. A maximum of 1 are allowed. Documented below. InvocationHttpParameters EventConnectionAuthParametersInvocationHttpParametersPtrInput `pulumi:"invocationHttpParameters"` // Parameters used for OAUTH_CLIENT_CREDENTIALS authorization. A maximum of 1 are allowed. Conflicts with `basic` and `apiKey`. Documented below. @@ -602,6 +606,13 @@ func (o EventConnectionAuthParametersOutput) Basic() EventConnectionAuthParamete return o.ApplyT(func(v EventConnectionAuthParameters) *EventConnectionAuthParametersBasic { return v.Basic }).(EventConnectionAuthParametersBasicPtrOutput) } +// Parameters used for `oauth` with private API. Documented below. +func (o EventConnectionAuthParametersOutput) ConnectivityParameters() EventConnectionAuthParametersConnectivityParametersPtrOutput { + return o.ApplyT(func(v EventConnectionAuthParameters) *EventConnectionAuthParametersConnectivityParameters { + return v.ConnectivityParameters + }).(EventConnectionAuthParametersConnectivityParametersPtrOutput) +} + // Invocation Http Parameters are additional credentials used to sign each Invocation of the ApiDestination created from this Connection. If the ApiDestination Rule Target has additional HttpParameters, the values will be merged together, with the Connection Invocation Http Parameters taking precedence. Secret values are stored and managed by AWS Secrets Manager. A maximum of 1 are allowed. Documented below. func (o EventConnectionAuthParametersOutput) InvocationHttpParameters() EventConnectionAuthParametersInvocationHttpParametersPtrOutput { return o.ApplyT(func(v EventConnectionAuthParameters) *EventConnectionAuthParametersInvocationHttpParameters { @@ -658,6 +669,16 @@ func (o EventConnectionAuthParametersPtrOutput) Basic() EventConnectionAuthParam }).(EventConnectionAuthParametersBasicPtrOutput) } +// Parameters used for `oauth` with private API. Documented below. +func (o EventConnectionAuthParametersPtrOutput) ConnectivityParameters() EventConnectionAuthParametersConnectivityParametersPtrOutput { + return o.ApplyT(func(v *EventConnectionAuthParameters) *EventConnectionAuthParametersConnectivityParameters { + if v == nil { + return nil + } + return v.ConnectivityParameters + }).(EventConnectionAuthParametersConnectivityParametersPtrOutput) +} + // Invocation Http Parameters are additional credentials used to sign each Invocation of the ApiDestination created from this Connection. If the ApiDestination Rule Target has additional HttpParameters, the values will be merged together, with the Connection Invocation Http Parameters taking precedence. Secret values are stored and managed by AWS Secrets Manager. A maximum of 1 are allowed. Documented below. func (o EventConnectionAuthParametersPtrOutput) InvocationHttpParameters() EventConnectionAuthParametersInvocationHttpParametersPtrOutput { return o.ApplyT(func(v *EventConnectionAuthParameters) *EventConnectionAuthParametersInvocationHttpParameters { @@ -990,6 +1011,301 @@ func (o EventConnectionAuthParametersBasicPtrOutput) Username() pulumi.StringPtr }).(pulumi.StringPtrOutput) } +type EventConnectionAuthParametersConnectivityParameters struct { + // The parameters for EventBridge to use when invoking the authentication endpoint. Documented below. + ResourceParameters EventConnectionAuthParametersConnectivityParametersResourceParameters `pulumi:"resourceParameters"` +} + +// EventConnectionAuthParametersConnectivityParametersInput is an input type that accepts EventConnectionAuthParametersConnectivityParametersArgs and EventConnectionAuthParametersConnectivityParametersOutput values. +// You can construct a concrete instance of `EventConnectionAuthParametersConnectivityParametersInput` via: +// +// EventConnectionAuthParametersConnectivityParametersArgs{...} +type EventConnectionAuthParametersConnectivityParametersInput interface { + pulumi.Input + + ToEventConnectionAuthParametersConnectivityParametersOutput() EventConnectionAuthParametersConnectivityParametersOutput + ToEventConnectionAuthParametersConnectivityParametersOutputWithContext(context.Context) EventConnectionAuthParametersConnectivityParametersOutput +} + +type EventConnectionAuthParametersConnectivityParametersArgs struct { + // The parameters for EventBridge to use when invoking the authentication endpoint. Documented below. + ResourceParameters EventConnectionAuthParametersConnectivityParametersResourceParametersInput `pulumi:"resourceParameters"` +} + +func (EventConnectionAuthParametersConnectivityParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EventConnectionAuthParametersConnectivityParameters)(nil)).Elem() +} + +func (i EventConnectionAuthParametersConnectivityParametersArgs) ToEventConnectionAuthParametersConnectivityParametersOutput() EventConnectionAuthParametersConnectivityParametersOutput { + return i.ToEventConnectionAuthParametersConnectivityParametersOutputWithContext(context.Background()) +} + +func (i EventConnectionAuthParametersConnectivityParametersArgs) ToEventConnectionAuthParametersConnectivityParametersOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventConnectionAuthParametersConnectivityParametersOutput) +} + +func (i EventConnectionAuthParametersConnectivityParametersArgs) ToEventConnectionAuthParametersConnectivityParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersPtrOutput { + return i.ToEventConnectionAuthParametersConnectivityParametersPtrOutputWithContext(context.Background()) +} + +func (i EventConnectionAuthParametersConnectivityParametersArgs) ToEventConnectionAuthParametersConnectivityParametersPtrOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventConnectionAuthParametersConnectivityParametersOutput).ToEventConnectionAuthParametersConnectivityParametersPtrOutputWithContext(ctx) +} + +// EventConnectionAuthParametersConnectivityParametersPtrInput is an input type that accepts EventConnectionAuthParametersConnectivityParametersArgs, EventConnectionAuthParametersConnectivityParametersPtr and EventConnectionAuthParametersConnectivityParametersPtrOutput values. +// You can construct a concrete instance of `EventConnectionAuthParametersConnectivityParametersPtrInput` via: +// +// EventConnectionAuthParametersConnectivityParametersArgs{...} +// +// or: +// +// nil +type EventConnectionAuthParametersConnectivityParametersPtrInput interface { + pulumi.Input + + ToEventConnectionAuthParametersConnectivityParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersPtrOutput + ToEventConnectionAuthParametersConnectivityParametersPtrOutputWithContext(context.Context) EventConnectionAuthParametersConnectivityParametersPtrOutput +} + +type eventConnectionAuthParametersConnectivityParametersPtrType EventConnectionAuthParametersConnectivityParametersArgs + +func EventConnectionAuthParametersConnectivityParametersPtr(v *EventConnectionAuthParametersConnectivityParametersArgs) EventConnectionAuthParametersConnectivityParametersPtrInput { + return (*eventConnectionAuthParametersConnectivityParametersPtrType)(v) +} + +func (*eventConnectionAuthParametersConnectivityParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EventConnectionAuthParametersConnectivityParameters)(nil)).Elem() +} + +func (i *eventConnectionAuthParametersConnectivityParametersPtrType) ToEventConnectionAuthParametersConnectivityParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersPtrOutput { + return i.ToEventConnectionAuthParametersConnectivityParametersPtrOutputWithContext(context.Background()) +} + +func (i *eventConnectionAuthParametersConnectivityParametersPtrType) ToEventConnectionAuthParametersConnectivityParametersPtrOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventConnectionAuthParametersConnectivityParametersPtrOutput) +} + +type EventConnectionAuthParametersConnectivityParametersOutput struct{ *pulumi.OutputState } + +func (EventConnectionAuthParametersConnectivityParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EventConnectionAuthParametersConnectivityParameters)(nil)).Elem() +} + +func (o EventConnectionAuthParametersConnectivityParametersOutput) ToEventConnectionAuthParametersConnectivityParametersOutput() EventConnectionAuthParametersConnectivityParametersOutput { + return o +} + +func (o EventConnectionAuthParametersConnectivityParametersOutput) ToEventConnectionAuthParametersConnectivityParametersOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersOutput { + return o +} + +func (o EventConnectionAuthParametersConnectivityParametersOutput) ToEventConnectionAuthParametersConnectivityParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersPtrOutput { + return o.ToEventConnectionAuthParametersConnectivityParametersPtrOutputWithContext(context.Background()) +} + +func (o EventConnectionAuthParametersConnectivityParametersOutput) ToEventConnectionAuthParametersConnectivityParametersPtrOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EventConnectionAuthParametersConnectivityParameters) *EventConnectionAuthParametersConnectivityParameters { + return &v + }).(EventConnectionAuthParametersConnectivityParametersPtrOutput) +} + +// The parameters for EventBridge to use when invoking the authentication endpoint. Documented below. +func (o EventConnectionAuthParametersConnectivityParametersOutput) ResourceParameters() EventConnectionAuthParametersConnectivityParametersResourceParametersOutput { + return o.ApplyT(func(v EventConnectionAuthParametersConnectivityParameters) EventConnectionAuthParametersConnectivityParametersResourceParameters { + return v.ResourceParameters + }).(EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) +} + +type EventConnectionAuthParametersConnectivityParametersPtrOutput struct{ *pulumi.OutputState } + +func (EventConnectionAuthParametersConnectivityParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventConnectionAuthParametersConnectivityParameters)(nil)).Elem() +} + +func (o EventConnectionAuthParametersConnectivityParametersPtrOutput) ToEventConnectionAuthParametersConnectivityParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersPtrOutput { + return o +} + +func (o EventConnectionAuthParametersConnectivityParametersPtrOutput) ToEventConnectionAuthParametersConnectivityParametersPtrOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersPtrOutput { + return o +} + +func (o EventConnectionAuthParametersConnectivityParametersPtrOutput) Elem() EventConnectionAuthParametersConnectivityParametersOutput { + return o.ApplyT(func(v *EventConnectionAuthParametersConnectivityParameters) EventConnectionAuthParametersConnectivityParameters { + if v != nil { + return *v + } + var ret EventConnectionAuthParametersConnectivityParameters + return ret + }).(EventConnectionAuthParametersConnectivityParametersOutput) +} + +// The parameters for EventBridge to use when invoking the authentication endpoint. Documented below. +func (o EventConnectionAuthParametersConnectivityParametersPtrOutput) ResourceParameters() EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput { + return o.ApplyT(func(v *EventConnectionAuthParametersConnectivityParameters) *EventConnectionAuthParametersConnectivityParametersResourceParameters { + if v == nil { + return nil + } + return &v.ResourceParameters + }).(EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput) +} + +type EventConnectionAuthParametersConnectivityParametersResourceParameters struct { + ResourceAssociationArn *string `pulumi:"resourceAssociationArn"` + // ARN of the Amazon VPC Lattice resource configuration for the resource endpoint. + ResourceConfigurationArn string `pulumi:"resourceConfigurationArn"` +} + +// EventConnectionAuthParametersConnectivityParametersResourceParametersInput is an input type that accepts EventConnectionAuthParametersConnectivityParametersResourceParametersArgs and EventConnectionAuthParametersConnectivityParametersResourceParametersOutput values. +// You can construct a concrete instance of `EventConnectionAuthParametersConnectivityParametersResourceParametersInput` via: +// +// EventConnectionAuthParametersConnectivityParametersResourceParametersArgs{...} +type EventConnectionAuthParametersConnectivityParametersResourceParametersInput interface { + pulumi.Input + + ToEventConnectionAuthParametersConnectivityParametersResourceParametersOutput() EventConnectionAuthParametersConnectivityParametersResourceParametersOutput + ToEventConnectionAuthParametersConnectivityParametersResourceParametersOutputWithContext(context.Context) EventConnectionAuthParametersConnectivityParametersResourceParametersOutput +} + +type EventConnectionAuthParametersConnectivityParametersResourceParametersArgs struct { + ResourceAssociationArn pulumi.StringPtrInput `pulumi:"resourceAssociationArn"` + // ARN of the Amazon VPC Lattice resource configuration for the resource endpoint. + ResourceConfigurationArn pulumi.StringInput `pulumi:"resourceConfigurationArn"` +} + +func (EventConnectionAuthParametersConnectivityParametersResourceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EventConnectionAuthParametersConnectivityParametersResourceParameters)(nil)).Elem() +} + +func (i EventConnectionAuthParametersConnectivityParametersResourceParametersArgs) ToEventConnectionAuthParametersConnectivityParametersResourceParametersOutput() EventConnectionAuthParametersConnectivityParametersResourceParametersOutput { + return i.ToEventConnectionAuthParametersConnectivityParametersResourceParametersOutputWithContext(context.Background()) +} + +func (i EventConnectionAuthParametersConnectivityParametersResourceParametersArgs) ToEventConnectionAuthParametersConnectivityParametersResourceParametersOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersResourceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) +} + +func (i EventConnectionAuthParametersConnectivityParametersResourceParametersArgs) ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput { + return i.ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutputWithContext(context.Background()) +} + +func (i EventConnectionAuthParametersConnectivityParametersResourceParametersArgs) ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventConnectionAuthParametersConnectivityParametersResourceParametersOutput).ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutputWithContext(ctx) +} + +// EventConnectionAuthParametersConnectivityParametersResourceParametersPtrInput is an input type that accepts EventConnectionAuthParametersConnectivityParametersResourceParametersArgs, EventConnectionAuthParametersConnectivityParametersResourceParametersPtr and EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput values. +// You can construct a concrete instance of `EventConnectionAuthParametersConnectivityParametersResourceParametersPtrInput` via: +// +// EventConnectionAuthParametersConnectivityParametersResourceParametersArgs{...} +// +// or: +// +// nil +type EventConnectionAuthParametersConnectivityParametersResourceParametersPtrInput interface { + pulumi.Input + + ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput + ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutputWithContext(context.Context) EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput +} + +type eventConnectionAuthParametersConnectivityParametersResourceParametersPtrType EventConnectionAuthParametersConnectivityParametersResourceParametersArgs + +func EventConnectionAuthParametersConnectivityParametersResourceParametersPtr(v *EventConnectionAuthParametersConnectivityParametersResourceParametersArgs) EventConnectionAuthParametersConnectivityParametersResourceParametersPtrInput { + return (*eventConnectionAuthParametersConnectivityParametersResourceParametersPtrType)(v) +} + +func (*eventConnectionAuthParametersConnectivityParametersResourceParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EventConnectionAuthParametersConnectivityParametersResourceParameters)(nil)).Elem() +} + +func (i *eventConnectionAuthParametersConnectivityParametersResourceParametersPtrType) ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput { + return i.ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutputWithContext(context.Background()) +} + +func (i *eventConnectionAuthParametersConnectivityParametersResourceParametersPtrType) ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput) +} + +type EventConnectionAuthParametersConnectivityParametersResourceParametersOutput struct{ *pulumi.OutputState } + +func (EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EventConnectionAuthParametersConnectivityParametersResourceParameters)(nil)).Elem() +} + +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) ToEventConnectionAuthParametersConnectivityParametersResourceParametersOutput() EventConnectionAuthParametersConnectivityParametersResourceParametersOutput { + return o +} + +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) ToEventConnectionAuthParametersConnectivityParametersResourceParametersOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersResourceParametersOutput { + return o +} + +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput { + return o.ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutputWithContext(context.Background()) +} + +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EventConnectionAuthParametersConnectivityParametersResourceParameters) *EventConnectionAuthParametersConnectivityParametersResourceParameters { + return &v + }).(EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput) +} + +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) ResourceAssociationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v EventConnectionAuthParametersConnectivityParametersResourceParameters) *string { + return v.ResourceAssociationArn + }).(pulumi.StringPtrOutput) +} + +// ARN of the Amazon VPC Lattice resource configuration for the resource endpoint. +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) ResourceConfigurationArn() pulumi.StringOutput { + return o.ApplyT(func(v EventConnectionAuthParametersConnectivityParametersResourceParameters) string { + return v.ResourceConfigurationArn + }).(pulumi.StringOutput) +} + +type EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput struct{ *pulumi.OutputState } + +func (EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventConnectionAuthParametersConnectivityParametersResourceParameters)(nil)).Elem() +} + +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput) ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput() EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput { + return o +} + +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput) ToEventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutputWithContext(ctx context.Context) EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput { + return o +} + +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput) Elem() EventConnectionAuthParametersConnectivityParametersResourceParametersOutput { + return o.ApplyT(func(v *EventConnectionAuthParametersConnectivityParametersResourceParameters) EventConnectionAuthParametersConnectivityParametersResourceParameters { + if v != nil { + return *v + } + var ret EventConnectionAuthParametersConnectivityParametersResourceParameters + return ret + }).(EventConnectionAuthParametersConnectivityParametersResourceParametersOutput) +} + +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput) ResourceAssociationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EventConnectionAuthParametersConnectivityParametersResourceParameters) *string { + if v == nil { + return nil + } + return v.ResourceAssociationArn + }).(pulumi.StringPtrOutput) +} + +// ARN of the Amazon VPC Lattice resource configuration for the resource endpoint. +func (o EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput) ResourceConfigurationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EventConnectionAuthParametersConnectivityParametersResourceParameters) *string { + if v == nil { + return nil + } + return &v.ResourceConfigurationArn + }).(pulumi.StringPtrOutput) +} + type EventConnectionAuthParametersInvocationHttpParameters struct { // Contains additional body string parameters for the connection. You can include up to 100 additional body string parameters per request. Each additional parameter counts towards the event payload size, which cannot exceed 64 KB. Each parameter can contain the following: Bodies []EventConnectionAuthParametersInvocationHttpParametersBody `pulumi:"bodies"` @@ -14293,6 +14609,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersApiKeyPtrInput)(nil)).Elem(), EventConnectionAuthParametersApiKeyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersBasicInput)(nil)).Elem(), EventConnectionAuthParametersBasicArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersBasicPtrInput)(nil)).Elem(), EventConnectionAuthParametersBasicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersConnectivityParametersInput)(nil)).Elem(), EventConnectionAuthParametersConnectivityParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersConnectivityParametersPtrInput)(nil)).Elem(), EventConnectionAuthParametersConnectivityParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersConnectivityParametersResourceParametersInput)(nil)).Elem(), EventConnectionAuthParametersConnectivityParametersResourceParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersConnectivityParametersResourceParametersPtrInput)(nil)).Elem(), EventConnectionAuthParametersConnectivityParametersResourceParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersInvocationHttpParametersInput)(nil)).Elem(), EventConnectionAuthParametersInvocationHttpParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersInvocationHttpParametersPtrInput)(nil)).Elem(), EventConnectionAuthParametersInvocationHttpParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventConnectionAuthParametersInvocationHttpParametersBodyInput)(nil)).Elem(), EventConnectionAuthParametersInvocationHttpParametersBodyArgs{}) @@ -14496,6 +14816,10 @@ func init() { pulumi.RegisterOutputType(EventConnectionAuthParametersApiKeyPtrOutput{}) pulumi.RegisterOutputType(EventConnectionAuthParametersBasicOutput{}) pulumi.RegisterOutputType(EventConnectionAuthParametersBasicPtrOutput{}) + pulumi.RegisterOutputType(EventConnectionAuthParametersConnectivityParametersOutput{}) + pulumi.RegisterOutputType(EventConnectionAuthParametersConnectivityParametersPtrOutput{}) + pulumi.RegisterOutputType(EventConnectionAuthParametersConnectivityParametersResourceParametersOutput{}) + pulumi.RegisterOutputType(EventConnectionAuthParametersConnectivityParametersResourceParametersPtrOutput{}) pulumi.RegisterOutputType(EventConnectionAuthParametersInvocationHttpParametersOutput{}) pulumi.RegisterOutputType(EventConnectionAuthParametersInvocationHttpParametersPtrOutput{}) pulumi.RegisterOutputType(EventConnectionAuthParametersInvocationHttpParametersBodyOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/eipDomainName.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/eipDomainName.go index 0fdbcc511..974995485 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/eipDomainName.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/eipDomainName.go @@ -58,6 +58,14 @@ import ( // } // // ``` +// +// ## Import +// +// Using `pulumi import`, import a static reverse DNS record to an Elastic IP addresses using their association IDs. For example: +// +// ```sh +// $ pulumi import aws:ec2/eipDomainName:EipDomainName test eipassoc-ab12c345 +// ``` type EipDomainName struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/pulumiTypes.go index 6c767dbe1..da0fbef1c 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/pulumiTypes.go @@ -7551,6 +7551,8 @@ func (o ServicePlacementConstraintArrayOutput) Index(i pulumi.IntInput) ServiceP } type ServiceServiceConnectConfiguration struct { + // Configuration for Service Connect access logs. See below. + AccessLogConfiguration *ServiceServiceConnectConfigurationAccessLogConfiguration `pulumi:"accessLogConfiguration"` // Whether to use Service Connect with this service. Enabled bool `pulumi:"enabled"` // Log configuration for the container. See below. @@ -7573,6 +7575,8 @@ type ServiceServiceConnectConfigurationInput interface { } type ServiceServiceConnectConfigurationArgs struct { + // Configuration for Service Connect access logs. See below. + AccessLogConfiguration ServiceServiceConnectConfigurationAccessLogConfigurationPtrInput `pulumi:"accessLogConfiguration"` // Whether to use Service Connect with this service. Enabled pulumi.BoolInput `pulumi:"enabled"` // Log configuration for the container. See below. @@ -7660,6 +7664,13 @@ func (o ServiceServiceConnectConfigurationOutput) ToServiceServiceConnectConfigu }).(ServiceServiceConnectConfigurationPtrOutput) } +// Configuration for Service Connect access logs. See below. +func (o ServiceServiceConnectConfigurationOutput) AccessLogConfiguration() ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return o.ApplyT(func(v ServiceServiceConnectConfiguration) *ServiceServiceConnectConfigurationAccessLogConfiguration { + return v.AccessLogConfiguration + }).(ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) +} + // Whether to use Service Connect with this service. func (o ServiceServiceConnectConfigurationOutput) Enabled() pulumi.BoolOutput { return o.ApplyT(func(v ServiceServiceConnectConfiguration) bool { return v.Enabled }).(pulumi.BoolOutput) @@ -7708,6 +7719,16 @@ func (o ServiceServiceConnectConfigurationPtrOutput) Elem() ServiceServiceConnec }).(ServiceServiceConnectConfigurationOutput) } +// Configuration for Service Connect access logs. See below. +func (o ServiceServiceConnectConfigurationPtrOutput) AccessLogConfiguration() ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return o.ApplyT(func(v *ServiceServiceConnectConfiguration) *ServiceServiceConnectConfigurationAccessLogConfiguration { + if v == nil { + return nil + } + return v.AccessLogConfiguration + }).(ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) +} + // Whether to use Service Connect with this service. func (o ServiceServiceConnectConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ServiceServiceConnectConfiguration) *bool { @@ -7748,6 +7769,180 @@ func (o ServiceServiceConnectConfigurationPtrOutput) Services() ServiceServiceCo }).(ServiceServiceConnectConfigurationServiceArrayOutput) } +type ServiceServiceConnectConfigurationAccessLogConfiguration struct { + // The format for Service Connect access log output. Valid values: `TEXT`, `JSON`. See [AWS documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-envoy-access-logs.html) for format details. + Format string `pulumi:"format"` + // Specifies whether to include query parameters in Service Connect access logs. Valid values: `ENABLED`, `DISABLED`. Default: `DISABLED`. Query parameters may contain sensitive information. + // + // > **NOTE:** Access logs are delivered to the destination log group specified in the `logConfiguration` block. You must configure `logConfiguration` to enable access logs. + // + // > **SECURITY WARNING:** When `includeQueryParameters` is set to `ENABLED`, query parameters (which may contain sensitive data such as request IDs, tokens, or session identifiers) will be included in access logs. + IncludeQueryParameters *string `pulumi:"includeQueryParameters"` +} + +// ServiceServiceConnectConfigurationAccessLogConfigurationInput is an input type that accepts ServiceServiceConnectConfigurationAccessLogConfigurationArgs and ServiceServiceConnectConfigurationAccessLogConfigurationOutput values. +// You can construct a concrete instance of `ServiceServiceConnectConfigurationAccessLogConfigurationInput` via: +// +// ServiceServiceConnectConfigurationAccessLogConfigurationArgs{...} +type ServiceServiceConnectConfigurationAccessLogConfigurationInput interface { + pulumi.Input + + ToServiceServiceConnectConfigurationAccessLogConfigurationOutput() ServiceServiceConnectConfigurationAccessLogConfigurationOutput + ToServiceServiceConnectConfigurationAccessLogConfigurationOutputWithContext(context.Context) ServiceServiceConnectConfigurationAccessLogConfigurationOutput +} + +type ServiceServiceConnectConfigurationAccessLogConfigurationArgs struct { + // The format for Service Connect access log output. Valid values: `TEXT`, `JSON`. See [AWS documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-envoy-access-logs.html) for format details. + Format pulumi.StringInput `pulumi:"format"` + // Specifies whether to include query parameters in Service Connect access logs. Valid values: `ENABLED`, `DISABLED`. Default: `DISABLED`. Query parameters may contain sensitive information. + // + // > **NOTE:** Access logs are delivered to the destination log group specified in the `logConfiguration` block. You must configure `logConfiguration` to enable access logs. + // + // > **SECURITY WARNING:** When `includeQueryParameters` is set to `ENABLED`, query parameters (which may contain sensitive data such as request IDs, tokens, or session identifiers) will be included in access logs. + IncludeQueryParameters pulumi.StringPtrInput `pulumi:"includeQueryParameters"` +} + +func (ServiceServiceConnectConfigurationAccessLogConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceServiceConnectConfigurationAccessLogConfiguration)(nil)).Elem() +} + +func (i ServiceServiceConnectConfigurationAccessLogConfigurationArgs) ToServiceServiceConnectConfigurationAccessLogConfigurationOutput() ServiceServiceConnectConfigurationAccessLogConfigurationOutput { + return i.ToServiceServiceConnectConfigurationAccessLogConfigurationOutputWithContext(context.Background()) +} + +func (i ServiceServiceConnectConfigurationAccessLogConfigurationArgs) ToServiceServiceConnectConfigurationAccessLogConfigurationOutputWithContext(ctx context.Context) ServiceServiceConnectConfigurationAccessLogConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceServiceConnectConfigurationAccessLogConfigurationOutput) +} + +func (i ServiceServiceConnectConfigurationAccessLogConfigurationArgs) ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput() ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return i.ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutputWithContext(context.Background()) +} + +func (i ServiceServiceConnectConfigurationAccessLogConfigurationArgs) ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutputWithContext(ctx context.Context) ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceServiceConnectConfigurationAccessLogConfigurationOutput).ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutputWithContext(ctx) +} + +// ServiceServiceConnectConfigurationAccessLogConfigurationPtrInput is an input type that accepts ServiceServiceConnectConfigurationAccessLogConfigurationArgs, ServiceServiceConnectConfigurationAccessLogConfigurationPtr and ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput values. +// You can construct a concrete instance of `ServiceServiceConnectConfigurationAccessLogConfigurationPtrInput` via: +// +// ServiceServiceConnectConfigurationAccessLogConfigurationArgs{...} +// +// or: +// +// nil +type ServiceServiceConnectConfigurationAccessLogConfigurationPtrInput interface { + pulumi.Input + + ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput() ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput + ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutputWithContext(context.Context) ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput +} + +type serviceServiceConnectConfigurationAccessLogConfigurationPtrType ServiceServiceConnectConfigurationAccessLogConfigurationArgs + +func ServiceServiceConnectConfigurationAccessLogConfigurationPtr(v *ServiceServiceConnectConfigurationAccessLogConfigurationArgs) ServiceServiceConnectConfigurationAccessLogConfigurationPtrInput { + return (*serviceServiceConnectConfigurationAccessLogConfigurationPtrType)(v) +} + +func (*serviceServiceConnectConfigurationAccessLogConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceServiceConnectConfigurationAccessLogConfiguration)(nil)).Elem() +} + +func (i *serviceServiceConnectConfigurationAccessLogConfigurationPtrType) ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput() ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return i.ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *serviceServiceConnectConfigurationAccessLogConfigurationPtrType) ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutputWithContext(ctx context.Context) ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) +} + +type ServiceServiceConnectConfigurationAccessLogConfigurationOutput struct{ *pulumi.OutputState } + +func (ServiceServiceConnectConfigurationAccessLogConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceServiceConnectConfigurationAccessLogConfiguration)(nil)).Elem() +} + +func (o ServiceServiceConnectConfigurationAccessLogConfigurationOutput) ToServiceServiceConnectConfigurationAccessLogConfigurationOutput() ServiceServiceConnectConfigurationAccessLogConfigurationOutput { + return o +} + +func (o ServiceServiceConnectConfigurationAccessLogConfigurationOutput) ToServiceServiceConnectConfigurationAccessLogConfigurationOutputWithContext(ctx context.Context) ServiceServiceConnectConfigurationAccessLogConfigurationOutput { + return o +} + +func (o ServiceServiceConnectConfigurationAccessLogConfigurationOutput) ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput() ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return o.ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutputWithContext(context.Background()) +} + +func (o ServiceServiceConnectConfigurationAccessLogConfigurationOutput) ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutputWithContext(ctx context.Context) ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceServiceConnectConfigurationAccessLogConfiguration) *ServiceServiceConnectConfigurationAccessLogConfiguration { + return &v + }).(ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) +} + +// The format for Service Connect access log output. Valid values: `TEXT`, `JSON`. See [AWS documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-envoy-access-logs.html) for format details. +func (o ServiceServiceConnectConfigurationAccessLogConfigurationOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v ServiceServiceConnectConfigurationAccessLogConfiguration) string { return v.Format }).(pulumi.StringOutput) +} + +// Specifies whether to include query parameters in Service Connect access logs. Valid values: `ENABLED`, `DISABLED`. Default: `DISABLED`. Query parameters may contain sensitive information. +// +// > **NOTE:** Access logs are delivered to the destination log group specified in the `logConfiguration` block. You must configure `logConfiguration` to enable access logs. +// +// > **SECURITY WARNING:** When `includeQueryParameters` is set to `ENABLED`, query parameters (which may contain sensitive data such as request IDs, tokens, or session identifiers) will be included in access logs. +func (o ServiceServiceConnectConfigurationAccessLogConfigurationOutput) IncludeQueryParameters() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceServiceConnectConfigurationAccessLogConfiguration) *string { + return v.IncludeQueryParameters + }).(pulumi.StringPtrOutput) +} + +type ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceServiceConnectConfigurationAccessLogConfiguration)(nil)).Elem() +} + +func (o ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput() ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return o +} + +func (o ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) ToServiceServiceConnectConfigurationAccessLogConfigurationPtrOutputWithContext(ctx context.Context) ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput { + return o +} + +func (o ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) Elem() ServiceServiceConnectConfigurationAccessLogConfigurationOutput { + return o.ApplyT(func(v *ServiceServiceConnectConfigurationAccessLogConfiguration) ServiceServiceConnectConfigurationAccessLogConfiguration { + if v != nil { + return *v + } + var ret ServiceServiceConnectConfigurationAccessLogConfiguration + return ret + }).(ServiceServiceConnectConfigurationAccessLogConfigurationOutput) +} + +// The format for Service Connect access log output. Valid values: `TEXT`, `JSON`. See [AWS documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-envoy-access-logs.html) for format details. +func (o ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) Format() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServiceServiceConnectConfigurationAccessLogConfiguration) *string { + if v == nil { + return nil + } + return &v.Format + }).(pulumi.StringPtrOutput) +} + +// Specifies whether to include query parameters in Service Connect access logs. Valid values: `ENABLED`, `DISABLED`. Default: `DISABLED`. Query parameters may contain sensitive information. +// +// > **NOTE:** Access logs are delivered to the destination log group specified in the `logConfiguration` block. You must configure `logConfiguration` to enable access logs. +// +// > **SECURITY WARNING:** When `includeQueryParameters` is set to `ENABLED`, query parameters (which may contain sensitive data such as request IDs, tokens, or session identifiers) will be included in access logs. +func (o ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput) IncludeQueryParameters() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServiceServiceConnectConfigurationAccessLogConfiguration) *string { + if v == nil { + return nil + } + return v.IncludeQueryParameters + }).(pulumi.StringPtrOutput) +} + type ServiceServiceConnectConfigurationLogConfiguration struct { // Log driver to use for the container. LogDriver string `pulumi:"logDriver"` @@ -17166,6 +17361,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServicePlacementConstraintArrayInput)(nil)).Elem(), ServicePlacementConstraintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceServiceConnectConfigurationInput)(nil)).Elem(), ServiceServiceConnectConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceServiceConnectConfigurationPtrInput)(nil)).Elem(), ServiceServiceConnectConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceServiceConnectConfigurationAccessLogConfigurationInput)(nil)).Elem(), ServiceServiceConnectConfigurationAccessLogConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceServiceConnectConfigurationAccessLogConfigurationPtrInput)(nil)).Elem(), ServiceServiceConnectConfigurationAccessLogConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceServiceConnectConfigurationLogConfigurationInput)(nil)).Elem(), ServiceServiceConnectConfigurationLogConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceServiceConnectConfigurationLogConfigurationPtrInput)(nil)).Elem(), ServiceServiceConnectConfigurationLogConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceServiceConnectConfigurationLogConfigurationSecretOptionInput)(nil)).Elem(), ServiceServiceConnectConfigurationLogConfigurationSecretOptionArgs{}) @@ -17394,6 +17591,8 @@ func init() { pulumi.RegisterOutputType(ServicePlacementConstraintArrayOutput{}) pulumi.RegisterOutputType(ServiceServiceConnectConfigurationOutput{}) pulumi.RegisterOutputType(ServiceServiceConnectConfigurationPtrOutput{}) + pulumi.RegisterOutputType(ServiceServiceConnectConfigurationAccessLogConfigurationOutput{}) + pulumi.RegisterOutputType(ServiceServiceConnectConfigurationAccessLogConfigurationPtrOutput{}) pulumi.RegisterOutputType(ServiceServiceConnectConfigurationLogConfigurationOutput{}) pulumi.RegisterOutputType(ServiceServiceConnectConfigurationLogConfigurationPtrOutput{}) pulumi.RegisterOutputType(ServiceServiceConnectConfigurationLogConfigurationSecretOptionOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/service.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/service.go index 80bab8e47..e023b098f 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/service.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/service.go @@ -322,8 +322,87 @@ import ( // // ``` // +// ### Service Connect with Access Logs +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch" +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleLogGroup, err := cloudwatch.NewLogGroup(ctx, "example", &cloudwatch.LogGroupArgs{ +// Name: pulumi.String("/ecs/example/service-connect"), +// }) +// if err != nil { +// return err +// } +// current, err := aws.GetRegion(ctx, &aws.GetRegionArgs{}, nil) +// if err != nil { +// return err +// } +// _, err = ecs.NewService(ctx, "example", &ecs.ServiceArgs{ +// Name: pulumi.String("example"), +// Cluster: pulumi.Any(exampleAwsEcsCluster.Id), +// TaskDefinition: pulumi.Any(exampleAwsEcsTaskDefinition.Arn), +// DesiredCount: pulumi.Int(1), +// ServiceConnectConfiguration: &ecs.ServiceServiceConnectConfigurationArgs{ +// Enabled: pulumi.Bool(true), +// Namespace: pulumi.Any(exampleAwsServiceDiscoveryHttpNamespace.Arn), +// LogConfiguration: &ecs.ServiceServiceConnectConfigurationLogConfigurationArgs{ +// LogDriver: pulumi.String("awslogs"), +// Options: pulumi.StringMap{ +// "awslogs-group": exampleLogGroup.Name, +// "awslogs-region": pulumi.String(current.Name), +// "awslogs-stream-prefix": pulumi.String("service-connect"), +// }, +// }, +// AccessLogConfiguration: &ecs.ServiceServiceConnectConfigurationAccessLogConfigurationArgs{ +// Format: pulumi.String("TEXT"), +// IncludeQueryParameters: pulumi.String("ENABLED"), +// }, +// Services: ecs.ServiceServiceConnectConfigurationServiceArray{ +// &ecs.ServiceServiceConnectConfigurationServiceArgs{ +// PortName: pulumi.String("http"), +// DiscoveryName: pulumi.String("example"), +// ClientAlias: ecs.ServiceServiceConnectConfigurationServiceClientAliasArray{ +// DnsName: "example", +// Port: 8080, +// }, +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // +// ### Identity Schema +// +// #### Required +// +// * `cluster` (String) The name of the cluster. +// * `name` (String) The name of the service. +// +// #### Optional +// +// * `accountId` (String) AWS Account where this resource is managed. +// * `region` (String) Region where this resource is managed. +// // Using `pulumi import`, import ECS services using the `name` together with ecs cluster `name`. For example: // // ```sh diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal/pulumiUtilities.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal/pulumiUtilities.go index 2091a496b..99a509eee 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal/pulumiUtilities.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("7.20.0") + version := semver.MustParse("7.21.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := semver.MustParse("7.20.0") + version := semver.MustParse("7.21.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/targetGroupAttachment.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/targetGroupAttachment.go index 4c3c969ac..2adf29d81 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/targetGroupAttachment.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/targetGroupAttachment.go @@ -150,7 +150,25 @@ import ( // // ## Import // -// You cannot import Target Group Attachments. +// ### Identity Schema +// +// #### Required +// +// * `targetGroupArn` - (String) ARN of the target group. +// * `targetId` - (String) ID of the target (instance ID, IP address, Lambda ARN, or ALB ARN). +// +// #### Optional +// +// * `port` - (Number) Port on which targets receive traffic. +// * `availabilityZone` - (String) Availability zone where the target is registered. +// * `accountId` - (String) AWS Account where this resource is managed. +// * `region` - (String) Region where this resource is managed. +// +// Using `pulumi import`, import Target Group Attachments using the same format. For example: +// +// ```sh +// $ pulumi import aws:lb/targetGroupAttachment:TargetGroupAttachment example arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-tg/abc123,i-0123456789abcdef0,8080 +// ``` type TargetGroupAttachment struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumi-plugin.json index 90efe373b..90c2c2494 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "aws", - "version": "7.20.0" + "version": "7.21.0" } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLifecycleConfiguration.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLifecycleConfiguration.go index ce23dd596..18833b2eb 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLifecycleConfiguration.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLifecycleConfiguration.go @@ -47,7 +47,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -81,7 +81,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -116,7 +116,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -151,7 +151,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -195,7 +195,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -235,7 +235,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -277,7 +277,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -320,7 +320,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("Allow small object transitions"), @@ -363,7 +363,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -408,14 +408,14 @@ import ( // return err // } // _, err = s3.NewBucketAcl(ctx, "bucket_acl", &s3.BucketAclArgs{ -// Bucket: bucket.ID(), +// Bucket: bucket.Bucket, // Acl: pulumi.String("private"), // }) // if err != nil { // return err // } // _, err = s3.NewBucketLifecycleConfiguration(ctx, "bucket-config", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: bucket.ID(), +// Bucket: bucket.Bucket, // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("log"), @@ -465,14 +465,14 @@ import ( // return err // } // _, err = s3.NewBucketAcl(ctx, "versioning_bucket_acl", &s3.BucketAclArgs{ -// Bucket: versioningBucket.ID(), +// Bucket: versioningBucket.Bucket, // Acl: pulumi.String("private"), // }) // if err != nil { // return err // } // versioning, err := s3.NewBucketVersioning(ctx, "versioning", &s3.BucketVersioningArgs{ -// Bucket: versioningBucket.ID(), +// Bucket: versioningBucket.Bucket, // VersioningConfiguration: &s3.BucketVersioningVersioningConfigurationArgs{ // Status: pulumi.String("Enabled"), // }, @@ -481,7 +481,7 @@ import ( // return err // } // _, err = s3.NewBucketLifecycleConfiguration(ctx, "versioning-bucket-config", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: versioningBucket.ID(), +// Bucket: versioningBucket.Bucket, // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("config"), @@ -518,6 +518,17 @@ import ( // // ## Import // +// ### Identity Schema +// +// #### Required +// +// * `bucket` (String) S3 bucket name. +// +// #### Optional +// +// * `accountId` (String) AWS Account where this resource is managed. +// * `region` (String) Region where this resource is managed. +// // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expectedBucketOwner` separated by a comma (`,`): // // Using `pulumi import`, import an S3 bucket lifecycle configuration using the `bucket` or the `bucket` and `expectedBucketOwner` separated by a comma (`,`). For example: diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLifecycleConfigurationV2.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLifecycleConfigurationV2.go index 0b09c4afa..34bde0433 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLifecycleConfigurationV2.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLifecycleConfigurationV2.go @@ -47,7 +47,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -81,7 +81,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -116,7 +116,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -151,7 +151,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -195,7 +195,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -235,7 +235,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -277,7 +277,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -320,7 +320,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("Allow small object transitions"), @@ -363,7 +363,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: pulumi.Any(bucket.Id), +// Bucket: pulumi.Any(bucket.Bucket), // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("rule-1"), @@ -408,14 +408,14 @@ import ( // return err // } // _, err = s3.NewBucketAcl(ctx, "bucket_acl", &s3.BucketAclArgs{ -// Bucket: bucket.ID(), +// Bucket: bucket.Bucket, // Acl: pulumi.String("private"), // }) // if err != nil { // return err // } // _, err = s3.NewBucketLifecycleConfiguration(ctx, "bucket-config", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: bucket.ID(), +// Bucket: bucket.Bucket, // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("log"), @@ -465,14 +465,14 @@ import ( // return err // } // _, err = s3.NewBucketAcl(ctx, "versioning_bucket_acl", &s3.BucketAclArgs{ -// Bucket: versioningBucket.ID(), +// Bucket: versioningBucket.Bucket, // Acl: pulumi.String("private"), // }) // if err != nil { // return err // } // versioning, err := s3.NewBucketVersioning(ctx, "versioning", &s3.BucketVersioningArgs{ -// Bucket: versioningBucket.ID(), +// Bucket: versioningBucket.Bucket, // VersioningConfiguration: &s3.BucketVersioningVersioningConfigurationArgs{ // Status: pulumi.String("Enabled"), // }, @@ -481,7 +481,7 @@ import ( // return err // } // _, err = s3.NewBucketLifecycleConfiguration(ctx, "versioning-bucket-config", &s3.BucketLifecycleConfigurationArgs{ -// Bucket: versioningBucket.ID(), +// Bucket: versioningBucket.Bucket, // Rules: s3.BucketLifecycleConfigurationRuleArray{ // &s3.BucketLifecycleConfigurationRuleArgs{ // Id: pulumi.String("config"), @@ -518,6 +518,17 @@ import ( // // ## Import // +// ### Identity Schema +// +// #### Required +// +// * `bucket` (String) S3 bucket name. +// +// #### Optional +// +// * `accountId` (String) AWS Account where this resource is managed. +// * `region` (String) Region where this resource is managed. +// // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expectedBucketOwner` separated by a comma (`,`): // // Using `pulumi import`, import an S3 bucket lifecycle configuration using the `bucket` or the `bucket` and `expectedBucketOwner` separated by a comma (`,`). For example: diff --git a/vendor/github.com/pulumi/pulumi-awsx/sdk/v3/go/awsx/internal/pulumiUtilities.go b/vendor/github.com/pulumi/pulumi-awsx/sdk/v3/go/awsx/internal/pulumiUtilities.go index b28573e9d..46411424d 100644 --- a/vendor/github.com/pulumi/pulumi-awsx/sdk/v3/go/awsx/internal/pulumiUtilities.go +++ b/vendor/github.com/pulumi/pulumi-awsx/sdk/v3/go/awsx/internal/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("3.2.1") + version := semver.MustParse("3.3.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := semver.MustParse("3.2.1") + version := semver.MustParse("3.3.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyAssignment.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyAssignment.go index 0743983a1..10def9b53 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyAssignment.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyAssignment.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2022-06-01, 2023-04-01, 2024-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2022-06-01, 2023-04-01, 2024-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicyAssignment(ctx *pulumi.Context, args *LookupPolicyAssignmentArgs, opts ...pulumi.InvokeOption) (*LookupPolicyAssignmentResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicyAssignmentResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinition.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinition.go index 8ba0226b4..d569fe511 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinition.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinition.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicyDefinition(ctx *pulumi.Context, args *LookupPolicyDefinitionArgs, opts ...pulumi.InvokeOption) (*LookupPolicyDefinitionResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicyDefinitionResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionAtManagementGroup.go index cc085df79..8fc416ba6 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionAtManagementGroup.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicyDefinitionAtManagementGroup(ctx *pulumi.Context, args *LookupPolicyDefinitionAtManagementGroupArgs, opts ...pulumi.InvokeOption) (*LookupPolicyDefinitionAtManagementGroupResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicyDefinitionAtManagementGroupResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionVersion.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionVersion.go index f2dc52315..48013b705 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionVersion.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionVersion.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicyDefinitionVersion(ctx *pulumi.Context, args *LookupPolicyDefinitionVersionArgs, opts ...pulumi.InvokeOption) (*LookupPolicyDefinitionVersionResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicyDefinitionVersionResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionVersionAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionVersionAtManagementGroup.go index ccc038216..b5291c1bf 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionVersionAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyDefinitionVersionAtManagementGroup.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicyDefinitionVersionAtManagementGroup(ctx *pulumi.Context, args *LookupPolicyDefinitionVersionAtManagementGroupArgs, opts ...pulumi.InvokeOption) (*LookupPolicyDefinitionVersionAtManagementGroupResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicyDefinitionVersionAtManagementGroupResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyExemption.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyExemption.go index 1867fd9f0..b25c55920 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyExemption.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicyExemption.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2022-07-01-preview. // -// Other available API versions: 2020-07-01-preview, 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-07-01-preview, 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicyExemption(ctx *pulumi.Context, args *LookupPolicyExemptionArgs, opts ...pulumi.InvokeOption) (*LookupPolicyExemptionResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicyExemptionResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinition.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinition.go index 53657d679..9c03c2009 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinition.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinition.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicySetDefinition(ctx *pulumi.Context, args *LookupPolicySetDefinitionArgs, opts ...pulumi.InvokeOption) (*LookupPolicySetDefinitionResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicySetDefinitionResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionAtManagementGroup.go index 41ad02ab8..7a4bd57a6 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionAtManagementGroup.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicySetDefinitionAtManagementGroup(ctx *pulumi.Context, args *LookupPolicySetDefinitionAtManagementGroupArgs, opts ...pulumi.InvokeOption) (*LookupPolicySetDefinitionAtManagementGroupResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicySetDefinitionAtManagementGroupResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionVersion.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionVersion.go index 6c0aa92c8..cc186058d 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionVersion.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionVersion.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicySetDefinitionVersion(ctx *pulumi.Context, args *LookupPolicySetDefinitionVersionArgs, opts ...pulumi.InvokeOption) (*LookupPolicySetDefinitionVersionResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicySetDefinitionVersionResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionVersionAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionVersionAtManagementGroup.go index c8aa44c4f..c7db74176 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionVersionAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getPolicySetDefinitionVersionAtManagementGroup.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupPolicySetDefinitionVersionAtManagementGroup(ctx *pulumi.Context, args *LookupPolicySetDefinitionVersionAtManagementGroupArgs, opts ...pulumi.InvokeOption) (*LookupPolicySetDefinitionVersionAtManagementGroupResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupPolicySetDefinitionVersionAtManagementGroupResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariable.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariable.go index 4c72cf7f7..d31a539b9 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariable.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariable.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2022-08-01-preview. // -// Other available API versions: 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupVariable(ctx *pulumi.Context, args *LookupVariableArgs, opts ...pulumi.InvokeOption) (*LookupVariableResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupVariableResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableAtManagementGroup.go index 990246420..49cd514d5 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableAtManagementGroup.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2022-08-01-preview. // -// Other available API versions: 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupVariableAtManagementGroup(ctx *pulumi.Context, args *LookupVariableAtManagementGroupArgs, opts ...pulumi.InvokeOption) (*LookupVariableAtManagementGroupResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupVariableAtManagementGroupResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableValue.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableValue.go index b45a4ae0c..a6f7e8abc 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableValue.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableValue.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2022-08-01-preview. // -// Other available API versions: 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupVariableValue(ctx *pulumi.Context, args *LookupVariableValueArgs, opts ...pulumi.InvokeOption) (*LookupVariableValueResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupVariableValueResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableValueAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableValueAtManagementGroup.go index a87fa4eda..d7b7525de 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableValueAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/getVariableValueAtManagementGroup.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2022-08-01-preview. // -// Other available API versions: 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupVariableValueAtManagementGroup(ctx *pulumi.Context, args *LookupVariableValueAtManagementGroupArgs, opts ...pulumi.InvokeOption) (*LookupVariableValueAtManagementGroupResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupVariableValueAtManagementGroupResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAll.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAll.go index 22efef0aa..cb9463b29 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAll.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAll.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func ListPolicyDefinitionVersionAll(ctx *pulumi.Context, args *ListPolicyDefinitionVersionAllArgs, opts ...pulumi.InvokeOption) (*ListPolicyDefinitionVersionAllResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv ListPolicyDefinitionVersionAllResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAllAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAllAtManagementGroup.go index f71e6c427..0a2de492b 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAllAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAllAtManagementGroup.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func ListPolicyDefinitionVersionAllAtManagementGroup(ctx *pulumi.Context, args *ListPolicyDefinitionVersionAllAtManagementGroupArgs, opts ...pulumi.InvokeOption) (*ListPolicyDefinitionVersionAllAtManagementGroupResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv ListPolicyDefinitionVersionAllAtManagementGroupResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAllBuiltins.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAllBuiltins.go index d6b500f0d..fb5b203cf 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAllBuiltins.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicyDefinitionVersionAllBuiltins.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func ListPolicyDefinitionVersionAllBuiltins(ctx *pulumi.Context, args *ListPolicyDefinitionVersionAllBuiltinsArgs, opts ...pulumi.InvokeOption) (*ListPolicyDefinitionVersionAllBuiltinsResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv ListPolicyDefinitionVersionAllBuiltinsResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAll.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAll.go index 4140abbea..9cf2467d0 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAll.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAll.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func ListPolicySetDefinitionVersionAll(ctx *pulumi.Context, args *ListPolicySetDefinitionVersionAllArgs, opts ...pulumi.InvokeOption) (*ListPolicySetDefinitionVersionAllResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv ListPolicySetDefinitionVersionAllResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAllAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAllAtManagementGroup.go index a0f68958d..72197149d 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAllAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAllAtManagementGroup.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func ListPolicySetDefinitionVersionAllAtManagementGroup(ctx *pulumi.Context, args *ListPolicySetDefinitionVersionAllAtManagementGroupArgs, opts ...pulumi.InvokeOption) (*ListPolicySetDefinitionVersionAllAtManagementGroupResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv ListPolicySetDefinitionVersionAllAtManagementGroupResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAllBuiltins.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAllBuiltins.go index 3d0a46bb0..86ee18e59 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAllBuiltins.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listPolicySetDefinitionVersionAllBuiltins.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func ListPolicySetDefinitionVersionAllBuiltins(ctx *pulumi.Context, args *ListPolicySetDefinitionVersionAllBuiltinsArgs, opts ...pulumi.InvokeOption) (*ListPolicySetDefinitionVersionAllBuiltinsResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv ListPolicySetDefinitionVersionAllBuiltinsResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listSubscriptions.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listSubscriptions.go new file mode 100644 index 000000000..cf02b35f9 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/listSubscriptions.go @@ -0,0 +1,83 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package authorization + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-azure-native-sdk/v3/utilities" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this function to list all subscriptions for the authenticated account. See https://learn.microsoft.com/en-us/rest/api/resources/subscriptions/list for details. +func ListSubscriptions(ctx *pulumi.Context, args *ListSubscriptionsArgs, opts ...pulumi.InvokeOption) (*ListSubscriptionsResult, error) { + opts = utilities.PkgInvokeDefaultOpts(opts) + var rv ListSubscriptionsResult + err := ctx.Invoke("azure-native:authorization:listSubscriptions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type ListSubscriptionsArgs struct { + // The API version to use for the request. Defaults to '2022-12-01'. + ApiVersion *string `pulumi:"apiVersion"` +} + +// Subscription list operation response. +type ListSubscriptionsResult struct { + // The URL to get the next set of results. + NextLink *string `pulumi:"nextLink"` + // An array of subscriptions. + Value []SubscriptionResponse `pulumi:"value"` +} + +func ListSubscriptionsOutput(ctx *pulumi.Context, args ListSubscriptionsOutputArgs, opts ...pulumi.InvokeOption) ListSubscriptionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (ListSubscriptionsResultOutput, error) { + args := v.(ListSubscriptionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: utilities.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("azure-native:authorization:listSubscriptions", args, ListSubscriptionsResultOutput{}, options).(ListSubscriptionsResultOutput), nil + }).(ListSubscriptionsResultOutput) +} + +type ListSubscriptionsOutputArgs struct { + // The API version to use for the request. Defaults to '2022-12-01'. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` +} + +func (ListSubscriptionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ListSubscriptionsArgs)(nil)).Elem() +} + +// Subscription list operation response. +type ListSubscriptionsResultOutput struct{ *pulumi.OutputState } + +func (ListSubscriptionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ListSubscriptionsResult)(nil)).Elem() +} + +func (o ListSubscriptionsResultOutput) ToListSubscriptionsResultOutput() ListSubscriptionsResultOutput { + return o +} + +func (o ListSubscriptionsResultOutput) ToListSubscriptionsResultOutputWithContext(ctx context.Context) ListSubscriptionsResultOutput { + return o +} + +// The URL to get the next set of results. +func (o ListSubscriptionsResultOutput) NextLink() pulumi.StringPtrOutput { + return o.ApplyT(func(v ListSubscriptionsResult) *string { return v.NextLink }).(pulumi.StringPtrOutput) +} + +// An array of subscriptions. +func (o ListSubscriptionsResultOutput) Value() SubscriptionResponseArrayOutput { + return o.ApplyT(func(v ListSubscriptionsResult) []SubscriptionResponse { return v.Value }).(SubscriptionResponseArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(ListSubscriptionsResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyAssignment.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyAssignment.go index 3e21de796..e6c531942 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyAssignment.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyAssignment.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2022-06-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2022-06-01, 2023-04-01, 2024-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2022-06-01, 2023-04-01, 2024-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicyAssignment struct { pulumi.CustomResourceState @@ -134,6 +134,12 @@ func NewPolicyAssignment(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20250301:PolicyAssignment"), }, + { + Type: pulumi.String("azure-native:authorization/v20251101:PolicyAssignment"), + }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicyAssignment"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinition.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinition.go index c0e6f4a06..f69cc5dc5 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinition.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinition.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2021-06-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicyDefinition struct { pulumi.CustomResourceState @@ -103,6 +103,12 @@ func NewPolicyDefinition(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20250301:PolicyDefinition"), }, + { + Type: pulumi.String("azure-native:authorization/v20251101:PolicyDefinition"), + }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicyDefinition"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionAtManagementGroup.go index 45466bf11..e0ba74841 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionAtManagementGroup.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2021-06-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicyDefinitionAtManagementGroup struct { pulumi.CustomResourceState @@ -101,6 +101,12 @@ func NewPolicyDefinitionAtManagementGroup(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20250301:PolicyDefinitionAtManagementGroup"), }, + { + Type: pulumi.String("azure-native:authorization/v20251101:PolicyDefinitionAtManagementGroup"), + }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicyDefinitionAtManagementGroup"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionVersion.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionVersion.go index a0e033518..dd0e2474f 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionVersion.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionVersion.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2023-04-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicyDefinitionVersion struct { pulumi.CustomResourceState @@ -72,6 +72,12 @@ func NewPolicyDefinitionVersion(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20250301:PolicyDefinitionVersion"), }, + { + Type: pulumi.String("azure-native:authorization/v20251101:PolicyDefinitionVersion"), + }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicyDefinitionVersion"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionVersionAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionVersionAtManagementGroup.go index 024464e89..49a8641c6 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionVersionAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyDefinitionVersionAtManagementGroup.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2023-04-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicyDefinitionVersionAtManagementGroup struct { pulumi.CustomResourceState @@ -75,6 +75,12 @@ func NewPolicyDefinitionVersionAtManagementGroup(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20250301:PolicyDefinitionVersionAtManagementGroup"), }, + { + Type: pulumi.String("azure-native:authorization/v20251101:PolicyDefinitionVersionAtManagementGroup"), + }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicyDefinitionVersionAtManagementGroup"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyExemption.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyExemption.go index 3a5f0194f..f0d080b9d 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyExemption.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policyExemption.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2022-07-01-preview. In version 2.x of the Azure Native provider, it used API version 2022-07-01-preview. // -// Other available API versions: 2020-07-01-preview, 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-07-01-preview, 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicyExemption struct { pulumi.CustomResourceState @@ -77,6 +77,9 @@ func NewPolicyExemption(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20241201preview:PolicyExemption"), }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicyExemption"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinition.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinition.go index 2c6b2c8e4..f97c13fa4 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinition.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinition.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2021-06-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicySetDefinition struct { pulumi.CustomResourceState @@ -98,6 +98,12 @@ func NewPolicySetDefinition(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20250301:PolicySetDefinition"), }, + { + Type: pulumi.String("azure-native:authorization/v20251101:PolicySetDefinition"), + }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicySetDefinition"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionAtManagementGroup.go index 9b86e8fe7..640ca2104 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionAtManagementGroup.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2021-06-01. // -// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicySetDefinitionAtManagementGroup struct { pulumi.CustomResourceState @@ -101,6 +101,12 @@ func NewPolicySetDefinitionAtManagementGroup(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20250301:PolicySetDefinitionAtManagementGroup"), }, + { + Type: pulumi.String("azure-native:authorization/v20251101:PolicySetDefinitionAtManagementGroup"), + }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicySetDefinitionAtManagementGroup"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionVersion.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionVersion.go index 446d16ff8..e9964e33a 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionVersion.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionVersion.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2023-04-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicySetDefinitionVersion struct { pulumi.CustomResourceState @@ -72,6 +72,12 @@ func NewPolicySetDefinitionVersion(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20250301:PolicySetDefinitionVersion"), }, + { + Type: pulumi.String("azure-native:authorization/v20251101:PolicySetDefinitionVersion"), + }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicySetDefinitionVersion"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionVersionAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionVersionAtManagementGroup.go index 2a768a95f..793d4f7cf 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionVersionAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/policySetDefinitionVersionAtManagementGroup.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2023-04-01. // -// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-04-01, 2024-05-01, 2025-03-01, 2025-11-01, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type PolicySetDefinitionVersionAtManagementGroup struct { pulumi.CustomResourceState @@ -75,6 +75,12 @@ func NewPolicySetDefinitionVersionAtManagementGroup(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20250301:PolicySetDefinitionVersionAtManagementGroup"), }, + { + Type: pulumi.String("azure-native:authorization/v20251101:PolicySetDefinitionVersionAtManagementGroup"), + }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:PolicySetDefinitionVersionAtManagementGroup"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/pulumi-plugin.json index 35dde59ab..8a44784f7 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "azure-native", - "version": "3.14.0" + "version": "3.15.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/pulumiTypes.go index 629ebee83..ae539898e 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/pulumiTypes.go @@ -2450,6 +2450,52 @@ func (o IdentityResponseUserAssignedIdentitiesMapOutput) MapIndex(k pulumi.Strin }).(IdentityResponseUserAssignedIdentitiesOutput) } +// Information about a tenant managing the subscription. +type ManagedByTenantResponse struct { + // The tenant ID of the managing tenant. + TenantId *string `pulumi:"tenantId"` +} + +// Information about a tenant managing the subscription. +type ManagedByTenantResponseOutput struct{ *pulumi.OutputState } + +func (ManagedByTenantResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ManagedByTenantResponse)(nil)).Elem() +} + +func (o ManagedByTenantResponseOutput) ToManagedByTenantResponseOutput() ManagedByTenantResponseOutput { + return o +} + +func (o ManagedByTenantResponseOutput) ToManagedByTenantResponseOutputWithContext(ctx context.Context) ManagedByTenantResponseOutput { + return o +} + +// The tenant ID of the managing tenant. +func (o ManagedByTenantResponseOutput) TenantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ManagedByTenantResponse) *string { return v.TenantId }).(pulumi.StringPtrOutput) +} + +type ManagedByTenantResponseArrayOutput struct{ *pulumi.OutputState } + +func (ManagedByTenantResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ManagedByTenantResponse)(nil)).Elem() +} + +func (o ManagedByTenantResponseArrayOutput) ToManagedByTenantResponseArrayOutput() ManagedByTenantResponseArrayOutput { + return o +} + +func (o ManagedByTenantResponseArrayOutput) ToManagedByTenantResponseArrayOutputWithContext(ctx context.Context) ManagedByTenantResponseArrayOutput { + return o +} + +func (o ManagedByTenantResponseArrayOutput) Index(i pulumi.IntInput) ManagedByTenantResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ManagedByTenantResponse { + return vs[0].([]ManagedByTenantResponse)[vs[1].(int)] + }).(ManagedByTenantResponseOutput) +} + // Lock owner properties. type ManagementLockOwner struct { // The application ID of the lock owner. @@ -8213,6 +8259,202 @@ func (o SelectorResponseArrayOutput) Index(i pulumi.IntInput) SelectorResponseOu }).(SelectorResponseOutput) } +// Subscription policies. +type SubscriptionPoliciesResponse struct { + // The subscription location placement ID. + LocationPlacementId *string `pulumi:"locationPlacementId"` + // The subscription quota ID. + QuotaId *string `pulumi:"quotaId"` + // The subscription spending limit. + SpendingLimit *string `pulumi:"spendingLimit"` +} + +// Subscription policies. +type SubscriptionPoliciesResponseOutput struct{ *pulumi.OutputState } + +func (SubscriptionPoliciesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubscriptionPoliciesResponse)(nil)).Elem() +} + +func (o SubscriptionPoliciesResponseOutput) ToSubscriptionPoliciesResponseOutput() SubscriptionPoliciesResponseOutput { + return o +} + +func (o SubscriptionPoliciesResponseOutput) ToSubscriptionPoliciesResponseOutputWithContext(ctx context.Context) SubscriptionPoliciesResponseOutput { + return o +} + +// The subscription location placement ID. +func (o SubscriptionPoliciesResponseOutput) LocationPlacementId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubscriptionPoliciesResponse) *string { return v.LocationPlacementId }).(pulumi.StringPtrOutput) +} + +// The subscription quota ID. +func (o SubscriptionPoliciesResponseOutput) QuotaId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubscriptionPoliciesResponse) *string { return v.QuotaId }).(pulumi.StringPtrOutput) +} + +// The subscription spending limit. +func (o SubscriptionPoliciesResponseOutput) SpendingLimit() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubscriptionPoliciesResponse) *string { return v.SpendingLimit }).(pulumi.StringPtrOutput) +} + +type SubscriptionPoliciesResponsePtrOutput struct{ *pulumi.OutputState } + +func (SubscriptionPoliciesResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SubscriptionPoliciesResponse)(nil)).Elem() +} + +func (o SubscriptionPoliciesResponsePtrOutput) ToSubscriptionPoliciesResponsePtrOutput() SubscriptionPoliciesResponsePtrOutput { + return o +} + +func (o SubscriptionPoliciesResponsePtrOutput) ToSubscriptionPoliciesResponsePtrOutputWithContext(ctx context.Context) SubscriptionPoliciesResponsePtrOutput { + return o +} + +func (o SubscriptionPoliciesResponsePtrOutput) Elem() SubscriptionPoliciesResponseOutput { + return o.ApplyT(func(v *SubscriptionPoliciesResponse) SubscriptionPoliciesResponse { + if v != nil { + return *v + } + var ret SubscriptionPoliciesResponse + return ret + }).(SubscriptionPoliciesResponseOutput) +} + +// The subscription location placement ID. +func (o SubscriptionPoliciesResponsePtrOutput) LocationPlacementId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubscriptionPoliciesResponse) *string { + if v == nil { + return nil + } + return v.LocationPlacementId + }).(pulumi.StringPtrOutput) +} + +// The subscription quota ID. +func (o SubscriptionPoliciesResponsePtrOutput) QuotaId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubscriptionPoliciesResponse) *string { + if v == nil { + return nil + } + return v.QuotaId + }).(pulumi.StringPtrOutput) +} + +// The subscription spending limit. +func (o SubscriptionPoliciesResponsePtrOutput) SpendingLimit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubscriptionPoliciesResponse) *string { + if v == nil { + return nil + } + return v.SpendingLimit + }).(pulumi.StringPtrOutput) +} + +// Subscription information. +type SubscriptionResponse struct { + // The authorization source of the request. + AuthorizationSource *string `pulumi:"authorizationSource"` + // The subscription display name. + DisplayName *string `pulumi:"displayName"` + // The fully qualified ID for the subscription. + Id *string `pulumi:"id"` + // An array containing the tenants managing the subscription. + ManagedByTenants []ManagedByTenantResponse `pulumi:"managedByTenants"` + // The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted. + State *string `pulumi:"state"` + // The subscription ID. + SubscriptionId *string `pulumi:"subscriptionId"` + // The subscription policies. + SubscriptionPolicies *SubscriptionPoliciesResponse `pulumi:"subscriptionPolicies"` + // The tags attached to the subscription. + Tags map[string]string `pulumi:"tags"` + // The subscription tenant ID. + TenantId *string `pulumi:"tenantId"` +} + +// Subscription information. +type SubscriptionResponseOutput struct{ *pulumi.OutputState } + +func (SubscriptionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubscriptionResponse)(nil)).Elem() +} + +func (o SubscriptionResponseOutput) ToSubscriptionResponseOutput() SubscriptionResponseOutput { + return o +} + +func (o SubscriptionResponseOutput) ToSubscriptionResponseOutputWithContext(ctx context.Context) SubscriptionResponseOutput { + return o +} + +// The authorization source of the request. +func (o SubscriptionResponseOutput) AuthorizationSource() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubscriptionResponse) *string { return v.AuthorizationSource }).(pulumi.StringPtrOutput) +} + +// The subscription display name. +func (o SubscriptionResponseOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubscriptionResponse) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// The fully qualified ID for the subscription. +func (o SubscriptionResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubscriptionResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// An array containing the tenants managing the subscription. +func (o SubscriptionResponseOutput) ManagedByTenants() ManagedByTenantResponseArrayOutput { + return o.ApplyT(func(v SubscriptionResponse) []ManagedByTenantResponse { return v.ManagedByTenants }).(ManagedByTenantResponseArrayOutput) +} + +// The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted. +func (o SubscriptionResponseOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubscriptionResponse) *string { return v.State }).(pulumi.StringPtrOutput) +} + +// The subscription ID. +func (o SubscriptionResponseOutput) SubscriptionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubscriptionResponse) *string { return v.SubscriptionId }).(pulumi.StringPtrOutput) +} + +// The subscription policies. +func (o SubscriptionResponseOutput) SubscriptionPolicies() SubscriptionPoliciesResponsePtrOutput { + return o.ApplyT(func(v SubscriptionResponse) *SubscriptionPoliciesResponse { return v.SubscriptionPolicies }).(SubscriptionPoliciesResponsePtrOutput) +} + +// The tags attached to the subscription. +func (o SubscriptionResponseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v SubscriptionResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// The subscription tenant ID. +func (o SubscriptionResponseOutput) TenantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubscriptionResponse) *string { return v.TenantId }).(pulumi.StringPtrOutput) +} + +type SubscriptionResponseArrayOutput struct{ *pulumi.OutputState } + +func (SubscriptionResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubscriptionResponse)(nil)).Elem() +} + +func (o SubscriptionResponseArrayOutput) ToSubscriptionResponseArrayOutput() SubscriptionResponseArrayOutput { + return o +} + +func (o SubscriptionResponseArrayOutput) ToSubscriptionResponseArrayOutputWithContext(ctx context.Context) SubscriptionResponseArrayOutput { + return o +} + +func (o SubscriptionResponseArrayOutput) Index(i pulumi.IntInput) SubscriptionResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubscriptionResponse { + return vs[0].([]SubscriptionResponse)[vs[1].(int)] + }).(SubscriptionResponseOutput) +} + // Metadata pertaining to creation and last modification of the resource. type SystemDataResponse struct { // The timestamp of resource creation (UTC). @@ -8688,6 +8930,8 @@ func init() { pulumi.RegisterOutputType(IdentityResponsePtrOutput{}) pulumi.RegisterOutputType(IdentityResponseUserAssignedIdentitiesOutput{}) pulumi.RegisterOutputType(IdentityResponseUserAssignedIdentitiesMapOutput{}) + pulumi.RegisterOutputType(ManagedByTenantResponseOutput{}) + pulumi.RegisterOutputType(ManagedByTenantResponseArrayOutput{}) pulumi.RegisterOutputType(ManagementLockOwnerOutput{}) pulumi.RegisterOutputType(ManagementLockOwnerArrayOutput{}) pulumi.RegisterOutputType(ManagementLockOwnerResponseOutput{}) @@ -8791,6 +9035,10 @@ func init() { pulumi.RegisterOutputType(SelectorArrayOutput{}) pulumi.RegisterOutputType(SelectorResponseOutput{}) pulumi.RegisterOutputType(SelectorResponseArrayOutput{}) + pulumi.RegisterOutputType(SubscriptionPoliciesResponseOutput{}) + pulumi.RegisterOutputType(SubscriptionPoliciesResponsePtrOutput{}) + pulumi.RegisterOutputType(SubscriptionResponseOutput{}) + pulumi.RegisterOutputType(SubscriptionResponseArrayOutput{}) pulumi.RegisterOutputType(SystemDataResponseOutput{}) pulumi.RegisterOutputType(UserSetOutput{}) pulumi.RegisterOutputType(UserSetArrayOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variable.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variable.go index 011b6aef9..8e3be4abb 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variable.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variable.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2022-08-01-preview. In version 2.x of the Azure Native provider, it used API version 2022-08-01-preview. // -// Other available API versions: 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type Variable struct { pulumi.CustomResourceState @@ -49,6 +49,9 @@ func NewVariable(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20241201preview:Variable"), }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:Variable"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableAtManagementGroup.go index 3eb8fa111..09e85e25d 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableAtManagementGroup.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2022-08-01-preview. In version 2.x of the Azure Native provider, it used API version 2022-08-01-preview. // -// Other available API versions: 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type VariableAtManagementGroup struct { pulumi.CustomResourceState @@ -52,6 +52,9 @@ func NewVariableAtManagementGroup(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20241201preview:VariableAtManagementGroup"), }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:VariableAtManagementGroup"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableValue.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableValue.go index 893a7d6fe..40e3639dd 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableValue.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableValue.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2022-08-01-preview. In version 2.x of the Azure Native provider, it used API version 2022-08-01-preview. // -// Other available API versions: 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type VariableValue struct { pulumi.CustomResourceState @@ -52,6 +52,9 @@ func NewVariableValue(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20241201preview:VariableValue"), }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:VariableValue"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableValueAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableValueAtManagementGroup.go index fe8bc390b..8398b740c 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableValueAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/authorization/v3/variableValueAtManagementGroup.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2022-08-01-preview. In version 2.x of the Azure Native provider, it used API version 2022-08-01-preview. // -// Other available API versions: 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2024-12-01-preview, 2025-12-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native authorization [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type VariableValueAtManagementGroup struct { pulumi.CustomResourceState @@ -55,6 +55,9 @@ func NewVariableValueAtManagementGroup(ctx *pulumi.Context, { Type: pulumi.String("azure-native:authorization/v20241201preview:VariableValueAtManagementGroup"), }, + { + Type: pulumi.String("azure-native:authorization/v20251201preview:VariableValueAtManagementGroup"), + }, }) opts = append(opts, aliases) opts = utilities.PkgResourceDefaultOpts(opts) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/pulumi-plugin.json index 35dde59ab..8a44784f7 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "azure-native", - "version": "3.14.0" + "version": "3.15.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/pulumi-plugin.json index 35dde59ab..8a44784f7 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "azure-native", - "version": "3.14.0" + "version": "3.15.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3/pulumi-plugin.json index 35dde59ab..8a44784f7 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "azure-native", - "version": "3.14.0" + "version": "3.15.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/expressRouteConnection.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/expressRouteConnection.go index 4a9ea9796..91fe49af4 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/expressRouteConnection.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/expressRouteConnection.go @@ -244,7 +244,7 @@ type expressRouteConnectionArgs struct { // The name of the resource group. ResourceGroupName string `pulumi:"resourceGroupName"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfiguration `pulumi:"routingConfiguration"` + RoutingConfiguration *RoutingConfigurationType `pulumi:"routingConfiguration"` // The routing weight associated to the connection. RoutingWeight *int `pulumi:"routingWeight"` } @@ -272,7 +272,7 @@ type ExpressRouteConnectionArgs struct { // The name of the resource group. ResourceGroupName pulumi.StringInput // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration RoutingConfigurationPtrInput + RoutingConfiguration RoutingConfigurationTypePtrInput // The routing weight associated to the connection. RoutingWeight pulumi.IntPtrInput } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingConfiguration.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingConfiguration.go new file mode 100644 index 000000000..77f4edc93 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingConfiguration.go @@ -0,0 +1,142 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package network + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-azure-native-sdk/v3/utilities" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Retrieves a network manager routing configuration. +// +// Uses Azure REST API version 2023-03-01-preview. +func LookupRoutingConfiguration(ctx *pulumi.Context, args *LookupRoutingConfigurationArgs, opts ...pulumi.InvokeOption) (*LookupRoutingConfigurationResult, error) { + opts = utilities.PkgInvokeDefaultOpts(opts) + var rv LookupRoutingConfigurationResult + err := ctx.Invoke("azure-native:network:getRoutingConfiguration", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupRoutingConfigurationArgs struct { + // The name of the network manager Routing Configuration. + ConfigurationName string `pulumi:"configurationName"` + // The name of the network manager. + NetworkManagerName string `pulumi:"networkManagerName"` + // The name of the resource group. The name is case insensitive. + ResourceGroupName string `pulumi:"resourceGroupName"` +} + +// Defines the routing configuration +type LookupRoutingConfigurationResult struct { + // The Azure API version of the resource. + AzureApiVersion string `pulumi:"azureApiVersion"` + // A description of the routing configuration. + Description *string `pulumi:"description"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id string `pulumi:"id"` + // Resource name. + Name string `pulumi:"name"` + // The provisioning state of the resource. + ProvisioningState string `pulumi:"provisioningState"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` + // The system metadata related to this resource. + SystemData SystemDataResponse `pulumi:"systemData"` + // Resource type. + Type string `pulumi:"type"` +} + +func LookupRoutingConfigurationOutput(ctx *pulumi.Context, args LookupRoutingConfigurationOutputArgs, opts ...pulumi.InvokeOption) LookupRoutingConfigurationResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupRoutingConfigurationResultOutput, error) { + args := v.(LookupRoutingConfigurationArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: utilities.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("azure-native:network:getRoutingConfiguration", args, LookupRoutingConfigurationResultOutput{}, options).(LookupRoutingConfigurationResultOutput), nil + }).(LookupRoutingConfigurationResultOutput) +} + +type LookupRoutingConfigurationOutputArgs struct { + // The name of the network manager Routing Configuration. + ConfigurationName pulumi.StringInput `pulumi:"configurationName"` + // The name of the network manager. + NetworkManagerName pulumi.StringInput `pulumi:"networkManagerName"` + // The name of the resource group. The name is case insensitive. + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` +} + +func (LookupRoutingConfigurationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRoutingConfigurationArgs)(nil)).Elem() +} + +// Defines the routing configuration +type LookupRoutingConfigurationResultOutput struct{ *pulumi.OutputState } + +func (LookupRoutingConfigurationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRoutingConfigurationResult)(nil)).Elem() +} + +func (o LookupRoutingConfigurationResultOutput) ToLookupRoutingConfigurationResultOutput() LookupRoutingConfigurationResultOutput { + return o +} + +func (o LookupRoutingConfigurationResultOutput) ToLookupRoutingConfigurationResultOutputWithContext(ctx context.Context) LookupRoutingConfigurationResultOutput { + return o +} + +// The Azure API version of the resource. +func (o LookupRoutingConfigurationResultOutput) AzureApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v LookupRoutingConfigurationResult) string { return v.AzureApiVersion }).(pulumi.StringOutput) +} + +// A description of the routing configuration. +func (o LookupRoutingConfigurationResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupRoutingConfigurationResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o LookupRoutingConfigurationResultOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v LookupRoutingConfigurationResult) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o LookupRoutingConfigurationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupRoutingConfigurationResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Resource name. +func (o LookupRoutingConfigurationResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupRoutingConfigurationResult) string { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the resource. +func (o LookupRoutingConfigurationResultOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v LookupRoutingConfigurationResult) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Unique identifier for this resource. +func (o LookupRoutingConfigurationResultOutput) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v LookupRoutingConfigurationResult) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// The system metadata related to this resource. +func (o LookupRoutingConfigurationResultOutput) SystemData() SystemDataResponseOutput { + return o.ApplyT(func(v LookupRoutingConfigurationResult) SystemDataResponse { return v.SystemData }).(SystemDataResponseOutput) +} + +// Resource type. +func (o LookupRoutingConfigurationResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupRoutingConfigurationResult) string { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupRoutingConfigurationResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingRule.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingRule.go index 5900af13b..dea1751ab 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingRule.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingRule.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2024-05-01. // -// Other available API versions: 2024-03-01, 2024-07-01, 2024-09-01-preview, 2024-10-01, 2025-01-01, 2025-03-01, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native network [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-03-01-preview, 2024-03-01, 2024-07-01, 2024-09-01-preview, 2024-10-01, 2025-01-01, 2025-03-01, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native network [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupRoutingRule(ctx *pulumi.Context, args *LookupRoutingRuleArgs, opts ...pulumi.InvokeOption) (*LookupRoutingRuleResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupRoutingRuleResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingRuleCollection.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingRuleCollection.go index eec366f85..20c2de5d2 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingRuleCollection.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/getRoutingRuleCollection.go @@ -15,7 +15,7 @@ import ( // // Uses Azure REST API version 2024-05-01. // -// Other available API versions: 2024-03-01, 2024-07-01, 2024-09-01-preview, 2024-10-01, 2025-01-01, 2025-03-01, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native network [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-03-01-preview, 2024-03-01, 2024-07-01, 2024-09-01-preview, 2024-10-01, 2025-01-01, 2025-03-01, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native network [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. func LookupRoutingRuleCollection(ctx *pulumi.Context, args *LookupRoutingRuleCollectionArgs, opts ...pulumi.InvokeOption) (*LookupRoutingRuleCollectionResult, error) { opts = utilities.PkgInvokeDefaultOpts(opts) var rv LookupRoutingRuleCollectionResult diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/hubVirtualNetworkConnection.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/hubVirtualNetworkConnection.go index 3decd0484..6ad8e815e 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/hubVirtualNetworkConnection.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/hubVirtualNetworkConnection.go @@ -190,7 +190,7 @@ type hubVirtualNetworkConnectionArgs struct { // The resource group name of the HubVirtualNetworkConnection. ResourceGroupName string `pulumi:"resourceGroupName"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfiguration `pulumi:"routingConfiguration"` + RoutingConfiguration *RoutingConfigurationType `pulumi:"routingConfiguration"` // The name of the VirtualHub. VirtualHubName string `pulumi:"virtualHubName"` } @@ -214,7 +214,7 @@ type HubVirtualNetworkConnectionArgs struct { // The resource group name of the HubVirtualNetworkConnection. ResourceGroupName pulumi.StringInput // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration RoutingConfigurationPtrInput + RoutingConfiguration RoutingConfigurationTypePtrInput // The name of the VirtualHub. VirtualHubName pulumi.StringInput } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/init.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/init.go index 13f9229bf..6e0d62b56 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/init.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/init.go @@ -181,6 +181,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &RouteMap{} case "azure-native:network:RouteTable": r = &RouteTable{} + case "azure-native:network:RoutingConfiguration": + r = &RoutingConfiguration{} case "azure-native:network:RoutingIntent": r = &RoutingIntent{} case "azure-native:network:RoutingRule": diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/networkManagerRoutingConfiguration.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/networkManagerRoutingConfiguration.go index 5bbe69a5f..611e95ade 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/networkManagerRoutingConfiguration.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/networkManagerRoutingConfiguration.go @@ -52,6 +52,9 @@ func NewNetworkManagerRoutingConfiguration(ctx *pulumi.Context, return nil, errors.New("invalid value for required argument 'ResourceGroupName'") } aliases := pulumi.Aliases([]pulumi.Alias{ + { + Type: pulumi.String("azure-native:network/v20230301preview:NetworkManagerRoutingConfiguration"), + }, { Type: pulumi.String("azure-native:network/v20240301:NetworkManagerRoutingConfiguration"), }, diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumi-plugin.json index 35dde59ab..8a44784f7 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "azure-native", - "version": "3.14.0" + "version": "3.15.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumiTypes.go index b60409217..a7ecf7e71 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumiTypes.go @@ -29354,7 +29354,7 @@ type ExpressRouteConnectionType struct { // The name of the resource. Name string `pulumi:"name"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfiguration `pulumi:"routingConfiguration"` + RoutingConfiguration *RoutingConfigurationType `pulumi:"routingConfiguration"` // The routing weight associated to the connection. RoutingWeight *int `pulumi:"routingWeight"` } @@ -29387,7 +29387,7 @@ type ExpressRouteConnectionTypeArgs struct { // The name of the resource. Name pulumi.StringInput `pulumi:"name"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration RoutingConfigurationPtrInput `pulumi:"routingConfiguration"` + RoutingConfiguration RoutingConfigurationTypePtrInput `pulumi:"routingConfiguration"` // The routing weight associated to the connection. RoutingWeight pulumi.IntPtrInput `pulumi:"routingWeight"` } @@ -29480,8 +29480,8 @@ func (o ExpressRouteConnectionTypeOutput) Name() pulumi.StringOutput { } // The Routing Configuration indicating the associated and propagated route tables on this connection. -func (o ExpressRouteConnectionTypeOutput) RoutingConfiguration() RoutingConfigurationPtrOutput { - return o.ApplyT(func(v ExpressRouteConnectionType) *RoutingConfiguration { return v.RoutingConfiguration }).(RoutingConfigurationPtrOutput) +func (o ExpressRouteConnectionTypeOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { + return o.ApplyT(func(v ExpressRouteConnectionType) *RoutingConfigurationType { return v.RoutingConfiguration }).(RoutingConfigurationTypePtrOutput) } // The routing weight associated to the connection. @@ -50379,7 +50379,7 @@ type NetworkVirtualApplianceConnectionProperties struct { // The name of the resource. Name *string `pulumi:"name"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfiguration `pulumi:"routingConfiguration"` + RoutingConfiguration *RoutingConfigurationType `pulumi:"routingConfiguration"` // Unique identifier for the connection. TunnelIdentifier *float64 `pulumi:"tunnelIdentifier"` } @@ -50406,7 +50406,7 @@ type NetworkVirtualApplianceConnectionPropertiesArgs struct { // The name of the resource. Name pulumi.StringPtrInput `pulumi:"name"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration RoutingConfigurationPtrInput `pulumi:"routingConfiguration"` + RoutingConfiguration RoutingConfigurationTypePtrInput `pulumi:"routingConfiguration"` // Unique identifier for the connection. TunnelIdentifier pulumi.Float64PtrInput `pulumi:"tunnelIdentifier"` } @@ -50510,10 +50510,10 @@ func (o NetworkVirtualApplianceConnectionPropertiesOutput) Name() pulumi.StringP } // The Routing Configuration indicating the associated and propagated route tables on this connection. -func (o NetworkVirtualApplianceConnectionPropertiesOutput) RoutingConfiguration() RoutingConfigurationPtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *RoutingConfiguration { +func (o NetworkVirtualApplianceConnectionPropertiesOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *RoutingConfigurationType { return v.RoutingConfiguration - }).(RoutingConfigurationPtrOutput) + }).(RoutingConfigurationTypePtrOutput) } // Unique identifier for the connection. @@ -50586,13 +50586,13 @@ func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) Name() pulumi.Stri } // The Routing Configuration indicating the associated and propagated route tables on this connection. -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) RoutingConfiguration() RoutingConfigurationPtrOutput { - return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *RoutingConfiguration { +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { + return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *RoutingConfigurationType { if v == nil { return nil } return v.RoutingConfiguration - }).(RoutingConfigurationPtrOutput) + }).(RoutingConfigurationTypePtrOutput) } // Unique identifier for the connection. @@ -52383,7 +52383,7 @@ type P2SConnectionConfiguration struct { // The name of the resource that is unique within a resource group. This name can be used to access the resource. Name *string `pulumi:"name"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfiguration `pulumi:"routingConfiguration"` + RoutingConfiguration *RoutingConfigurationType `pulumi:"routingConfiguration"` // The reference to the address space resource which represents Address space for P2S VpnClient. VpnClientAddressPool *AddressSpace `pulumi:"vpnClientAddressPool"` } @@ -52408,7 +52408,7 @@ type P2SConnectionConfigurationArgs struct { // The name of the resource that is unique within a resource group. This name can be used to access the resource. Name pulumi.StringPtrInput `pulumi:"name"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration RoutingConfigurationPtrInput `pulumi:"routingConfiguration"` + RoutingConfiguration RoutingConfigurationTypePtrInput `pulumi:"routingConfiguration"` // The reference to the address space resource which represents Address space for P2S VpnClient. VpnClientAddressPool AddressSpacePtrInput `pulumi:"vpnClientAddressPool"` } @@ -52481,8 +52481,8 @@ func (o P2SConnectionConfigurationOutput) Name() pulumi.StringPtrOutput { } // The Routing Configuration indicating the associated and propagated route tables on this connection. -func (o P2SConnectionConfigurationOutput) RoutingConfiguration() RoutingConfigurationPtrOutput { - return o.ApplyT(func(v P2SConnectionConfiguration) *RoutingConfiguration { return v.RoutingConfiguration }).(RoutingConfigurationPtrOutput) +func (o P2SConnectionConfigurationOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { + return o.ApplyT(func(v P2SConnectionConfiguration) *RoutingConfigurationType { return v.RoutingConfiguration }).(RoutingConfigurationTypePtrOutput) } // The reference to the address space resource which represents Address space for P2S VpnClient. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumiTypes1.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumiTypes1.go index ab46168a1..b6b62262f 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumiTypes1.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/pulumiTypes1.go @@ -2306,7 +2306,7 @@ func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) Subnet() SubnetResp } // Routing Configuration indicating the associated and propagated route tables for this connection. -type RoutingConfiguration struct { +type RoutingConfigurationType struct { // The resource id RouteTable associated with this RoutingConfiguration. AssociatedRouteTable *SubResource `pulumi:"associatedRouteTable"` // The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. @@ -2319,19 +2319,19 @@ type RoutingConfiguration struct { VnetRoutes *VnetRoute `pulumi:"vnetRoutes"` } -// RoutingConfigurationInput is an input type that accepts RoutingConfigurationArgs and RoutingConfigurationOutput values. -// You can construct a concrete instance of `RoutingConfigurationInput` via: +// RoutingConfigurationTypeInput is an input type that accepts RoutingConfigurationTypeArgs and RoutingConfigurationTypeOutput values. +// You can construct a concrete instance of `RoutingConfigurationTypeInput` via: // -// RoutingConfigurationArgs{...} -type RoutingConfigurationInput interface { +// RoutingConfigurationTypeArgs{...} +type RoutingConfigurationTypeInput interface { pulumi.Input - ToRoutingConfigurationOutput() RoutingConfigurationOutput - ToRoutingConfigurationOutputWithContext(context.Context) RoutingConfigurationOutput + ToRoutingConfigurationTypeOutput() RoutingConfigurationTypeOutput + ToRoutingConfigurationTypeOutputWithContext(context.Context) RoutingConfigurationTypeOutput } // Routing Configuration indicating the associated and propagated route tables for this connection. -type RoutingConfigurationArgs struct { +type RoutingConfigurationTypeArgs struct { // The resource id RouteTable associated with this RoutingConfiguration. AssociatedRouteTable SubResourcePtrInput `pulumi:"associatedRouteTable"` // The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. @@ -2344,136 +2344,136 @@ type RoutingConfigurationArgs struct { VnetRoutes VnetRoutePtrInput `pulumi:"vnetRoutes"` } -func (RoutingConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingConfiguration)(nil)).Elem() +func (RoutingConfigurationTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingConfigurationType)(nil)).Elem() } -func (i RoutingConfigurationArgs) ToRoutingConfigurationOutput() RoutingConfigurationOutput { - return i.ToRoutingConfigurationOutputWithContext(context.Background()) +func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypeOutput() RoutingConfigurationTypeOutput { + return i.ToRoutingConfigurationTypeOutputWithContext(context.Background()) } -func (i RoutingConfigurationArgs) ToRoutingConfigurationOutputWithContext(ctx context.Context) RoutingConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationOutput) +func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypeOutputWithContext(ctx context.Context) RoutingConfigurationTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationTypeOutput) } -func (i RoutingConfigurationArgs) ToRoutingConfigurationPtrOutput() RoutingConfigurationPtrOutput { - return i.ToRoutingConfigurationPtrOutputWithContext(context.Background()) +func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { + return i.ToRoutingConfigurationTypePtrOutputWithContext(context.Background()) } -func (i RoutingConfigurationArgs) ToRoutingConfigurationPtrOutputWithContext(ctx context.Context) RoutingConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationOutput).ToRoutingConfigurationPtrOutputWithContext(ctx) +func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationTypeOutput).ToRoutingConfigurationTypePtrOutputWithContext(ctx) } -// RoutingConfigurationPtrInput is an input type that accepts RoutingConfigurationArgs, RoutingConfigurationPtr and RoutingConfigurationPtrOutput values. -// You can construct a concrete instance of `RoutingConfigurationPtrInput` via: +// RoutingConfigurationTypePtrInput is an input type that accepts RoutingConfigurationTypeArgs, RoutingConfigurationTypePtr and RoutingConfigurationTypePtrOutput values. +// You can construct a concrete instance of `RoutingConfigurationTypePtrInput` via: // -// RoutingConfigurationArgs{...} +// RoutingConfigurationTypeArgs{...} // // or: // // nil -type RoutingConfigurationPtrInput interface { +type RoutingConfigurationTypePtrInput interface { pulumi.Input - ToRoutingConfigurationPtrOutput() RoutingConfigurationPtrOutput - ToRoutingConfigurationPtrOutputWithContext(context.Context) RoutingConfigurationPtrOutput + ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput + ToRoutingConfigurationTypePtrOutputWithContext(context.Context) RoutingConfigurationTypePtrOutput } -type routingConfigurationPtrType RoutingConfigurationArgs +type routingConfigurationTypePtrType RoutingConfigurationTypeArgs -func RoutingConfigurationPtr(v *RoutingConfigurationArgs) RoutingConfigurationPtrInput { - return (*routingConfigurationPtrType)(v) +func RoutingConfigurationTypePtr(v *RoutingConfigurationTypeArgs) RoutingConfigurationTypePtrInput { + return (*routingConfigurationTypePtrType)(v) } -func (*routingConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RoutingConfiguration)(nil)).Elem() +func (*routingConfigurationTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingConfigurationType)(nil)).Elem() } -func (i *routingConfigurationPtrType) ToRoutingConfigurationPtrOutput() RoutingConfigurationPtrOutput { - return i.ToRoutingConfigurationPtrOutputWithContext(context.Background()) +func (i *routingConfigurationTypePtrType) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { + return i.ToRoutingConfigurationTypePtrOutputWithContext(context.Background()) } -func (i *routingConfigurationPtrType) ToRoutingConfigurationPtrOutputWithContext(ctx context.Context) RoutingConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationPtrOutput) +func (i *routingConfigurationTypePtrType) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationTypePtrOutput) } // Routing Configuration indicating the associated and propagated route tables for this connection. -type RoutingConfigurationOutput struct{ *pulumi.OutputState } +type RoutingConfigurationTypeOutput struct{ *pulumi.OutputState } -func (RoutingConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingConfiguration)(nil)).Elem() +func (RoutingConfigurationTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingConfigurationType)(nil)).Elem() } -func (o RoutingConfigurationOutput) ToRoutingConfigurationOutput() RoutingConfigurationOutput { +func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypeOutput() RoutingConfigurationTypeOutput { return o } -func (o RoutingConfigurationOutput) ToRoutingConfigurationOutputWithContext(ctx context.Context) RoutingConfigurationOutput { +func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypeOutputWithContext(ctx context.Context) RoutingConfigurationTypeOutput { return o } -func (o RoutingConfigurationOutput) ToRoutingConfigurationPtrOutput() RoutingConfigurationPtrOutput { - return o.ToRoutingConfigurationPtrOutputWithContext(context.Background()) +func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { + return o.ToRoutingConfigurationTypePtrOutputWithContext(context.Background()) } -func (o RoutingConfigurationOutput) ToRoutingConfigurationPtrOutputWithContext(ctx context.Context) RoutingConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RoutingConfiguration) *RoutingConfiguration { +func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RoutingConfigurationType) *RoutingConfigurationType { return &v - }).(RoutingConfigurationPtrOutput) + }).(RoutingConfigurationTypePtrOutput) } // The resource id RouteTable associated with this RoutingConfiguration. -func (o RoutingConfigurationOutput) AssociatedRouteTable() SubResourcePtrOutput { - return o.ApplyT(func(v RoutingConfiguration) *SubResource { return v.AssociatedRouteTable }).(SubResourcePtrOutput) +func (o RoutingConfigurationTypeOutput) AssociatedRouteTable() SubResourcePtrOutput { + return o.ApplyT(func(v RoutingConfigurationType) *SubResource { return v.AssociatedRouteTable }).(SubResourcePtrOutput) } // The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. -func (o RoutingConfigurationOutput) InboundRouteMap() SubResourcePtrOutput { - return o.ApplyT(func(v RoutingConfiguration) *SubResource { return v.InboundRouteMap }).(SubResourcePtrOutput) +func (o RoutingConfigurationTypeOutput) InboundRouteMap() SubResourcePtrOutput { + return o.ApplyT(func(v RoutingConfigurationType) *SubResource { return v.InboundRouteMap }).(SubResourcePtrOutput) } // The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. -func (o RoutingConfigurationOutput) OutboundRouteMap() SubResourcePtrOutput { - return o.ApplyT(func(v RoutingConfiguration) *SubResource { return v.OutboundRouteMap }).(SubResourcePtrOutput) +func (o RoutingConfigurationTypeOutput) OutboundRouteMap() SubResourcePtrOutput { + return o.ApplyT(func(v RoutingConfigurationType) *SubResource { return v.OutboundRouteMap }).(SubResourcePtrOutput) } // The list of RouteTables to advertise the routes to. -func (o RoutingConfigurationOutput) PropagatedRouteTables() PropagatedRouteTablePtrOutput { - return o.ApplyT(func(v RoutingConfiguration) *PropagatedRouteTable { return v.PropagatedRouteTables }).(PropagatedRouteTablePtrOutput) +func (o RoutingConfigurationTypeOutput) PropagatedRouteTables() PropagatedRouteTablePtrOutput { + return o.ApplyT(func(v RoutingConfigurationType) *PropagatedRouteTable { return v.PropagatedRouteTables }).(PropagatedRouteTablePtrOutput) } // List of routes that control routing from VirtualHub into a virtual network connection. -func (o RoutingConfigurationOutput) VnetRoutes() VnetRoutePtrOutput { - return o.ApplyT(func(v RoutingConfiguration) *VnetRoute { return v.VnetRoutes }).(VnetRoutePtrOutput) +func (o RoutingConfigurationTypeOutput) VnetRoutes() VnetRoutePtrOutput { + return o.ApplyT(func(v RoutingConfigurationType) *VnetRoute { return v.VnetRoutes }).(VnetRoutePtrOutput) } -type RoutingConfigurationPtrOutput struct{ *pulumi.OutputState } +type RoutingConfigurationTypePtrOutput struct{ *pulumi.OutputState } -func (RoutingConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RoutingConfiguration)(nil)).Elem() +func (RoutingConfigurationTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingConfigurationType)(nil)).Elem() } -func (o RoutingConfigurationPtrOutput) ToRoutingConfigurationPtrOutput() RoutingConfigurationPtrOutput { +func (o RoutingConfigurationTypePtrOutput) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { return o } -func (o RoutingConfigurationPtrOutput) ToRoutingConfigurationPtrOutputWithContext(ctx context.Context) RoutingConfigurationPtrOutput { +func (o RoutingConfigurationTypePtrOutput) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { return o } -func (o RoutingConfigurationPtrOutput) Elem() RoutingConfigurationOutput { - return o.ApplyT(func(v *RoutingConfiguration) RoutingConfiguration { +func (o RoutingConfigurationTypePtrOutput) Elem() RoutingConfigurationTypeOutput { + return o.ApplyT(func(v *RoutingConfigurationType) RoutingConfigurationType { if v != nil { return *v } - var ret RoutingConfiguration + var ret RoutingConfigurationType return ret - }).(RoutingConfigurationOutput) + }).(RoutingConfigurationTypeOutput) } // The resource id RouteTable associated with this RoutingConfiguration. -func (o RoutingConfigurationPtrOutput) AssociatedRouteTable() SubResourcePtrOutput { - return o.ApplyT(func(v *RoutingConfiguration) *SubResource { +func (o RoutingConfigurationTypePtrOutput) AssociatedRouteTable() SubResourcePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *SubResource { if v == nil { return nil } @@ -2482,8 +2482,8 @@ func (o RoutingConfigurationPtrOutput) AssociatedRouteTable() SubResourcePtrOutp } // The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. -func (o RoutingConfigurationPtrOutput) InboundRouteMap() SubResourcePtrOutput { - return o.ApplyT(func(v *RoutingConfiguration) *SubResource { +func (o RoutingConfigurationTypePtrOutput) InboundRouteMap() SubResourcePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *SubResource { if v == nil { return nil } @@ -2492,8 +2492,8 @@ func (o RoutingConfigurationPtrOutput) InboundRouteMap() SubResourcePtrOutput { } // The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. -func (o RoutingConfigurationPtrOutput) OutboundRouteMap() SubResourcePtrOutput { - return o.ApplyT(func(v *RoutingConfiguration) *SubResource { +func (o RoutingConfigurationTypePtrOutput) OutboundRouteMap() SubResourcePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *SubResource { if v == nil { return nil } @@ -2502,8 +2502,8 @@ func (o RoutingConfigurationPtrOutput) OutboundRouteMap() SubResourcePtrOutput { } // The list of RouteTables to advertise the routes to. -func (o RoutingConfigurationPtrOutput) PropagatedRouteTables() PropagatedRouteTablePtrOutput { - return o.ApplyT(func(v *RoutingConfiguration) *PropagatedRouteTable { +func (o RoutingConfigurationTypePtrOutput) PropagatedRouteTables() PropagatedRouteTablePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *PropagatedRouteTable { if v == nil { return nil } @@ -2512,8 +2512,8 @@ func (o RoutingConfigurationPtrOutput) PropagatedRouteTables() PropagatedRouteTa } // List of routes that control routing from VirtualHub into a virtual network connection. -func (o RoutingConfigurationPtrOutput) VnetRoutes() VnetRoutePtrOutput { - return o.ApplyT(func(v *RoutingConfiguration) *VnetRoute { +func (o RoutingConfigurationTypePtrOutput) VnetRoutes() VnetRoutePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *VnetRoute { if v == nil { return nil } @@ -17948,7 +17948,7 @@ type VpnConnectionType struct { // Id of the connected vpn site. RemoteVpnSite *SubResource `pulumi:"remoteVpnSite"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfiguration `pulumi:"routingConfiguration"` + RoutingConfiguration *RoutingConfigurationType `pulumi:"routingConfiguration"` // Routing weight for vpn connection. RoutingWeight *int `pulumi:"routingWeight"` // SharedKey for the vpn connection. @@ -17997,7 +17997,7 @@ type VpnConnectionTypeArgs struct { // Id of the connected vpn site. RemoteVpnSite SubResourcePtrInput `pulumi:"remoteVpnSite"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration RoutingConfigurationPtrInput `pulumi:"routingConfiguration"` + RoutingConfiguration RoutingConfigurationTypePtrInput `pulumi:"routingConfiguration"` // Routing weight for vpn connection. RoutingWeight pulumi.IntPtrInput `pulumi:"routingWeight"` // SharedKey for the vpn connection. @@ -18112,8 +18112,8 @@ func (o VpnConnectionTypeOutput) RemoteVpnSite() SubResourcePtrOutput { } // The Routing Configuration indicating the associated and propagated route tables on this connection. -func (o VpnConnectionTypeOutput) RoutingConfiguration() RoutingConfigurationPtrOutput { - return o.ApplyT(func(v VpnConnectionType) *RoutingConfiguration { return v.RoutingConfiguration }).(RoutingConfigurationPtrOutput) +func (o VpnConnectionTypeOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { + return o.ApplyT(func(v VpnConnectionType) *RoutingConfigurationType { return v.RoutingConfiguration }).(RoutingConfigurationTypePtrOutput) } // Routing weight for vpn connection. @@ -22134,8 +22134,8 @@ func init() { pulumi.RegisterOutputType(RouteTargetAddressPropertiesFormatPtrOutput{}) pulumi.RegisterOutputType(RouteTargetAddressPropertiesFormatResponseOutput{}) pulumi.RegisterOutputType(RouteTargetAddressPropertiesFormatResponsePtrOutput{}) - pulumi.RegisterOutputType(RoutingConfigurationOutput{}) - pulumi.RegisterOutputType(RoutingConfigurationPtrOutput{}) + pulumi.RegisterOutputType(RoutingConfigurationTypeOutput{}) + pulumi.RegisterOutputType(RoutingConfigurationTypePtrOutput{}) pulumi.RegisterOutputType(RoutingConfigurationResponseOutput{}) pulumi.RegisterOutputType(RoutingConfigurationResponsePtrOutput{}) pulumi.RegisterOutputType(RoutingPolicyOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingConfiguration.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingConfiguration.go new file mode 100644 index 000000000..4d7735ce7 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingConfiguration.go @@ -0,0 +1,225 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package network + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure-native-sdk/v3/utilities" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Defines the routing configuration +// +// Uses Azure REST API version 2023-03-01-preview. +type RoutingConfiguration struct { + pulumi.CustomResourceState + + // The Azure API version of the resource. + AzureApiVersion pulumi.StringOutput `pulumi:"azureApiVersion"` + // A description of the routing configuration. + Description pulumi.StringPtrOutput `pulumi:"description"` + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringOutput `pulumi:"etag"` + // Resource name. + Name pulumi.StringOutput `pulumi:"name"` + // The provisioning state of the resource. + ProvisioningState pulumi.StringOutput `pulumi:"provisioningState"` + // Unique identifier for this resource. + ResourceGuid pulumi.StringOutput `pulumi:"resourceGuid"` + // The system metadata related to this resource. + SystemData SystemDataResponseOutput `pulumi:"systemData"` + // Resource type. + Type pulumi.StringOutput `pulumi:"type"` +} + +// NewRoutingConfiguration registers a new resource with the given unique name, arguments, and options. +func NewRoutingConfiguration(ctx *pulumi.Context, + name string, args *RoutingConfigurationArgs, opts ...pulumi.ResourceOption) (*RoutingConfiguration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.NetworkManagerName == nil { + return nil, errors.New("invalid value for required argument 'NetworkManagerName'") + } + if args.ResourceGroupName == nil { + return nil, errors.New("invalid value for required argument 'ResourceGroupName'") + } + aliases := pulumi.Aliases([]pulumi.Alias{ + { + Type: pulumi.String("azure-native:network/v20230301preview:RoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20240301:NetworkManagerRoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20240301:RoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20240501:NetworkManagerRoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20240501:RoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20240701:RoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20240901preview:RoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20241001:RoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20250101:RoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20250301:RoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network/v20250501:RoutingConfiguration"), + }, + { + Type: pulumi.String("azure-native:network:NetworkManagerRoutingConfiguration"), + }, + }) + opts = append(opts, aliases) + opts = utilities.PkgResourceDefaultOpts(opts) + var resource RoutingConfiguration + err := ctx.RegisterResource("azure-native:network:RoutingConfiguration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRoutingConfiguration gets an existing RoutingConfiguration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRoutingConfiguration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RoutingConfigurationState, opts ...pulumi.ResourceOption) (*RoutingConfiguration, error) { + var resource RoutingConfiguration + err := ctx.ReadResource("azure-native:network:RoutingConfiguration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RoutingConfiguration resources. +type routingConfigurationState struct { +} + +type RoutingConfigurationState struct { +} + +func (RoutingConfigurationState) ElementType() reflect.Type { + return reflect.TypeOf((*routingConfigurationState)(nil)).Elem() +} + +type routingConfigurationArgs struct { + // The name of the network manager Routing Configuration. + ConfigurationName *string `pulumi:"configurationName"` + // A description of the routing configuration. + Description *string `pulumi:"description"` + // The name of the network manager. + NetworkManagerName string `pulumi:"networkManagerName"` + // The name of the resource group. The name is case insensitive. + ResourceGroupName string `pulumi:"resourceGroupName"` +} + +// The set of arguments for constructing a RoutingConfiguration resource. +type RoutingConfigurationArgs struct { + // The name of the network manager Routing Configuration. + ConfigurationName pulumi.StringPtrInput + // A description of the routing configuration. + Description pulumi.StringPtrInput + // The name of the network manager. + NetworkManagerName pulumi.StringInput + // The name of the resource group. The name is case insensitive. + ResourceGroupName pulumi.StringInput +} + +func (RoutingConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*routingConfigurationArgs)(nil)).Elem() +} + +type RoutingConfigurationInput interface { + pulumi.Input + + ToRoutingConfigurationOutput() RoutingConfigurationOutput + ToRoutingConfigurationOutputWithContext(ctx context.Context) RoutingConfigurationOutput +} + +func (*RoutingConfiguration) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingConfiguration)(nil)).Elem() +} + +func (i *RoutingConfiguration) ToRoutingConfigurationOutput() RoutingConfigurationOutput { + return i.ToRoutingConfigurationOutputWithContext(context.Background()) +} + +func (i *RoutingConfiguration) ToRoutingConfigurationOutputWithContext(ctx context.Context) RoutingConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationOutput) +} + +type RoutingConfigurationOutput struct{ *pulumi.OutputState } + +func (RoutingConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingConfiguration)(nil)).Elem() +} + +func (o RoutingConfigurationOutput) ToRoutingConfigurationOutput() RoutingConfigurationOutput { + return o +} + +func (o RoutingConfigurationOutput) ToRoutingConfigurationOutputWithContext(ctx context.Context) RoutingConfigurationOutput { + return o +} + +// The Azure API version of the resource. +func (o RoutingConfigurationOutput) AzureApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v *RoutingConfiguration) pulumi.StringOutput { return v.AzureApiVersion }).(pulumi.StringOutput) +} + +// A description of the routing configuration. +func (o RoutingConfigurationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RoutingConfiguration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o RoutingConfigurationOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v *RoutingConfiguration) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput) +} + +// Resource name. +func (o RoutingConfigurationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *RoutingConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the resource. +func (o RoutingConfigurationOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v *RoutingConfiguration) pulumi.StringOutput { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Unique identifier for this resource. +func (o RoutingConfigurationOutput) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v *RoutingConfiguration) pulumi.StringOutput { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// The system metadata related to this resource. +func (o RoutingConfigurationOutput) SystemData() SystemDataResponseOutput { + return o.ApplyT(func(v *RoutingConfiguration) SystemDataResponseOutput { return v.SystemData }).(SystemDataResponseOutput) +} + +// Resource type. +func (o RoutingConfigurationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *RoutingConfiguration) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(RoutingConfigurationOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingRule.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingRule.go index b4eafcb97..118941fb4 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingRule.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingRule.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2024-05-01. In version 2.x of the Azure Native provider, it used API version 2024-03-01. // -// Other available API versions: 2024-03-01, 2024-07-01, 2024-09-01-preview, 2024-10-01, 2025-01-01, 2025-03-01, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native network [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-03-01-preview, 2024-03-01, 2024-07-01, 2024-09-01-preview, 2024-10-01, 2025-01-01, 2025-03-01, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native network [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type RoutingRule struct { pulumi.CustomResourceState @@ -68,6 +68,9 @@ func NewRoutingRule(ctx *pulumi.Context, return nil, errors.New("invalid value for required argument 'RuleCollectionName'") } aliases := pulumi.Aliases([]pulumi.Alias{ + { + Type: pulumi.String("azure-native:network/v20230301preview:RoutingRule"), + }, { Type: pulumi.String("azure-native:network/v20240301:RoutingRule"), }, diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingRuleCollection.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingRuleCollection.go index f6804fe4e..eb1bf12d1 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingRuleCollection.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/routingRuleCollection.go @@ -16,7 +16,7 @@ import ( // // Uses Azure REST API version 2024-05-01. In version 2.x of the Azure Native provider, it used API version 2024-03-01. // -// Other available API versions: 2024-03-01, 2024-07-01, 2024-09-01-preview, 2024-10-01, 2025-01-01, 2025-03-01, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native network [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. +// Other available API versions: 2023-03-01-preview, 2024-03-01, 2024-07-01, 2024-09-01-preview, 2024-10-01, 2025-01-01, 2025-03-01, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native network [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. type RoutingRuleCollection struct { pulumi.CustomResourceState @@ -62,6 +62,9 @@ func NewRoutingRuleCollection(ctx *pulumi.Context, return nil, errors.New("invalid value for required argument 'ResourceGroupName'") } aliases := pulumi.Aliases([]pulumi.Alias{ + { + Type: pulumi.String("azure-native:network/v20230301preview:RoutingRuleCollection"), + }, { Type: pulumi.String("azure-native:network/v20240301:RoutingRuleCollection"), }, diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/vpnConnection.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/vpnConnection.go index 7c2f301b5..faaf9888b 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/vpnConnection.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/vpnConnection.go @@ -275,7 +275,7 @@ type vpnConnectionArgs struct { // The resource group name of the VpnGateway. ResourceGroupName string `pulumi:"resourceGroupName"` // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfiguration `pulumi:"routingConfiguration"` + RoutingConfiguration *RoutingConfigurationType `pulumi:"routingConfiguration"` // Routing weight for vpn connection. RoutingWeight *int `pulumi:"routingWeight"` // SharedKey for the vpn connection. @@ -319,7 +319,7 @@ type VpnConnectionArgs struct { // The resource group name of the VpnGateway. ResourceGroupName pulumi.StringInput // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration RoutingConfigurationPtrInput + RoutingConfiguration RoutingConfigurationTypePtrInput // Routing weight for vpn connection. RoutingWeight pulumi.IntPtrInput // SharedKey for the vpn connection. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtManagementGroup.go index f6d883c85..29f9222e5 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtManagementGroup.go @@ -43,7 +43,7 @@ type DeploymentStackAtManagementGroup struct { // The duration of the last successful Deployment stack update. Duration pulumi.StringOutput `pulumi:"duration"` // The error detail. - Error ErrorDetailResponsePtrOutput `pulumi:"error"` + Error ErrorDetailResponseOutput `pulumi:"error"` // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. FailedResources ResourceReferenceExtendedResponseArrayOutput `pulumi:"failedResources"` // The geo-location where the resource lives. Required for subscription and management group scoped stacks. The location is inherited from the resource group for resource group scoped stacks. @@ -145,7 +145,7 @@ type deploymentStackAtManagementGroupArgs struct { Description *string `pulumi:"description"` // The geo-location where the resource lives. Required for subscription and management group scoped stacks. The location is inherited from the resource group for resource group scoped stacks. Location *string `pulumi:"location"` - // The name of the management group. The name is case insensitive. + // The management group ID. ManagementGroupId string `pulumi:"managementGroupId"` // Name and value pairs that define the deployment parameters for the template. Use this element when providing the parameter values directly in the request, rather than linking to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. Parameters map[string]DeploymentParameter `pulumi:"parameters"` @@ -177,7 +177,7 @@ type DeploymentStackAtManagementGroupArgs struct { Description pulumi.StringPtrInput // The geo-location where the resource lives. Required for subscription and management group scoped stacks. The location is inherited from the resource group for resource group scoped stacks. Location pulumi.StringPtrInput - // The name of the management group. The name is case insensitive. + // The management group ID. ManagementGroupId pulumi.StringInput // Name and value pairs that define the deployment parameters for the template. Use this element when providing the parameter values directly in the request, rather than linking to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. Parameters DeploymentParameterMapInput @@ -290,8 +290,8 @@ func (o DeploymentStackAtManagementGroupOutput) Duration() pulumi.StringOutput { } // The error detail. -func (o DeploymentStackAtManagementGroupOutput) Error() ErrorDetailResponsePtrOutput { - return o.ApplyT(func(v *DeploymentStackAtManagementGroup) ErrorDetailResponsePtrOutput { return v.Error }).(ErrorDetailResponsePtrOutput) +func (o DeploymentStackAtManagementGroupOutput) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v *DeploymentStackAtManagementGroup) ErrorDetailResponseOutput { return v.Error }).(ErrorDetailResponseOutput) } // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtResourceGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtResourceGroup.go index 870923322..e6ca088aa 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtResourceGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtResourceGroup.go @@ -43,7 +43,7 @@ type DeploymentStackAtResourceGroup struct { // The duration of the last successful Deployment stack update. Duration pulumi.StringOutput `pulumi:"duration"` // The error detail. - Error ErrorDetailResponsePtrOutput `pulumi:"error"` + Error ErrorDetailResponseOutput `pulumi:"error"` // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. FailedResources ResourceReferenceExtendedResponseArrayOutput `pulumi:"failedResources"` // The geo-location where the resource lives. Required for subscription and management group scoped stacks. The location is inherited from the resource group for resource group scoped stacks. @@ -290,8 +290,8 @@ func (o DeploymentStackAtResourceGroupOutput) Duration() pulumi.StringOutput { } // The error detail. -func (o DeploymentStackAtResourceGroupOutput) Error() ErrorDetailResponsePtrOutput { - return o.ApplyT(func(v *DeploymentStackAtResourceGroup) ErrorDetailResponsePtrOutput { return v.Error }).(ErrorDetailResponsePtrOutput) +func (o DeploymentStackAtResourceGroupOutput) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v *DeploymentStackAtResourceGroup) ErrorDetailResponseOutput { return v.Error }).(ErrorDetailResponseOutput) } // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtSubscription.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtSubscription.go index 00213fc5f..a3970247d 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtSubscription.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStackAtSubscription.go @@ -43,7 +43,7 @@ type DeploymentStackAtSubscription struct { // The duration of the last successful Deployment stack update. Duration pulumi.StringOutput `pulumi:"duration"` // The error detail. - Error ErrorDetailResponsePtrOutput `pulumi:"error"` + Error ErrorDetailResponseOutput `pulumi:"error"` // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. FailedResources ResourceReferenceExtendedResponseArrayOutput `pulumi:"failedResources"` // The geo-location where the resource lives. Required for subscription and management group scoped stacks. The location is inherited from the resource group for resource group scoped stacks. @@ -281,8 +281,8 @@ func (o DeploymentStackAtSubscriptionOutput) Duration() pulumi.StringOutput { } // The error detail. -func (o DeploymentStackAtSubscriptionOutput) Error() ErrorDetailResponsePtrOutput { - return o.ApplyT(func(v *DeploymentStackAtSubscription) ErrorDetailResponsePtrOutput { return v.Error }).(ErrorDetailResponsePtrOutput) +func (o DeploymentStackAtSubscriptionOutput) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v *DeploymentStackAtSubscription) ErrorDetailResponseOutput { return v.Error }).(ErrorDetailResponseOutput) } // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtManagementGroup.go index aa24ec51a..80300e8c9 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtManagementGroup.go @@ -87,7 +87,7 @@ type deploymentStacksWhatIfResultsAtManagementGroupArgs struct { DeploymentStacksWhatIfResultName *string `pulumi:"deploymentStacksWhatIfResultName"` // The geo-location where the resource lives. Required for subscription and management group scoped stacks. The location is inherited from the resource group for resource group scoped stacks. Location *string `pulumi:"location"` - // The name of the management group. The name is case insensitive. + // The management group ID. ManagementGroupId string `pulumi:"managementGroupId"` // The resource-specific properties for this resource. Properties *DeploymentStacksWhatIfResultProperties `pulumi:"properties"` @@ -101,7 +101,7 @@ type DeploymentStacksWhatIfResultsAtManagementGroupArgs struct { DeploymentStacksWhatIfResultName pulumi.StringPtrInput // The geo-location where the resource lives. Required for subscription and management group scoped stacks. The location is inherited from the resource group for resource group scoped stacks. Location pulumi.StringPtrInput - // The name of the management group. The name is case insensitive. + // The management group ID. ManagementGroupId pulumi.StringInput // The resource-specific properties for this resource. Properties DeploymentStacksWhatIfResultPropertiesPtrInput diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtManagementGroup.go index cb94e9c88..91db11c5e 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtManagementGroup.go @@ -29,7 +29,7 @@ func LookupDeploymentStackAtManagementGroup(ctx *pulumi.Context, args *LookupDep type LookupDeploymentStackAtManagementGroupArgs struct { // Name of the deployment stack. DeploymentStackName string `pulumi:"deploymentStackName"` - // The name of the management group. The name is case insensitive. + // The management group ID. ManagementGroupId string `pulumi:"managementGroupId"` } @@ -58,7 +58,7 @@ type LookupDeploymentStackAtManagementGroupResult struct { // The duration of the last successful Deployment stack update. Duration string `pulumi:"duration"` // The error detail. - Error *ErrorDetailResponse `pulumi:"error"` + Error ErrorDetailResponse `pulumi:"error"` // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. FailedResources []ResourceReferenceExtendedResponse `pulumi:"failedResources"` // Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" @@ -97,7 +97,7 @@ func LookupDeploymentStackAtManagementGroupOutput(ctx *pulumi.Context, args Look type LookupDeploymentStackAtManagementGroupOutputArgs struct { // Name of the deployment stack. DeploymentStackName pulumi.StringInput `pulumi:"deploymentStackName"` - // The name of the management group. The name is case insensitive. + // The management group ID. ManagementGroupId pulumi.StringInput `pulumi:"managementGroupId"` } @@ -184,8 +184,8 @@ func (o LookupDeploymentStackAtManagementGroupResultOutput) Duration() pulumi.St } // The error detail. -func (o LookupDeploymentStackAtManagementGroupResultOutput) Error() ErrorDetailResponsePtrOutput { - return o.ApplyT(func(v LookupDeploymentStackAtManagementGroupResult) *ErrorDetailResponse { return v.Error }).(ErrorDetailResponsePtrOutput) +func (o LookupDeploymentStackAtManagementGroupResultOutput) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v LookupDeploymentStackAtManagementGroupResult) ErrorDetailResponse { return v.Error }).(ErrorDetailResponseOutput) } // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtResourceGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtResourceGroup.go index f8000ab6e..adab58739 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtResourceGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtResourceGroup.go @@ -58,7 +58,7 @@ type LookupDeploymentStackAtResourceGroupResult struct { // The duration of the last successful Deployment stack update. Duration string `pulumi:"duration"` // The error detail. - Error *ErrorDetailResponse `pulumi:"error"` + Error ErrorDetailResponse `pulumi:"error"` // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. FailedResources []ResourceReferenceExtendedResponse `pulumi:"failedResources"` // Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" @@ -182,8 +182,8 @@ func (o LookupDeploymentStackAtResourceGroupResultOutput) Duration() pulumi.Stri } // The error detail. -func (o LookupDeploymentStackAtResourceGroupResultOutput) Error() ErrorDetailResponsePtrOutput { - return o.ApplyT(func(v LookupDeploymentStackAtResourceGroupResult) *ErrorDetailResponse { return v.Error }).(ErrorDetailResponsePtrOutput) +func (o LookupDeploymentStackAtResourceGroupResultOutput) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v LookupDeploymentStackAtResourceGroupResult) ErrorDetailResponse { return v.Error }).(ErrorDetailResponseOutput) } // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtSubscription.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtSubscription.go index 3bc96e5f4..e59a89923 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtSubscription.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStackAtSubscription.go @@ -56,7 +56,7 @@ type LookupDeploymentStackAtSubscriptionResult struct { // The duration of the last successful Deployment stack update. Duration string `pulumi:"duration"` // The error detail. - Error *ErrorDetailResponse `pulumi:"error"` + Error ErrorDetailResponse `pulumi:"error"` // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. FailedResources []ResourceReferenceExtendedResponse `pulumi:"failedResources"` // Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" @@ -178,8 +178,8 @@ func (o LookupDeploymentStackAtSubscriptionResultOutput) Duration() pulumi.Strin } // The error detail. -func (o LookupDeploymentStackAtSubscriptionResultOutput) Error() ErrorDetailResponsePtrOutput { - return o.ApplyT(func(v LookupDeploymentStackAtSubscriptionResult) *ErrorDetailResponse { return v.Error }).(ErrorDetailResponsePtrOutput) +func (o LookupDeploymentStackAtSubscriptionResultOutput) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v LookupDeploymentStackAtSubscriptionResult) ErrorDetailResponse { return v.Error }).(ErrorDetailResponseOutput) } // An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStacksWhatIfResultsAtManagementGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStacksWhatIfResultsAtManagementGroup.go index 88ff83a8b..c8670fe9f 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStacksWhatIfResultsAtManagementGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/getDeploymentStacksWhatIfResultsAtManagementGroup.go @@ -27,7 +27,7 @@ func LookupDeploymentStacksWhatIfResultsAtManagementGroup(ctx *pulumi.Context, a type LookupDeploymentStacksWhatIfResultsAtManagementGroupArgs struct { // Name of the deployment stack what-if result. DeploymentStacksWhatIfResultName string `pulumi:"deploymentStacksWhatIfResultName"` - // The name of the management group. The name is case insensitive. + // The management group ID. ManagementGroupId string `pulumi:"managementGroupId"` } @@ -63,7 +63,7 @@ func LookupDeploymentStacksWhatIfResultsAtManagementGroupOutput(ctx *pulumi.Cont type LookupDeploymentStacksWhatIfResultsAtManagementGroupOutputArgs struct { // Name of the deployment stack what-if result. DeploymentStacksWhatIfResultName pulumi.StringInput `pulumi:"deploymentStacksWhatIfResultName"` - // The name of the management group. The name is case insensitive. + // The management group ID. ManagementGroupId pulumi.StringInput `pulumi:"managementGroupId"` } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumi-plugin.json index 35dde59ab..8a44784f7 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "azure-native", - "version": "3.14.0" + "version": "3.15.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumiEnums.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumiEnums.go index 16cf29e86..273e240f6 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumiEnums.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumiEnums.go @@ -515,342 +515,6 @@ func (in *deploymentModePtr) ToDeploymentModePtrOutputWithContext(ctx context.Co return pulumi.ToOutputWithContext(ctx, in).(DeploymentModePtrOutput) } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. -type DeploymentStacksDeleteDetachEnum string - -const ( - // Delete the specified resources from Azure - DeploymentStacksDeleteDetachEnumDelete = DeploymentStacksDeleteDetachEnum("delete") - // Keep the specified resources in Azure - DeploymentStacksDeleteDetachEnumDetach = DeploymentStacksDeleteDetachEnum("detach") -) - -func (DeploymentStacksDeleteDetachEnum) ElementType() reflect.Type { - return reflect.TypeOf((*DeploymentStacksDeleteDetachEnum)(nil)).Elem() -} - -func (e DeploymentStacksDeleteDetachEnum) ToDeploymentStacksDeleteDetachEnumOutput() DeploymentStacksDeleteDetachEnumOutput { - return pulumi.ToOutput(e).(DeploymentStacksDeleteDetachEnumOutput) -} - -func (e DeploymentStacksDeleteDetachEnum) ToDeploymentStacksDeleteDetachEnumOutputWithContext(ctx context.Context) DeploymentStacksDeleteDetachEnumOutput { - return pulumi.ToOutputWithContext(ctx, e).(DeploymentStacksDeleteDetachEnumOutput) -} - -func (e DeploymentStacksDeleteDetachEnum) ToDeploymentStacksDeleteDetachEnumPtrOutput() DeploymentStacksDeleteDetachEnumPtrOutput { - return e.ToDeploymentStacksDeleteDetachEnumPtrOutputWithContext(context.Background()) -} - -func (e DeploymentStacksDeleteDetachEnum) ToDeploymentStacksDeleteDetachEnumPtrOutputWithContext(ctx context.Context) DeploymentStacksDeleteDetachEnumPtrOutput { - return DeploymentStacksDeleteDetachEnum(e).ToDeploymentStacksDeleteDetachEnumOutputWithContext(ctx).ToDeploymentStacksDeleteDetachEnumPtrOutputWithContext(ctx) -} - -func (e DeploymentStacksDeleteDetachEnum) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e DeploymentStacksDeleteDetachEnum) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e DeploymentStacksDeleteDetachEnum) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e DeploymentStacksDeleteDetachEnum) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type DeploymentStacksDeleteDetachEnumOutput struct{ *pulumi.OutputState } - -func (DeploymentStacksDeleteDetachEnumOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DeploymentStacksDeleteDetachEnum)(nil)).Elem() -} - -func (o DeploymentStacksDeleteDetachEnumOutput) ToDeploymentStacksDeleteDetachEnumOutput() DeploymentStacksDeleteDetachEnumOutput { - return o -} - -func (o DeploymentStacksDeleteDetachEnumOutput) ToDeploymentStacksDeleteDetachEnumOutputWithContext(ctx context.Context) DeploymentStacksDeleteDetachEnumOutput { - return o -} - -func (o DeploymentStacksDeleteDetachEnumOutput) ToDeploymentStacksDeleteDetachEnumPtrOutput() DeploymentStacksDeleteDetachEnumPtrOutput { - return o.ToDeploymentStacksDeleteDetachEnumPtrOutputWithContext(context.Background()) -} - -func (o DeploymentStacksDeleteDetachEnumOutput) ToDeploymentStacksDeleteDetachEnumPtrOutputWithContext(ctx context.Context) DeploymentStacksDeleteDetachEnumPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentStacksDeleteDetachEnum) *DeploymentStacksDeleteDetachEnum { - return &v - }).(DeploymentStacksDeleteDetachEnumPtrOutput) -} - -func (o DeploymentStacksDeleteDetachEnumOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o DeploymentStacksDeleteDetachEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e DeploymentStacksDeleteDetachEnum) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o DeploymentStacksDeleteDetachEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o DeploymentStacksDeleteDetachEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e DeploymentStacksDeleteDetachEnum) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type DeploymentStacksDeleteDetachEnumPtrOutput struct{ *pulumi.OutputState } - -func (DeploymentStacksDeleteDetachEnumPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DeploymentStacksDeleteDetachEnum)(nil)).Elem() -} - -func (o DeploymentStacksDeleteDetachEnumPtrOutput) ToDeploymentStacksDeleteDetachEnumPtrOutput() DeploymentStacksDeleteDetachEnumPtrOutput { - return o -} - -func (o DeploymentStacksDeleteDetachEnumPtrOutput) ToDeploymentStacksDeleteDetachEnumPtrOutputWithContext(ctx context.Context) DeploymentStacksDeleteDetachEnumPtrOutput { - return o -} - -func (o DeploymentStacksDeleteDetachEnumPtrOutput) Elem() DeploymentStacksDeleteDetachEnumOutput { - return o.ApplyT(func(v *DeploymentStacksDeleteDetachEnum) DeploymentStacksDeleteDetachEnum { - if v != nil { - return *v - } - var ret DeploymentStacksDeleteDetachEnum - return ret - }).(DeploymentStacksDeleteDetachEnumOutput) -} - -func (o DeploymentStacksDeleteDetachEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o DeploymentStacksDeleteDetachEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *DeploymentStacksDeleteDetachEnum) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// DeploymentStacksDeleteDetachEnumInput is an input type that accepts values of the DeploymentStacksDeleteDetachEnum enum -// A concrete instance of `DeploymentStacksDeleteDetachEnumInput` can be one of the following: -// -// DeploymentStacksDeleteDetachEnumDelete -// DeploymentStacksDeleteDetachEnumDetach -type DeploymentStacksDeleteDetachEnumInput interface { - pulumi.Input - - ToDeploymentStacksDeleteDetachEnumOutput() DeploymentStacksDeleteDetachEnumOutput - ToDeploymentStacksDeleteDetachEnumOutputWithContext(context.Context) DeploymentStacksDeleteDetachEnumOutput -} - -var deploymentStacksDeleteDetachEnumPtrType = reflect.TypeOf((**DeploymentStacksDeleteDetachEnum)(nil)).Elem() - -type DeploymentStacksDeleteDetachEnumPtrInput interface { - pulumi.Input - - ToDeploymentStacksDeleteDetachEnumPtrOutput() DeploymentStacksDeleteDetachEnumPtrOutput - ToDeploymentStacksDeleteDetachEnumPtrOutputWithContext(context.Context) DeploymentStacksDeleteDetachEnumPtrOutput -} - -type deploymentStacksDeleteDetachEnumPtr string - -func DeploymentStacksDeleteDetachEnumPtr(v string) DeploymentStacksDeleteDetachEnumPtrInput { - return (*deploymentStacksDeleteDetachEnumPtr)(&v) -} - -func (*deploymentStacksDeleteDetachEnumPtr) ElementType() reflect.Type { - return deploymentStacksDeleteDetachEnumPtrType -} - -func (in *deploymentStacksDeleteDetachEnumPtr) ToDeploymentStacksDeleteDetachEnumPtrOutput() DeploymentStacksDeleteDetachEnumPtrOutput { - return pulumi.ToOutput(in).(DeploymentStacksDeleteDetachEnumPtrOutput) -} - -func (in *deploymentStacksDeleteDetachEnumPtr) ToDeploymentStacksDeleteDetachEnumPtrOutputWithContext(ctx context.Context) DeploymentStacksDeleteDetachEnumPtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(DeploymentStacksDeleteDetachEnumPtrOutput) -} - -// Some resources do not support deletion. This flag will denote how the stack should handle those resources. -type DeploymentStacksResourcesWithoutDeleteSupportEnum string - -const ( - // Detach the specified resources from the deployment stack and continue - DeploymentStacksResourcesWithoutDeleteSupportEnumDetach = DeploymentStacksResourcesWithoutDeleteSupportEnum("detach") - // Fail the deployment stack if resources cannot be deleted - DeploymentStacksResourcesWithoutDeleteSupportEnumFail = DeploymentStacksResourcesWithoutDeleteSupportEnum("fail") -) - -func (DeploymentStacksResourcesWithoutDeleteSupportEnum) ElementType() reflect.Type { - return reflect.TypeOf((*DeploymentStacksResourcesWithoutDeleteSupportEnum)(nil)).Elem() -} - -func (e DeploymentStacksResourcesWithoutDeleteSupportEnum) ToDeploymentStacksResourcesWithoutDeleteSupportEnumOutput() DeploymentStacksResourcesWithoutDeleteSupportEnumOutput { - return pulumi.ToOutput(e).(DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) -} - -func (e DeploymentStacksResourcesWithoutDeleteSupportEnum) ToDeploymentStacksResourcesWithoutDeleteSupportEnumOutputWithContext(ctx context.Context) DeploymentStacksResourcesWithoutDeleteSupportEnumOutput { - return pulumi.ToOutputWithContext(ctx, e).(DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) -} - -func (e DeploymentStacksResourcesWithoutDeleteSupportEnum) ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput() DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput { - return e.ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutputWithContext(context.Background()) -} - -func (e DeploymentStacksResourcesWithoutDeleteSupportEnum) ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutputWithContext(ctx context.Context) DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput { - return DeploymentStacksResourcesWithoutDeleteSupportEnum(e).ToDeploymentStacksResourcesWithoutDeleteSupportEnumOutputWithContext(ctx).ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutputWithContext(ctx) -} - -func (e DeploymentStacksResourcesWithoutDeleteSupportEnum) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e DeploymentStacksResourcesWithoutDeleteSupportEnum) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e DeploymentStacksResourcesWithoutDeleteSupportEnum) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e DeploymentStacksResourcesWithoutDeleteSupportEnum) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type DeploymentStacksResourcesWithoutDeleteSupportEnumOutput struct{ *pulumi.OutputState } - -func (DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DeploymentStacksResourcesWithoutDeleteSupportEnum)(nil)).Elem() -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) ToDeploymentStacksResourcesWithoutDeleteSupportEnumOutput() DeploymentStacksResourcesWithoutDeleteSupportEnumOutput { - return o -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) ToDeploymentStacksResourcesWithoutDeleteSupportEnumOutputWithContext(ctx context.Context) DeploymentStacksResourcesWithoutDeleteSupportEnumOutput { - return o -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput() DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput { - return o.ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutputWithContext(context.Background()) -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutputWithContext(ctx context.Context) DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentStacksResourcesWithoutDeleteSupportEnum) *DeploymentStacksResourcesWithoutDeleteSupportEnum { - return &v - }).(DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput) -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e DeploymentStacksResourcesWithoutDeleteSupportEnum) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e DeploymentStacksResourcesWithoutDeleteSupportEnum) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput struct{ *pulumi.OutputState } - -func (DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DeploymentStacksResourcesWithoutDeleteSupportEnum)(nil)).Elem() -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput) ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput() DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput { - return o -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput) ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutputWithContext(ctx context.Context) DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput { - return o -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput) Elem() DeploymentStacksResourcesWithoutDeleteSupportEnumOutput { - return o.ApplyT(func(v *DeploymentStacksResourcesWithoutDeleteSupportEnum) DeploymentStacksResourcesWithoutDeleteSupportEnum { - if v != nil { - return *v - } - var ret DeploymentStacksResourcesWithoutDeleteSupportEnum - return ret - }).(DeploymentStacksResourcesWithoutDeleteSupportEnumOutput) -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *DeploymentStacksResourcesWithoutDeleteSupportEnum) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// DeploymentStacksResourcesWithoutDeleteSupportEnumInput is an input type that accepts values of the DeploymentStacksResourcesWithoutDeleteSupportEnum enum -// A concrete instance of `DeploymentStacksResourcesWithoutDeleteSupportEnumInput` can be one of the following: -// -// DeploymentStacksResourcesWithoutDeleteSupportEnumDetach -// DeploymentStacksResourcesWithoutDeleteSupportEnumFail -type DeploymentStacksResourcesWithoutDeleteSupportEnumInput interface { - pulumi.Input - - ToDeploymentStacksResourcesWithoutDeleteSupportEnumOutput() DeploymentStacksResourcesWithoutDeleteSupportEnumOutput - ToDeploymentStacksResourcesWithoutDeleteSupportEnumOutputWithContext(context.Context) DeploymentStacksResourcesWithoutDeleteSupportEnumOutput -} - -var deploymentStacksResourcesWithoutDeleteSupportEnumPtrType = reflect.TypeOf((**DeploymentStacksResourcesWithoutDeleteSupportEnum)(nil)).Elem() - -type DeploymentStacksResourcesWithoutDeleteSupportEnumPtrInput interface { - pulumi.Input - - ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput() DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput - ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutputWithContext(context.Context) DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput -} - -type deploymentStacksResourcesWithoutDeleteSupportEnumPtr string - -func DeploymentStacksResourcesWithoutDeleteSupportEnumPtr(v string) DeploymentStacksResourcesWithoutDeleteSupportEnumPtrInput { - return (*deploymentStacksResourcesWithoutDeleteSupportEnumPtr)(&v) -} - -func (*deploymentStacksResourcesWithoutDeleteSupportEnumPtr) ElementType() reflect.Type { - return deploymentStacksResourcesWithoutDeleteSupportEnumPtrType -} - -func (in *deploymentStacksResourcesWithoutDeleteSupportEnumPtr) ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput() DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput { - return pulumi.ToOutput(in).(DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput) -} - -func (in *deploymentStacksResourcesWithoutDeleteSupportEnumPtr) ToDeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutputWithContext(ctx context.Context) DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput) -} - // The scope to be used for evaluation of parameters, variables and functions in a nested template. type ExpressionEvaluationOptionsScopeType string @@ -1683,14 +1347,686 @@ func (in *resourceIdentityTypePtr) ToResourceIdentityTypePtrOutputWithContext(ct return pulumi.ToOutputWithContext(ctx, in).(ResourceIdentityTypePtrOutput) } -// Type of the script. -type ScriptType string +// Some resources do not support deletion. This flag will denote how the stack should handle those resources. +type ResourcesWithoutDeleteSupportAction string const ( - ScriptTypeAzurePowerShell = ScriptType("AzurePowerShell") - ScriptTypeAzureCLI = ScriptType("AzureCLI") + // Detach the specified resources from the deployment stack and continue. + ResourcesWithoutDeleteSupportActionDetach = ResourcesWithoutDeleteSupportAction("detach") + // Fail the deployment stack if resources cannot be deleted. + ResourcesWithoutDeleteSupportActionFail = ResourcesWithoutDeleteSupportAction("fail") ) +func (ResourcesWithoutDeleteSupportAction) ElementType() reflect.Type { + return reflect.TypeOf((*ResourcesWithoutDeleteSupportAction)(nil)).Elem() +} + +func (e ResourcesWithoutDeleteSupportAction) ToResourcesWithoutDeleteSupportActionOutput() ResourcesWithoutDeleteSupportActionOutput { + return pulumi.ToOutput(e).(ResourcesWithoutDeleteSupportActionOutput) +} + +func (e ResourcesWithoutDeleteSupportAction) ToResourcesWithoutDeleteSupportActionOutputWithContext(ctx context.Context) ResourcesWithoutDeleteSupportActionOutput { + return pulumi.ToOutputWithContext(ctx, e).(ResourcesWithoutDeleteSupportActionOutput) +} + +func (e ResourcesWithoutDeleteSupportAction) ToResourcesWithoutDeleteSupportActionPtrOutput() ResourcesWithoutDeleteSupportActionPtrOutput { + return e.ToResourcesWithoutDeleteSupportActionPtrOutputWithContext(context.Background()) +} + +func (e ResourcesWithoutDeleteSupportAction) ToResourcesWithoutDeleteSupportActionPtrOutputWithContext(ctx context.Context) ResourcesWithoutDeleteSupportActionPtrOutput { + return ResourcesWithoutDeleteSupportAction(e).ToResourcesWithoutDeleteSupportActionOutputWithContext(ctx).ToResourcesWithoutDeleteSupportActionPtrOutputWithContext(ctx) +} + +func (e ResourcesWithoutDeleteSupportAction) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ResourcesWithoutDeleteSupportAction) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ResourcesWithoutDeleteSupportAction) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ResourcesWithoutDeleteSupportAction) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ResourcesWithoutDeleteSupportActionOutput struct{ *pulumi.OutputState } + +func (ResourcesWithoutDeleteSupportActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResourcesWithoutDeleteSupportAction)(nil)).Elem() +} + +func (o ResourcesWithoutDeleteSupportActionOutput) ToResourcesWithoutDeleteSupportActionOutput() ResourcesWithoutDeleteSupportActionOutput { + return o +} + +func (o ResourcesWithoutDeleteSupportActionOutput) ToResourcesWithoutDeleteSupportActionOutputWithContext(ctx context.Context) ResourcesWithoutDeleteSupportActionOutput { + return o +} + +func (o ResourcesWithoutDeleteSupportActionOutput) ToResourcesWithoutDeleteSupportActionPtrOutput() ResourcesWithoutDeleteSupportActionPtrOutput { + return o.ToResourcesWithoutDeleteSupportActionPtrOutputWithContext(context.Background()) +} + +func (o ResourcesWithoutDeleteSupportActionOutput) ToResourcesWithoutDeleteSupportActionPtrOutputWithContext(ctx context.Context) ResourcesWithoutDeleteSupportActionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ResourcesWithoutDeleteSupportAction) *ResourcesWithoutDeleteSupportAction { + return &v + }).(ResourcesWithoutDeleteSupportActionPtrOutput) +} + +func (o ResourcesWithoutDeleteSupportActionOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ResourcesWithoutDeleteSupportActionOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ResourcesWithoutDeleteSupportAction) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ResourcesWithoutDeleteSupportActionOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ResourcesWithoutDeleteSupportActionOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ResourcesWithoutDeleteSupportAction) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ResourcesWithoutDeleteSupportActionPtrOutput struct{ *pulumi.OutputState } + +func (ResourcesWithoutDeleteSupportActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ResourcesWithoutDeleteSupportAction)(nil)).Elem() +} + +func (o ResourcesWithoutDeleteSupportActionPtrOutput) ToResourcesWithoutDeleteSupportActionPtrOutput() ResourcesWithoutDeleteSupportActionPtrOutput { + return o +} + +func (o ResourcesWithoutDeleteSupportActionPtrOutput) ToResourcesWithoutDeleteSupportActionPtrOutputWithContext(ctx context.Context) ResourcesWithoutDeleteSupportActionPtrOutput { + return o +} + +func (o ResourcesWithoutDeleteSupportActionPtrOutput) Elem() ResourcesWithoutDeleteSupportActionOutput { + return o.ApplyT(func(v *ResourcesWithoutDeleteSupportAction) ResourcesWithoutDeleteSupportAction { + if v != nil { + return *v + } + var ret ResourcesWithoutDeleteSupportAction + return ret + }).(ResourcesWithoutDeleteSupportActionOutput) +} + +func (o ResourcesWithoutDeleteSupportActionPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ResourcesWithoutDeleteSupportActionPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ResourcesWithoutDeleteSupportAction) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ResourcesWithoutDeleteSupportActionInput is an input type that accepts values of the ResourcesWithoutDeleteSupportAction enum +// A concrete instance of `ResourcesWithoutDeleteSupportActionInput` can be one of the following: +// +// ResourcesWithoutDeleteSupportActionDetach +// ResourcesWithoutDeleteSupportActionFail +type ResourcesWithoutDeleteSupportActionInput interface { + pulumi.Input + + ToResourcesWithoutDeleteSupportActionOutput() ResourcesWithoutDeleteSupportActionOutput + ToResourcesWithoutDeleteSupportActionOutputWithContext(context.Context) ResourcesWithoutDeleteSupportActionOutput +} + +var resourcesWithoutDeleteSupportActionPtrType = reflect.TypeOf((**ResourcesWithoutDeleteSupportAction)(nil)).Elem() + +type ResourcesWithoutDeleteSupportActionPtrInput interface { + pulumi.Input + + ToResourcesWithoutDeleteSupportActionPtrOutput() ResourcesWithoutDeleteSupportActionPtrOutput + ToResourcesWithoutDeleteSupportActionPtrOutputWithContext(context.Context) ResourcesWithoutDeleteSupportActionPtrOutput +} + +type resourcesWithoutDeleteSupportActionPtr string + +func ResourcesWithoutDeleteSupportActionPtr(v string) ResourcesWithoutDeleteSupportActionPtrInput { + return (*resourcesWithoutDeleteSupportActionPtr)(&v) +} + +func (*resourcesWithoutDeleteSupportActionPtr) ElementType() reflect.Type { + return resourcesWithoutDeleteSupportActionPtrType +} + +func (in *resourcesWithoutDeleteSupportActionPtr) ToResourcesWithoutDeleteSupportActionPtrOutput() ResourcesWithoutDeleteSupportActionPtrOutput { + return pulumi.ToOutput(in).(ResourcesWithoutDeleteSupportActionPtrOutput) +} + +func (in *resourcesWithoutDeleteSupportActionPtr) ToResourcesWithoutDeleteSupportActionPtrOutputWithContext(ctx context.Context) ResourcesWithoutDeleteSupportActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ResourcesWithoutDeleteSupportActionPtrOutput) +} + +// Type of the script. +type ScriptType string + +const ( + ScriptTypeAzurePowerShell = ScriptType("AzurePowerShell") + ScriptTypeAzureCLI = ScriptType("AzureCLI") +) + +// Specifies an action for a newly unmanaged resource management group. +type UnmanageActionManagementGroupMode string + +const ( + // Delete the management groups from Azure. + UnmanageActionManagementGroupModeDelete = UnmanageActionManagementGroupMode("delete") + // Keep the management groups in Azure. + UnmanageActionManagementGroupModeDetach = UnmanageActionManagementGroupMode("detach") +) + +func (UnmanageActionManagementGroupMode) ElementType() reflect.Type { + return reflect.TypeOf((*UnmanageActionManagementGroupMode)(nil)).Elem() +} + +func (e UnmanageActionManagementGroupMode) ToUnmanageActionManagementGroupModeOutput() UnmanageActionManagementGroupModeOutput { + return pulumi.ToOutput(e).(UnmanageActionManagementGroupModeOutput) +} + +func (e UnmanageActionManagementGroupMode) ToUnmanageActionManagementGroupModeOutputWithContext(ctx context.Context) UnmanageActionManagementGroupModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(UnmanageActionManagementGroupModeOutput) +} + +func (e UnmanageActionManagementGroupMode) ToUnmanageActionManagementGroupModePtrOutput() UnmanageActionManagementGroupModePtrOutput { + return e.ToUnmanageActionManagementGroupModePtrOutputWithContext(context.Background()) +} + +func (e UnmanageActionManagementGroupMode) ToUnmanageActionManagementGroupModePtrOutputWithContext(ctx context.Context) UnmanageActionManagementGroupModePtrOutput { + return UnmanageActionManagementGroupMode(e).ToUnmanageActionManagementGroupModeOutputWithContext(ctx).ToUnmanageActionManagementGroupModePtrOutputWithContext(ctx) +} + +func (e UnmanageActionManagementGroupMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UnmanageActionManagementGroupMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UnmanageActionManagementGroupMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e UnmanageActionManagementGroupMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type UnmanageActionManagementGroupModeOutput struct{ *pulumi.OutputState } + +func (UnmanageActionManagementGroupModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UnmanageActionManagementGroupMode)(nil)).Elem() +} + +func (o UnmanageActionManagementGroupModeOutput) ToUnmanageActionManagementGroupModeOutput() UnmanageActionManagementGroupModeOutput { + return o +} + +func (o UnmanageActionManagementGroupModeOutput) ToUnmanageActionManagementGroupModeOutputWithContext(ctx context.Context) UnmanageActionManagementGroupModeOutput { + return o +} + +func (o UnmanageActionManagementGroupModeOutput) ToUnmanageActionManagementGroupModePtrOutput() UnmanageActionManagementGroupModePtrOutput { + return o.ToUnmanageActionManagementGroupModePtrOutputWithContext(context.Background()) +} + +func (o UnmanageActionManagementGroupModeOutput) ToUnmanageActionManagementGroupModePtrOutputWithContext(ctx context.Context) UnmanageActionManagementGroupModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UnmanageActionManagementGroupMode) *UnmanageActionManagementGroupMode { + return &v + }).(UnmanageActionManagementGroupModePtrOutput) +} + +func (o UnmanageActionManagementGroupModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o UnmanageActionManagementGroupModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UnmanageActionManagementGroupMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o UnmanageActionManagementGroupModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UnmanageActionManagementGroupModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UnmanageActionManagementGroupMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type UnmanageActionManagementGroupModePtrOutput struct{ *pulumi.OutputState } + +func (UnmanageActionManagementGroupModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UnmanageActionManagementGroupMode)(nil)).Elem() +} + +func (o UnmanageActionManagementGroupModePtrOutput) ToUnmanageActionManagementGroupModePtrOutput() UnmanageActionManagementGroupModePtrOutput { + return o +} + +func (o UnmanageActionManagementGroupModePtrOutput) ToUnmanageActionManagementGroupModePtrOutputWithContext(ctx context.Context) UnmanageActionManagementGroupModePtrOutput { + return o +} + +func (o UnmanageActionManagementGroupModePtrOutput) Elem() UnmanageActionManagementGroupModeOutput { + return o.ApplyT(func(v *UnmanageActionManagementGroupMode) UnmanageActionManagementGroupMode { + if v != nil { + return *v + } + var ret UnmanageActionManagementGroupMode + return ret + }).(UnmanageActionManagementGroupModeOutput) +} + +func (o UnmanageActionManagementGroupModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UnmanageActionManagementGroupModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *UnmanageActionManagementGroupMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// UnmanageActionManagementGroupModeInput is an input type that accepts values of the UnmanageActionManagementGroupMode enum +// A concrete instance of `UnmanageActionManagementGroupModeInput` can be one of the following: +// +// UnmanageActionManagementGroupModeDelete +// UnmanageActionManagementGroupModeDetach +type UnmanageActionManagementGroupModeInput interface { + pulumi.Input + + ToUnmanageActionManagementGroupModeOutput() UnmanageActionManagementGroupModeOutput + ToUnmanageActionManagementGroupModeOutputWithContext(context.Context) UnmanageActionManagementGroupModeOutput +} + +var unmanageActionManagementGroupModePtrType = reflect.TypeOf((**UnmanageActionManagementGroupMode)(nil)).Elem() + +type UnmanageActionManagementGroupModePtrInput interface { + pulumi.Input + + ToUnmanageActionManagementGroupModePtrOutput() UnmanageActionManagementGroupModePtrOutput + ToUnmanageActionManagementGroupModePtrOutputWithContext(context.Context) UnmanageActionManagementGroupModePtrOutput +} + +type unmanageActionManagementGroupModePtr string + +func UnmanageActionManagementGroupModePtr(v string) UnmanageActionManagementGroupModePtrInput { + return (*unmanageActionManagementGroupModePtr)(&v) +} + +func (*unmanageActionManagementGroupModePtr) ElementType() reflect.Type { + return unmanageActionManagementGroupModePtrType +} + +func (in *unmanageActionManagementGroupModePtr) ToUnmanageActionManagementGroupModePtrOutput() UnmanageActionManagementGroupModePtrOutput { + return pulumi.ToOutput(in).(UnmanageActionManagementGroupModePtrOutput) +} + +func (in *unmanageActionManagementGroupModePtr) ToUnmanageActionManagementGroupModePtrOutputWithContext(ctx context.Context) UnmanageActionManagementGroupModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(UnmanageActionManagementGroupModePtrOutput) +} + +// Specifies an action for a newly unmanaged resource group. +type UnmanageActionResourceGroupMode string + +const ( + // Delete the resource groups from Azure. + UnmanageActionResourceGroupModeDelete = UnmanageActionResourceGroupMode("delete") + // Keep the resource groups in Azure. + UnmanageActionResourceGroupModeDetach = UnmanageActionResourceGroupMode("detach") +) + +func (UnmanageActionResourceGroupMode) ElementType() reflect.Type { + return reflect.TypeOf((*UnmanageActionResourceGroupMode)(nil)).Elem() +} + +func (e UnmanageActionResourceGroupMode) ToUnmanageActionResourceGroupModeOutput() UnmanageActionResourceGroupModeOutput { + return pulumi.ToOutput(e).(UnmanageActionResourceGroupModeOutput) +} + +func (e UnmanageActionResourceGroupMode) ToUnmanageActionResourceGroupModeOutputWithContext(ctx context.Context) UnmanageActionResourceGroupModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(UnmanageActionResourceGroupModeOutput) +} + +func (e UnmanageActionResourceGroupMode) ToUnmanageActionResourceGroupModePtrOutput() UnmanageActionResourceGroupModePtrOutput { + return e.ToUnmanageActionResourceGroupModePtrOutputWithContext(context.Background()) +} + +func (e UnmanageActionResourceGroupMode) ToUnmanageActionResourceGroupModePtrOutputWithContext(ctx context.Context) UnmanageActionResourceGroupModePtrOutput { + return UnmanageActionResourceGroupMode(e).ToUnmanageActionResourceGroupModeOutputWithContext(ctx).ToUnmanageActionResourceGroupModePtrOutputWithContext(ctx) +} + +func (e UnmanageActionResourceGroupMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UnmanageActionResourceGroupMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UnmanageActionResourceGroupMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e UnmanageActionResourceGroupMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type UnmanageActionResourceGroupModeOutput struct{ *pulumi.OutputState } + +func (UnmanageActionResourceGroupModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UnmanageActionResourceGroupMode)(nil)).Elem() +} + +func (o UnmanageActionResourceGroupModeOutput) ToUnmanageActionResourceGroupModeOutput() UnmanageActionResourceGroupModeOutput { + return o +} + +func (o UnmanageActionResourceGroupModeOutput) ToUnmanageActionResourceGroupModeOutputWithContext(ctx context.Context) UnmanageActionResourceGroupModeOutput { + return o +} + +func (o UnmanageActionResourceGroupModeOutput) ToUnmanageActionResourceGroupModePtrOutput() UnmanageActionResourceGroupModePtrOutput { + return o.ToUnmanageActionResourceGroupModePtrOutputWithContext(context.Background()) +} + +func (o UnmanageActionResourceGroupModeOutput) ToUnmanageActionResourceGroupModePtrOutputWithContext(ctx context.Context) UnmanageActionResourceGroupModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UnmanageActionResourceGroupMode) *UnmanageActionResourceGroupMode { + return &v + }).(UnmanageActionResourceGroupModePtrOutput) +} + +func (o UnmanageActionResourceGroupModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o UnmanageActionResourceGroupModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UnmanageActionResourceGroupMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o UnmanageActionResourceGroupModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UnmanageActionResourceGroupModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UnmanageActionResourceGroupMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type UnmanageActionResourceGroupModePtrOutput struct{ *pulumi.OutputState } + +func (UnmanageActionResourceGroupModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UnmanageActionResourceGroupMode)(nil)).Elem() +} + +func (o UnmanageActionResourceGroupModePtrOutput) ToUnmanageActionResourceGroupModePtrOutput() UnmanageActionResourceGroupModePtrOutput { + return o +} + +func (o UnmanageActionResourceGroupModePtrOutput) ToUnmanageActionResourceGroupModePtrOutputWithContext(ctx context.Context) UnmanageActionResourceGroupModePtrOutput { + return o +} + +func (o UnmanageActionResourceGroupModePtrOutput) Elem() UnmanageActionResourceGroupModeOutput { + return o.ApplyT(func(v *UnmanageActionResourceGroupMode) UnmanageActionResourceGroupMode { + if v != nil { + return *v + } + var ret UnmanageActionResourceGroupMode + return ret + }).(UnmanageActionResourceGroupModeOutput) +} + +func (o UnmanageActionResourceGroupModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UnmanageActionResourceGroupModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *UnmanageActionResourceGroupMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// UnmanageActionResourceGroupModeInput is an input type that accepts values of the UnmanageActionResourceGroupMode enum +// A concrete instance of `UnmanageActionResourceGroupModeInput` can be one of the following: +// +// UnmanageActionResourceGroupModeDelete +// UnmanageActionResourceGroupModeDetach +type UnmanageActionResourceGroupModeInput interface { + pulumi.Input + + ToUnmanageActionResourceGroupModeOutput() UnmanageActionResourceGroupModeOutput + ToUnmanageActionResourceGroupModeOutputWithContext(context.Context) UnmanageActionResourceGroupModeOutput +} + +var unmanageActionResourceGroupModePtrType = reflect.TypeOf((**UnmanageActionResourceGroupMode)(nil)).Elem() + +type UnmanageActionResourceGroupModePtrInput interface { + pulumi.Input + + ToUnmanageActionResourceGroupModePtrOutput() UnmanageActionResourceGroupModePtrOutput + ToUnmanageActionResourceGroupModePtrOutputWithContext(context.Context) UnmanageActionResourceGroupModePtrOutput +} + +type unmanageActionResourceGroupModePtr string + +func UnmanageActionResourceGroupModePtr(v string) UnmanageActionResourceGroupModePtrInput { + return (*unmanageActionResourceGroupModePtr)(&v) +} + +func (*unmanageActionResourceGroupModePtr) ElementType() reflect.Type { + return unmanageActionResourceGroupModePtrType +} + +func (in *unmanageActionResourceGroupModePtr) ToUnmanageActionResourceGroupModePtrOutput() UnmanageActionResourceGroupModePtrOutput { + return pulumi.ToOutput(in).(UnmanageActionResourceGroupModePtrOutput) +} + +func (in *unmanageActionResourceGroupModePtr) ToUnmanageActionResourceGroupModePtrOutputWithContext(ctx context.Context) UnmanageActionResourceGroupModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(UnmanageActionResourceGroupModePtrOutput) +} + +// Specifies an action for a newly unmanaged resource. +type UnmanageActionResourceMode string + +const ( + // Delete the resources from Azure + UnmanageActionResourceModeDelete = UnmanageActionResourceMode("delete") + // Keep the resources in Azure + UnmanageActionResourceModeDetach = UnmanageActionResourceMode("detach") +) + +func (UnmanageActionResourceMode) ElementType() reflect.Type { + return reflect.TypeOf((*UnmanageActionResourceMode)(nil)).Elem() +} + +func (e UnmanageActionResourceMode) ToUnmanageActionResourceModeOutput() UnmanageActionResourceModeOutput { + return pulumi.ToOutput(e).(UnmanageActionResourceModeOutput) +} + +func (e UnmanageActionResourceMode) ToUnmanageActionResourceModeOutputWithContext(ctx context.Context) UnmanageActionResourceModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(UnmanageActionResourceModeOutput) +} + +func (e UnmanageActionResourceMode) ToUnmanageActionResourceModePtrOutput() UnmanageActionResourceModePtrOutput { + return e.ToUnmanageActionResourceModePtrOutputWithContext(context.Background()) +} + +func (e UnmanageActionResourceMode) ToUnmanageActionResourceModePtrOutputWithContext(ctx context.Context) UnmanageActionResourceModePtrOutput { + return UnmanageActionResourceMode(e).ToUnmanageActionResourceModeOutputWithContext(ctx).ToUnmanageActionResourceModePtrOutputWithContext(ctx) +} + +func (e UnmanageActionResourceMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UnmanageActionResourceMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UnmanageActionResourceMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e UnmanageActionResourceMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type UnmanageActionResourceModeOutput struct{ *pulumi.OutputState } + +func (UnmanageActionResourceModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UnmanageActionResourceMode)(nil)).Elem() +} + +func (o UnmanageActionResourceModeOutput) ToUnmanageActionResourceModeOutput() UnmanageActionResourceModeOutput { + return o +} + +func (o UnmanageActionResourceModeOutput) ToUnmanageActionResourceModeOutputWithContext(ctx context.Context) UnmanageActionResourceModeOutput { + return o +} + +func (o UnmanageActionResourceModeOutput) ToUnmanageActionResourceModePtrOutput() UnmanageActionResourceModePtrOutput { + return o.ToUnmanageActionResourceModePtrOutputWithContext(context.Background()) +} + +func (o UnmanageActionResourceModeOutput) ToUnmanageActionResourceModePtrOutputWithContext(ctx context.Context) UnmanageActionResourceModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UnmanageActionResourceMode) *UnmanageActionResourceMode { + return &v + }).(UnmanageActionResourceModePtrOutput) +} + +func (o UnmanageActionResourceModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o UnmanageActionResourceModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UnmanageActionResourceMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o UnmanageActionResourceModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UnmanageActionResourceModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UnmanageActionResourceMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type UnmanageActionResourceModePtrOutput struct{ *pulumi.OutputState } + +func (UnmanageActionResourceModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UnmanageActionResourceMode)(nil)).Elem() +} + +func (o UnmanageActionResourceModePtrOutput) ToUnmanageActionResourceModePtrOutput() UnmanageActionResourceModePtrOutput { + return o +} + +func (o UnmanageActionResourceModePtrOutput) ToUnmanageActionResourceModePtrOutputWithContext(ctx context.Context) UnmanageActionResourceModePtrOutput { + return o +} + +func (o UnmanageActionResourceModePtrOutput) Elem() UnmanageActionResourceModeOutput { + return o.ApplyT(func(v *UnmanageActionResourceMode) UnmanageActionResourceMode { + if v != nil { + return *v + } + var ret UnmanageActionResourceMode + return ret + }).(UnmanageActionResourceModeOutput) +} + +func (o UnmanageActionResourceModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UnmanageActionResourceModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *UnmanageActionResourceMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// UnmanageActionResourceModeInput is an input type that accepts values of the UnmanageActionResourceMode enum +// A concrete instance of `UnmanageActionResourceModeInput` can be one of the following: +// +// UnmanageActionResourceModeDelete +// UnmanageActionResourceModeDetach +type UnmanageActionResourceModeInput interface { + pulumi.Input + + ToUnmanageActionResourceModeOutput() UnmanageActionResourceModeOutput + ToUnmanageActionResourceModeOutputWithContext(context.Context) UnmanageActionResourceModeOutput +} + +var unmanageActionResourceModePtrType = reflect.TypeOf((**UnmanageActionResourceMode)(nil)).Elem() + +type UnmanageActionResourceModePtrInput interface { + pulumi.Input + + ToUnmanageActionResourceModePtrOutput() UnmanageActionResourceModePtrOutput + ToUnmanageActionResourceModePtrOutputWithContext(context.Context) UnmanageActionResourceModePtrOutput +} + +type unmanageActionResourceModePtr string + +func UnmanageActionResourceModePtr(v string) UnmanageActionResourceModePtrInput { + return (*unmanageActionResourceModePtr)(&v) +} + +func (*unmanageActionResourceModePtr) ElementType() reflect.Type { + return unmanageActionResourceModePtrType +} + +func (in *unmanageActionResourceModePtr) ToUnmanageActionResourceModePtrOutput() UnmanageActionResourceModePtrOutput { + return pulumi.ToOutput(in).(UnmanageActionResourceModePtrOutput) +} + +func (in *unmanageActionResourceModePtr) ToUnmanageActionResourceModePtrOutputWithContext(ctx context.Context) UnmanageActionResourceModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(UnmanageActionResourceModePtrOutput) +} + // The validation level of the deployment stack type ValidationLevel string @@ -1869,10 +2205,6 @@ func init() { pulumi.RegisterOutputType(DenySettingsModePtrOutput{}) pulumi.RegisterOutputType(DeploymentModeOutput{}) pulumi.RegisterOutputType(DeploymentModePtrOutput{}) - pulumi.RegisterOutputType(DeploymentStacksDeleteDetachEnumOutput{}) - pulumi.RegisterOutputType(DeploymentStacksDeleteDetachEnumPtrOutput{}) - pulumi.RegisterOutputType(DeploymentStacksResourcesWithoutDeleteSupportEnumOutput{}) - pulumi.RegisterOutputType(DeploymentStacksResourcesWithoutDeleteSupportEnumPtrOutput{}) pulumi.RegisterOutputType(ExpressionEvaluationOptionsScopeTypeOutput{}) pulumi.RegisterOutputType(ExpressionEvaluationOptionsScopeTypePtrOutput{}) pulumi.RegisterOutputType(ExtendedLocationTypeOutput{}) @@ -1883,6 +2215,14 @@ func init() { pulumi.RegisterOutputType(OnErrorDeploymentTypePtrOutput{}) pulumi.RegisterOutputType(ResourceIdentityTypeOutput{}) pulumi.RegisterOutputType(ResourceIdentityTypePtrOutput{}) + pulumi.RegisterOutputType(ResourcesWithoutDeleteSupportActionOutput{}) + pulumi.RegisterOutputType(ResourcesWithoutDeleteSupportActionPtrOutput{}) + pulumi.RegisterOutputType(UnmanageActionManagementGroupModeOutput{}) + pulumi.RegisterOutputType(UnmanageActionManagementGroupModePtrOutput{}) + pulumi.RegisterOutputType(UnmanageActionResourceGroupModeOutput{}) + pulumi.RegisterOutputType(UnmanageActionResourceGroupModePtrOutput{}) + pulumi.RegisterOutputType(UnmanageActionResourceModeOutput{}) + pulumi.RegisterOutputType(UnmanageActionResourceModePtrOutput{}) pulumi.RegisterOutputType(ValidationLevelOutput{}) pulumi.RegisterOutputType(ValidationLevelPtrOutput{}) } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumiTypes.go index 692ef97f0..3a99721fc 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/pulumiTypes.go @@ -15,11 +15,11 @@ var _ = utilities.GetEnvOrDefault // Defines the behavior of resources that are no longer managed after the stack is updated or deleted. type ActionOnUnmanage struct { - // Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. + // Specifies an action for a newly unmanaged resource management group. ManagementGroups *string `pulumi:"managementGroups"` - // Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. + // Specifies an action for a newly unmanaged resource group. ResourceGroups *string `pulumi:"resourceGroups"` - // Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. + // Specifies an action for a newly unmanaged resource. Resources string `pulumi:"resources"` // Some resources do not support deletion. This flag will denote how the stack should handle those resources. ResourcesWithoutDeleteSupport *string `pulumi:"resourcesWithoutDeleteSupport"` @@ -38,11 +38,11 @@ type ActionOnUnmanageInput interface { // Defines the behavior of resources that are no longer managed after the stack is updated or deleted. type ActionOnUnmanageArgs struct { - // Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. + // Specifies an action for a newly unmanaged resource management group. ManagementGroups pulumi.StringPtrInput `pulumi:"managementGroups"` - // Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. + // Specifies an action for a newly unmanaged resource group. ResourceGroups pulumi.StringPtrInput `pulumi:"resourceGroups"` - // Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. + // Specifies an action for a newly unmanaged resource. Resources pulumi.StringInput `pulumi:"resources"` // Some resources do not support deletion. This flag will denote how the stack should handle those resources. ResourcesWithoutDeleteSupport pulumi.StringPtrInput `pulumi:"resourcesWithoutDeleteSupport"` @@ -126,17 +126,17 @@ func (o ActionOnUnmanageOutput) ToActionOnUnmanagePtrOutputWithContext(ctx conte }).(ActionOnUnmanagePtrOutput) } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. +// Specifies an action for a newly unmanaged resource management group. func (o ActionOnUnmanageOutput) ManagementGroups() pulumi.StringPtrOutput { return o.ApplyT(func(v ActionOnUnmanage) *string { return v.ManagementGroups }).(pulumi.StringPtrOutput) } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. +// Specifies an action for a newly unmanaged resource group. func (o ActionOnUnmanageOutput) ResourceGroups() pulumi.StringPtrOutput { return o.ApplyT(func(v ActionOnUnmanage) *string { return v.ResourceGroups }).(pulumi.StringPtrOutput) } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. +// Specifies an action for a newly unmanaged resource. func (o ActionOnUnmanageOutput) Resources() pulumi.StringOutput { return o.ApplyT(func(v ActionOnUnmanage) string { return v.Resources }).(pulumi.StringOutput) } @@ -170,7 +170,7 @@ func (o ActionOnUnmanagePtrOutput) Elem() ActionOnUnmanageOutput { }).(ActionOnUnmanageOutput) } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. +// Specifies an action for a newly unmanaged resource management group. func (o ActionOnUnmanagePtrOutput) ManagementGroups() pulumi.StringPtrOutput { return o.ApplyT(func(v *ActionOnUnmanage) *string { if v == nil { @@ -180,7 +180,7 @@ func (o ActionOnUnmanagePtrOutput) ManagementGroups() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. +// Specifies an action for a newly unmanaged resource group. func (o ActionOnUnmanagePtrOutput) ResourceGroups() pulumi.StringPtrOutput { return o.ApplyT(func(v *ActionOnUnmanage) *string { if v == nil { @@ -190,7 +190,7 @@ func (o ActionOnUnmanagePtrOutput) ResourceGroups() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. +// Specifies an action for a newly unmanaged resource. func (o ActionOnUnmanagePtrOutput) Resources() pulumi.StringPtrOutput { return o.ApplyT(func(v *ActionOnUnmanage) *string { if v == nil { @@ -212,11 +212,11 @@ func (o ActionOnUnmanagePtrOutput) ResourcesWithoutDeleteSupport() pulumi.String // Defines the behavior of resources that are no longer managed after the stack is updated or deleted. type ActionOnUnmanageResponse struct { - // Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. + // Specifies an action for a newly unmanaged resource management group. ManagementGroups *string `pulumi:"managementGroups"` - // Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. + // Specifies an action for a newly unmanaged resource group. ResourceGroups *string `pulumi:"resourceGroups"` - // Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. + // Specifies an action for a newly unmanaged resource. Resources string `pulumi:"resources"` // Some resources do not support deletion. This flag will denote how the stack should handle those resources. ResourcesWithoutDeleteSupport *string `pulumi:"resourcesWithoutDeleteSupport"` @@ -237,17 +237,17 @@ func (o ActionOnUnmanageResponseOutput) ToActionOnUnmanageResponseOutputWithCont return o } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. +// Specifies an action for a newly unmanaged resource management group. func (o ActionOnUnmanageResponseOutput) ManagementGroups() pulumi.StringPtrOutput { return o.ApplyT(func(v ActionOnUnmanageResponse) *string { return v.ManagementGroups }).(pulumi.StringPtrOutput) } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. +// Specifies an action for a newly unmanaged resource group. func (o ActionOnUnmanageResponseOutput) ResourceGroups() pulumi.StringPtrOutput { return o.ApplyT(func(v ActionOnUnmanageResponse) *string { return v.ResourceGroups }).(pulumi.StringPtrOutput) } -// Specifies an action for a newly unmanaged resource. Delete will attempt to delete the resource from Azure. Detach will leave the resource in it's current state. +// Specifies an action for a newly unmanaged resource. func (o ActionOnUnmanageResponseOutput) Resources() pulumi.StringOutput { return o.ApplyT(func(v ActionOnUnmanageResponse) string { return v.Resources }).(pulumi.StringOutput) } @@ -4246,7 +4246,7 @@ type DeploymentStacksWhatIfResultPropertiesResponse struct { // List of resource diagnostics detected by What-If operation. Diagnostics []DeploymentStacksDiagnosticResponse `pulumi:"diagnostics"` // The error detail. - Error *ErrorDetailResponse `pulumi:"error"` + Error ErrorDetailResponse `pulumi:"error"` // Name and value pairs that define the deployment parameters for the template. Use this element when providing the parameter values directly in the request, rather than linking to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. Parameters map[string]DeploymentParameterResponse `pulumi:"parameters"` // The URI of parameters file. Use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both. @@ -4333,8 +4333,8 @@ func (o DeploymentStacksWhatIfResultPropertiesResponseOutput) Diagnostics() Depl } // The error detail. -func (o DeploymentStacksWhatIfResultPropertiesResponseOutput) Error() ErrorDetailResponsePtrOutput { - return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponse) *ErrorDetailResponse { return v.Error }).(ErrorDetailResponsePtrOutput) +func (o DeploymentStacksWhatIfResultPropertiesResponseOutput) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponse) ErrorDetailResponse { return v.Error }).(ErrorDetailResponseOutput) } // Name and value pairs that define the deployment parameters for the template. Use this element when providing the parameter values directly in the request, rather than linking to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. @@ -4651,80 +4651,6 @@ func (o ErrorDetailResponseOutput) Target() pulumi.StringOutput { return o.ApplyT(func(v ErrorDetailResponse) string { return v.Target }).(pulumi.StringOutput) } -type ErrorDetailResponsePtrOutput struct{ *pulumi.OutputState } - -func (ErrorDetailResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ErrorDetailResponse)(nil)).Elem() -} - -func (o ErrorDetailResponsePtrOutput) ToErrorDetailResponsePtrOutput() ErrorDetailResponsePtrOutput { - return o -} - -func (o ErrorDetailResponsePtrOutput) ToErrorDetailResponsePtrOutputWithContext(ctx context.Context) ErrorDetailResponsePtrOutput { - return o -} - -func (o ErrorDetailResponsePtrOutput) Elem() ErrorDetailResponseOutput { - return o.ApplyT(func(v *ErrorDetailResponse) ErrorDetailResponse { - if v != nil { - return *v - } - var ret ErrorDetailResponse - return ret - }).(ErrorDetailResponseOutput) -} - -// The error additional info. -func (o ErrorDetailResponsePtrOutput) AdditionalInfo() ErrorAdditionalInfoResponseArrayOutput { - return o.ApplyT(func(v *ErrorDetailResponse) []ErrorAdditionalInfoResponse { - if v == nil { - return nil - } - return v.AdditionalInfo - }).(ErrorAdditionalInfoResponseArrayOutput) -} - -// The error code. -func (o ErrorDetailResponsePtrOutput) Code() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ErrorDetailResponse) *string { - if v == nil { - return nil - } - return &v.Code - }).(pulumi.StringPtrOutput) -} - -// The error details. -func (o ErrorDetailResponsePtrOutput) Details() ErrorDetailResponseArrayOutput { - return o.ApplyT(func(v *ErrorDetailResponse) []ErrorDetailResponse { - if v == nil { - return nil - } - return v.Details - }).(ErrorDetailResponseArrayOutput) -} - -// The error message. -func (o ErrorDetailResponsePtrOutput) Message() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ErrorDetailResponse) *string { - if v == nil { - return nil - } - return &v.Message - }).(pulumi.StringPtrOutput) -} - -// The error target. -func (o ErrorDetailResponsePtrOutput) Target() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ErrorDetailResponse) *string { - if v == nil { - return nil - } - return &v.Target - }).(pulumi.StringPtrOutput) -} - type ErrorDetailResponseArrayOutput struct{ *pulumi.OutputState } func (ErrorDetailResponseArrayOutput) ElementType() reflect.Type { @@ -7566,7 +7492,7 @@ func (o ResourceGroupPropertiesResponseOutput) ProvisioningState() pulumi.String // The resourceId extended model. This is used to document failed resources with a resourceId and a corresponding error. type ResourceReferenceExtendedResponse struct { // The error detail. - Error *ErrorDetailResponse `pulumi:"error"` + Error ErrorDetailResponse `pulumi:"error"` // The ARM Resource ID of a resource managed by the deployment stack. Id string `pulumi:"id"` } @@ -7587,8 +7513,8 @@ func (o ResourceReferenceExtendedResponseOutput) ToResourceReferenceExtendedResp } // The error detail. -func (o ResourceReferenceExtendedResponseOutput) Error() ErrorDetailResponsePtrOutput { - return o.ApplyT(func(v ResourceReferenceExtendedResponse) *ErrorDetailResponse { return v.Error }).(ErrorDetailResponsePtrOutput) +func (o ResourceReferenceExtendedResponseOutput) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v ResourceReferenceExtendedResponse) ErrorDetailResponse { return v.Error }).(ErrorDetailResponseOutput) } // The ARM Resource ID of a resource managed by the deployment stack. @@ -9036,7 +8962,6 @@ func init() { pulumi.RegisterOutputType(ErrorAdditionalInfoResponseOutput{}) pulumi.RegisterOutputType(ErrorAdditionalInfoResponseArrayOutput{}) pulumi.RegisterOutputType(ErrorDetailResponseOutput{}) - pulumi.RegisterOutputType(ErrorDetailResponsePtrOutput{}) pulumi.RegisterOutputType(ErrorDetailResponseArrayOutput{}) pulumi.RegisterOutputType(ErrorResponseResponseOutput{}) pulumi.RegisterOutputType(ErrorResponseResponsePtrOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/storage/v3/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-azure-native-sdk/storage/v3/pulumi-plugin.json index 35dde59ab..8a44784f7 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/storage/v3/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/storage/v3/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "azure-native", - "version": "3.14.0" + "version": "3.15.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/v3/utilities/pulumiUtilities.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/v3/utilities/pulumiUtilities.go index 08a5d6f02..6201b8a81 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/v3/utilities/pulumiUtilities.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/v3/utilities/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("3.14.0") + version := semver.MustParse("3.15.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := semver.MustParse("3.14.0") + version := semver.MustParse("3.15.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/.version b/vendor/github.com/pulumi/pulumi/sdk/v3/.version index e85780ac9..16d973730 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/.version +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/.version @@ -1 +1 @@ -3.224.0 +3.225.1 diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/env/env.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/env/env.go index 81b2f7093..d234d252a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/env/env.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/env/env.go @@ -238,8 +238,8 @@ var ( PolicyTemplateBranch = env.String("POLICY_TEMPLATE_BRANCH", "Branch name for Pulumi Policy Pack templates repository.") ) -var EnableJournaling = env.Bool("ENABLE_JOURNALING", - "Enable journaling of engine operations to the backend (if the backend supports it)") +var DisableJournaling = env.Bool("DISABLE_JOURNALING", + "Disable journaling of engine operations to the backend") var JournalingBatchSize = env.Int("JOURNALING_BATCH_SIZE", "Maximum batch size for journal entries") diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/plugin.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/plugin.go index 30196c633..21309d8f8 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/plugin.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/plugin.go @@ -37,6 +37,9 @@ import ( "github.com/blang/semver" multierror "github.com/hashicorp/go-multierror" opentracing "github.com/opentracing/opentracing-go" + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/trace" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/connectivity" @@ -270,6 +273,15 @@ func newPlugin[T any]( tracingSpan := opentracing.StartSpan("newPlugin", opts...) defer tracingSpan.Finish() + tracer := otel.Tracer("pulumi-cli") + _, otelSpan := cmdutil.StartSpan(context.Background(), tracer, "newPlugin", + trace.WithAttributes( + attribute.String("prefix", prefix), + attribute.String("bin", bin), + attribute.String("pulumi-decorator", prefix+":"+bin), + )) + defer otelSpan.End() + // Try to execute the binary. plug, err := ExecPlugin(ctx, bin, prefix, kind, args, pwd, env, attachDebugger) if err != nil { diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_plugin.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_plugin.go index 444eefa3e..f26a3fded 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_plugin.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_plugin.go @@ -2081,6 +2081,15 @@ func (p *provider) Invoke(ctx context.Context, req InvokeRequest) (InvokeRespons failures = append(failures, CheckFailure{resource.PropertyKey(failure.Property), failure.Reason}) } + if req.Args.ContainsSecrets() && !protocol.acceptSecrets { + for k, v := range ret { + if v.IsSecret() || (v.IsOutput() && v.OutputValue().Secret) { + continue + } + ret[k] = resource.MakeSecret(v) + } + } + logging.V(7).Infof("%s success (#ret=%d,#failures=%d) success", label, len(ret), len(failures)) return InvokeResponse{ Properties: ret, diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/trace.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/trace.go index c3d834e19..1d8ff4c3b 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/trace.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/trace.go @@ -24,6 +24,7 @@ import ( "os" "runtime" "strings" + "sync" "time" opentracing "github.com/opentracing/opentracing-go" @@ -60,6 +61,9 @@ var TracingRootSpan opentracing.Span var traceCloser io.Closer +// otelMu protects otelEndpoint, otelReceiver, and otelTracerProvider from concurrent access. +var otelMu sync.RWMutex + // otelEndpoint is the OTLP gRPC endpoint where plugins should send OpenTelemetry telemetry. var otelEndpoint string @@ -196,11 +200,15 @@ func CloseTracing() { // IsOTelEnabled returns true if OTEL is enabled via environment variable or endpoint is set. func IsOTelEnabled() bool { + otelMu.RLock() + defer otelMu.RUnlock() return otelEndpoint != "" } // OTelEndpoint returns the OTLP gRPC endpoint where plugins should send OpenTelemetry telemetry. func OTelEndpoint() string { + otelMu.RLock() + defer otelMu.RUnlock() return otelEndpoint } @@ -215,18 +223,24 @@ func InitOtelReceiver(endpoint string) error { return fmt.Errorf("failed to create OTLP exporter: %w", err) } - otelReceiver, err = otelreceiver.Start(exporter) + receiver, err := otelreceiver.Start(exporter) if err != nil { _ = exporter.Shutdown(context.Background()) return fmt.Errorf("failed to start OTLP receiver: %w", err) } - otelEndpoint = otelReceiver.Endpoint() - logging.V(5).Infof("Started local OTLP receiver at %s with exporter for %s", otelEndpoint, endpoint) + ep := receiver.Endpoint() + + otelMu.Lock() + otelReceiver = receiver + otelEndpoint = ep + otelMu.Unlock() + + logging.V(5).Infof("Started local OTLP receiver at %s with exporter for %s", ep, endpoint) // Set up Otel TracerProvider for CLI's own spans // The CLI sends its spans to the local receiver, which forwards to the configured exporter - if err := InitOtelTracing("pulumi-cli", otelEndpoint); err != nil { + if err := InitOtelTracing("pulumi-cli", ep); err != nil { logging.V(3).Infof("failed to initialize OTel tracer provider: %v", err) } @@ -257,12 +271,16 @@ func InitOtelTracing(serviceName, endpoint string) error { semconv.ServiceName(serviceName), ) - otelTracerProvider = sdktrace.NewTracerProvider( + tp := sdktrace.NewTracerProvider( sdktrace.WithBatcher(traceExporter), sdktrace.WithResource(res), ) - otel.SetTracerProvider(otelTracerProvider) + otelMu.Lock() + otelTracerProvider = tp + otelMu.Unlock() + + otel.SetTracerProvider(tp) // Set up W3C Trace Context propagator for context propagation across process boundaries otel.SetTextMapPropagator(propagation.TraceContext{}) @@ -274,21 +292,25 @@ func CloseOtelTracing() { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() - if otelTracerProvider != nil { - if err := otelTracerProvider.Shutdown(ctx); err != nil { + otelMu.Lock() + tp := otelTracerProvider + otelTracerProvider = nil + recv := otelReceiver + otelReceiver = nil + otelEndpoint = "" + otelMu.Unlock() + + if tp != nil { + if err := tp.Shutdown(ctx); err != nil { logging.V(3).Infof("error closing OTel tracer provider: %v", err) } - otelTracerProvider = nil } - if otelReceiver != nil { - if err := otelReceiver.Shutdown(ctx); err != nil { + if recv != nil { + if err := recv.Shutdown(ctx); err != nil { logging.V(3).Infof("error closing OTLP receiver: %v", err) } - otelReceiver = nil } - - otelEndpoint = "" } // StartSpan starts a new OTel span with a stack trace attribute. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/gitutil/git.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/gitutil/git.go index 6b32fe25e..c0abd9e69 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/gitutil/git.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/gitutil/git.go @@ -42,6 +42,9 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil" "github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil" "github.com/pulumi/pulumi/sdk/v3/go/common/util/logging" + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/trace" ) // VCSKind represents the hostname of a specific type of VCS. @@ -519,6 +522,14 @@ func GitCloneAndCheckoutRevision(ctx context.Context, url string, revision plumb func GitCloneOrPull( ctx context.Context, rawurl string, referenceName plumbing.ReferenceName, path string, shallow bool, ) error { + tracer := otel.Tracer("pulumi-cli") + ctx, span := cmdutil.StartSpan(ctx, tracer, "git-clone-or-pull", + trace.WithAttributes( + attribute.String("url", rawurl), + attribute.String("ref", referenceName.String()), + )) + defer span.End() + logging.V(10).Infof("Attempting to clone from %s at ref %s", rawurl, referenceName) // TODO: https://github.com/go-git/go-git/pull/613 should have resolved the issue preventing this from cloning. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/interceptor.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/interceptor.go index 2a8f4fb60..c02d91fe3 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/interceptor.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/interceptor.go @@ -17,6 +17,7 @@ package rpcutil import ( "context" "fmt" + "io" "os" "runtime" "strings" @@ -389,7 +390,7 @@ type trackedClientStream struct { func (s *trackedClientStream) RecvMsg(m any) error { err := s.ClientStream.RecvMsg(m) - if err != nil { + if err != nil && err != io.EOF { setSpanStatus(s.span, err) s.span.End() } diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/instrumentation.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/instrumentation.go new file mode 100644 index 000000000..15e1d32d0 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/instrumentation.go @@ -0,0 +1,81 @@ +// Copyright 2026, Pulumi Corporation. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package pulumi + +import ( + "context" + "os" + + "github.com/pulumi/pulumi/sdk/v3/go/common/util/logging" + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" + "go.opentelemetry.io/otel/propagation" + "go.opentelemetry.io/otel/sdk/resource" + sdktrace "go.opentelemetry.io/otel/sdk/trace" + semconv "go.opentelemetry.io/otel/semconv/v1.26.0" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" +) + +var tracerProvider *sdktrace.TracerProvider + +// initTracing initializes OpenTelemetry tracing when TRACEPARENT and +// OTEL_EXPORTER_OTLP_ENDPOINT environment variables are present. +// Returns a context with the extracted trace parent. +func initTracing(ctx context.Context) context.Context { + traceparent := os.Getenv("TRACEPARENT") + if traceparent == "" { + return ctx + } + + otlpEndpoint := os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT") + if otlpEndpoint == "" { + return ctx + } + + conn, err := grpc.NewClient(otlpEndpoint, + grpc.WithTransportCredentials(insecure.NewCredentials()), + ) + if err != nil { + logging.V(3).Infof("pulumi-sdk-go: failed to create gRPC connection for tracing: %v", err) + return ctx + } + + exporter, err := otlptracegrpc.New(context.Background(), otlptracegrpc.WithGRPCConn(conn)) + if err != nil { + logging.V(3).Infof("pulumi-sdk-go: failed to create OTLP exporter: %v", err) + return ctx + } + + res := resource.NewWithAttributes("", semconv.ServiceName("pulumi-sdk-go")) + tracerProvider = sdktrace.NewTracerProvider( + sdktrace.WithBatcher(exporter), + sdktrace.WithResource(res), + ) + + otel.SetTracerProvider(tracerProvider) + otel.SetTextMapPropagator(propagation.TraceContext{}) + + carrier := propagation.MapCarrier{"traceparent": traceparent} + return otel.GetTextMapPropagator().Extract(ctx, carrier) +} + +func shutdownTracing() { + if tracerProvider != nil { + if err := tracerProvider.Shutdown(context.Background()); err != nil { + logging.V(3).Infof("pulumi-sdk-go: failed to shutdown tracer provider: %v", err) + } + } +} diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/run.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/run.go index 136b0042c..f28f5d6fa 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/run.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/run.go @@ -91,19 +91,22 @@ func runErrInner(body RunFunc, logError func(*Context, error), opts ...RunOption return errors.New("missing engine RPC address") } + ctx := initTracing(context.TODO()) + defer shutdownTracing() + // Create a fresh context. - ctx, err := NewContext(context.TODO(), info) + pctx, err := NewContext(ctx, info) if err != nil { return err } - defer contract.IgnoreClose(ctx) + defer contract.IgnoreClose(pctx) - err = RunWithContext(ctx, body) + err = RunWithContext(pctx, body) // Log the error message if err != nil { - logError(ctx, err) + logError(pctx, err) } else { - if _, signalErr := ctx.state.monitor.SignalAndWaitForShutdown(ctx.ctx, &pbempty.Empty{}); signalErr != nil { + if _, signalErr := pctx.state.monitor.SignalAndWaitForShutdown(pctx.ctx, &pbempty.Empty{}); signalErr != nil { status, ok := status.FromError(signalErr) if ok && status.Code() != codes.Unimplemented { // If we are running against an older version of the CLI, @@ -113,7 +116,7 @@ func runErrInner(body RunFunc, logError func(*Context, error), opts ...RunOption // registering hooks, it's fine to ignore the `UNIMPLEMENTED` // error here. err := fmt.Errorf("error waiting for shutdown: %v", signalErr) - logError(ctx, err) + logError(pctx, err) return err } } diff --git a/vendor/go.opentelemetry.io/collector/featuregate/metadata.yaml b/vendor/go.opentelemetry.io/collector/featuregate/metadata.yaml new file mode 100644 index 000000000..f830a48ab --- /dev/null +++ b/vendor/go.opentelemetry.io/collector/featuregate/metadata.yaml @@ -0,0 +1,6 @@ +type: featuregate +github_project: open-telemetry/opentelemetry-collector + +status: + disable_codecov_badge: true + class: pkg diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/config.schema.yaml b/vendor/go.opentelemetry.io/collector/pdata/internal/config.schema.yaml new file mode 100644 index 000000000..ac15a1d58 --- /dev/null +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/config.schema.yaml @@ -0,0 +1,35 @@ +$defs: + aggregation_temporality: + description: AggregationTemporality defines how a metric aggregator reports aggregated values. It describes how those values relate to the time interval over which they are aggregated. + type: integer + x-customType: int32 + profile_id: + description: ProfileID is a custom data type that is used for all profile_id fields in OTLP Protobuf messages. + type: array + items: + type: string + x-customType: byte + severity_number: + description: SeverityNumber represent possible values for LogRecord.SeverityNumber + type: integer + x-customType: int32 + span_id: + description: SpanID is a custom data type that is used for all span_id fields in OTLP Protobuf messages. + type: array + items: + type: string + x-customType: byte + span_kind: + description: SpanKind is the type of span. Can be used to specify additional relationships between spans in addition to a parent/child relationship. + type: integer + x-customType: int32 + status_code: + description: StatusCode is the status of the span, for the semantics of codes see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status + type: integer + x-customType: int32 + trace_id: + description: TraceID is a custom data type that is used for all trace_id fields in OTLP Protobuf messages. + type: array + items: + type: string + x-customType: byte diff --git a/vendor/go.opentelemetry.io/otel/.golangci.yml b/vendor/go.opentelemetry.io/otel/.golangci.yml index d48722875..d12c8920a 100644 --- a/vendor/go.opentelemetry.io/otel/.golangci.yml +++ b/vendor/go.opentelemetry.io/otel/.golangci.yml @@ -194,6 +194,7 @@ linters: arguments: - ["ID"] # AllowList - ["Otel", "Aws", "Gcp"] # DenyList + - - skip-package-name-collision-with-go-std: true - name: waitgroup-by-value testifylint: enable-all: true diff --git a/vendor/go.opentelemetry.io/otel/CHANGELOG.md b/vendor/go.opentelemetry.io/otel/CHANGELOG.md index e725282be..ab7263014 100644 --- a/vendor/go.opentelemetry.io/otel/CHANGELOG.md +++ b/vendor/go.opentelemetry.io/otel/CHANGELOG.md @@ -11,6 +11,47 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm +## [1.42.0/0.64.0/0.18.0/0.0.16] 2026-03-06 + +### Added + +- Add `go.opentelemetry.io/otel/semconv/v1.40.0` package. + The package contains semantic conventions from the `v1.40.0` version of the OpenTelemetry Semantic Conventions. + See the [migration documentation](./semconv/v1.40.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.39.0`. (#7985) +- Add `Err` and `SetErr` on `Record` in `go.opentelemetry.io/otel/log` to attach an error and set record exception attributes in `go.opentelemetry.io/otel/log/sdk`. (#7924) + +### Changed + +- `TracerProvider.ForceFlush` in `go.opentelemetry.io/otel/sdk/trace` joins errors together and continues iteration through SpanProcessors as opposed to returning the first encountered error without attempting exports on subsequent SpanProcessors. (#7856) + +### Fixed + +- Fix missing `request.GetBody` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` to correctly handle HTTP2 GOAWAY frame. (#7931) +- Fix semconv v1.39.0 generated metric helpers skipping required attributes when extra attributes were empty. (#7964) +- Preserve W3C TraceFlags bitmask (including the random Trace ID flag) during trace context extraction and injection in `go.opentelemetry.io/otel/propagation`. (#7834) + +### Removed + +- Drop support for [Go 1.24]. (#7984) + +## [1.41.0/0.63.0/0.17.0/0.0.15] 2026-03-02 + +This release is the last to support [Go 1.24]. +The next release will require at least [Go 1.25]. + +### Added + +- Support testing of [Go 1.26]. (#7902) + +### Fixed + +- Update `Baggage` in `go.opentelemetry.io/otel/propagation` and `Parse` and `New` in `go.opentelemetry.io/otel/baggage` to comply with W3C Baggage specification limits. + `New` and `Parse` now return partial baggage along with an error when limits are exceeded. + Errors from baggage extraction are reported to the global error handler. (#7880) +- Return an error when the endpoint is configured as insecure and with TLS configuration in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#7914) +- Return an error when the endpoint is configured as insecure and with TLS configuration in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#7914) +- Return an error when the endpoint is configured as insecure and with TLS configuration in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#7914) + ## [1.40.0/0.62.0/0.16.0] 2026-02-02 ### Added @@ -3535,7 +3576,9 @@ It contains api and sdk for trace and meter. - CircleCI build CI manifest files. - CODEOWNERS file to track owners of this project. -[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.40.0...HEAD +[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.42.0...HEAD +[1.42.0/0.64.0/0.18.0/0.0.16]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.42.0 +[1.41.0/0.63.0/0.17.0/0.0.15]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.41.0 [1.40.0/0.62.0/0.16.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.40.0 [1.39.0/0.61.0/0.15.0/0.0.14]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.39.0 [1.38.0/0.60.0/0.14.0/0.0.13]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.38.0 @@ -3635,6 +3678,7 @@ It contains api and sdk for trace and meter. +[Go 1.26]: https://go.dev/doc/go1.26 [Go 1.25]: https://go.dev/doc/go1.25 [Go 1.24]: https://go.dev/doc/go1.24 [Go 1.23]: https://go.dev/doc/go1.23 diff --git a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md index 38dede932..12de3607a 100644 --- a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md +++ b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md @@ -746,8 +746,8 @@ Encapsulate setup in constructor functions, ensuring clear ownership and scope: import ( "errors" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" - "go.opentelemetry.io/otel/semconv/v1.39.0/otelconv" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" + "go.opentelemetry.io/otel/semconv/v1.40.0/otelconv" ) type SDKComponent struct { @@ -1039,7 +1039,7 @@ func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan) All observability metrics should follow the [OpenTelemetry Semantic Conventions for SDK metrics](https://github.com/open-telemetry/semantic-conventions/blob/1cf2476ae5e518225a766990a28a6d5602bd5a30/docs/otel/sdk-metrics.md). -Use the metric semantic conventions convenience package [otelconv](./semconv/v1.39.0/otelconv/metric.go). +Use the metric semantic conventions convenience package [otelconv](./semconv/v1.40.0/otelconv/metric.go). ##### Component Identification diff --git a/vendor/go.opentelemetry.io/otel/Makefile b/vendor/go.opentelemetry.io/otel/Makefile index 44870248c..9f6e6b511 100644 --- a/vendor/go.opentelemetry.io/otel/Makefile +++ b/vendor/go.opentelemetry.io/otel/Makefile @@ -185,11 +185,10 @@ test-coverage: $(GOCOVMERGE) .PHONY: benchmark benchmark: $(OTEL_GO_MOD_DIRS:%=benchmark/%) benchmark/%: - @echo "$(GO) test -run=xxxxxMatchNothingxxxxx -bench=. $*..." \ - && cd $* \ - && $(GO) list ./... \ - | grep -v third_party \ - | xargs $(GO) test -run=xxxxxMatchNothingxxxxx -bench=. + cd $* && $(GO) test -run='^$$' -bench=. $(ARGS) ./... + +print-sharded-benchmarks: + @echo $(OTEL_GO_MOD_DIRS) | jq -cR 'split(" ")' .PHONY: golangci-lint golangci-lint-fix golangci-lint-fix: ARGS=--fix @@ -215,7 +214,7 @@ go-mod-tidy/%: crosslink && $(GO) mod tidy -compat=1.21 .PHONY: lint -lint: misspell go-mod-tidy golangci-lint govulncheck +lint: misspell go-mod-tidy golangci-lint .PHONY: vanity-import-check vanity-import-check: $(PORTO) diff --git a/vendor/go.opentelemetry.io/otel/README.md b/vendor/go.opentelemetry.io/otel/README.md index c63359543..16a72004c 100644 --- a/vendor/go.opentelemetry.io/otel/README.md +++ b/vendor/go.opentelemetry.io/otel/README.md @@ -53,20 +53,20 @@ Currently, this project supports the following environments. | OS | Go Version | Architecture | |----------|------------|--------------| +| Ubuntu | 1.26 | amd64 | | Ubuntu | 1.25 | amd64 | -| Ubuntu | 1.24 | amd64 | +| Ubuntu | 1.26 | 386 | | Ubuntu | 1.25 | 386 | -| Ubuntu | 1.24 | 386 | +| Ubuntu | 1.26 | arm64 | | Ubuntu | 1.25 | arm64 | -| Ubuntu | 1.24 | arm64 | +| macOS | 1.26 | amd64 | | macOS | 1.25 | amd64 | -| macOS | 1.24 | amd64 | +| macOS | 1.26 | arm64 | | macOS | 1.25 | arm64 | -| macOS | 1.24 | arm64 | +| Windows | 1.26 | amd64 | | Windows | 1.25 | amd64 | -| Windows | 1.24 | amd64 | +| Windows | 1.26 | 386 | | Windows | 1.25 | 386 | -| Windows | 1.24 | 386 | While this project should work for other systems, no compatibility guarantees are made for those systems currently. diff --git a/vendor/go.opentelemetry.io/otel/baggage/baggage.go b/vendor/go.opentelemetry.io/otel/baggage/baggage.go index c4093e49a..878ffbe43 100644 --- a/vendor/go.opentelemetry.io/otel/baggage/baggage.go +++ b/vendor/go.opentelemetry.io/otel/baggage/baggage.go @@ -14,8 +14,7 @@ import ( ) const ( - maxMembers = 180 - maxBytesPerMembers = 4096 + maxMembers = 64 maxBytesPerBaggageString = 8192 listDelimiter = "," @@ -29,7 +28,6 @@ var ( errInvalidProperty = errors.New("invalid baggage list-member property") errInvalidMember = errors.New("invalid baggage list-member") errMemberNumber = errors.New("too many list-members in baggage-string") - errMemberBytes = errors.New("list-member too large") errBaggageBytes = errors.New("baggage-string too large") ) @@ -309,10 +307,6 @@ func newInvalidMember() Member { // an error if the input is invalid according to the W3C Baggage // specification. func parseMember(member string) (Member, error) { - if n := len(member); n > maxBytesPerMembers { - return newInvalidMember(), fmt.Errorf("%w: %d", errMemberBytes, n) - } - var props properties keyValue, properties, found := strings.Cut(member, propertyDelimiter) if found { @@ -430,6 +424,10 @@ type Baggage struct { //nolint:golint // New returns a new valid Baggage. It returns an error if it results in a // Baggage exceeding limits set in that specification. // +// If the resulting Baggage exceeds the maximum allowed members or bytes, +// members are dropped until the limits are satisfied and an error is returned +// along with the partial result. +// // It expects all the provided members to have already been validated. func New(members ...Member) (Baggage, error) { if len(members) == 0 { @@ -441,7 +439,6 @@ func New(members ...Member) (Baggage, error) { if !m.hasData { return Baggage{}, errInvalidMember } - // OpenTelemetry resolves duplicates by last-one-wins. b[m.key] = baggage.Item{ Value: m.value, @@ -449,17 +446,42 @@ func New(members ...Member) (Baggage, error) { } } - // Check member numbers after deduplication. + var truncateErr error + + // Check member count after deduplication. if len(b) > maxMembers { - return Baggage{}, errMemberNumber + truncateErr = errors.Join(truncateErr, errMemberNumber) + for k := range b { + if len(b) <= maxMembers { + break + } + delete(b, k) + } } - bag := Baggage{b} - if n := len(bag.String()); n > maxBytesPerBaggageString { - return Baggage{}, fmt.Errorf("%w: %d", errBaggageBytes, n) + // Check byte size and drop members if necessary. + totalBytes := 0 + first := true + for k := range b { + m := Member{ + key: k, + value: b[k].Value, + properties: fromInternalProperties(b[k].Properties), + } + memberSize := len(m.String()) + if !first { + memberSize++ // comma separator + } + if totalBytes+memberSize > maxBytesPerBaggageString { + truncateErr = errors.Join(truncateErr, fmt.Errorf("%w: %d", errBaggageBytes, totalBytes+memberSize)) + delete(b, k) + continue + } + totalBytes += memberSize + first = false } - return bag, nil + return Baggage{b}, truncateErr } // Parse attempts to decode a baggage-string from the passed string. It @@ -470,36 +492,71 @@ func New(members ...Member) (Baggage, error) { // defined (reading left-to-right) will be the only one kept. This diverges // from the W3C Baggage specification which allows duplicate list-members, but // conforms to the OpenTelemetry Baggage specification. +// +// If the baggage-string exceeds the maximum allowed members (64) or bytes +// (8192), members are dropped until the limits are satisfied and an error is +// returned along with the partial result. +// +// Invalid members are skipped and the error is returned along with the +// partial result containing the valid members. func Parse(bStr string) (Baggage, error) { if bStr == "" { return Baggage{}, nil } - if n := len(bStr); n > maxBytesPerBaggageString { - return Baggage{}, fmt.Errorf("%w: %d", errBaggageBytes, n) - } - b := make(baggage.List) + sizes := make(map[string]int) // Track per-key byte sizes + var totalBytes int + var truncateErr error for memberStr := range strings.SplitSeq(bStr, listDelimiter) { + // Check member count limit. + if len(b) >= maxMembers { + truncateErr = errors.Join(truncateErr, errMemberNumber) + break + } + m, err := parseMember(memberStr) if err != nil { - return Baggage{}, err + truncateErr = errors.Join(truncateErr, err) + continue // skip invalid member, keep processing } + + // Check byte size limit. + // Account for comma separator between members. + memberBytes := len(m.String()) + _, existingKey := b[m.key] + if !existingKey && len(b) > 0 { + memberBytes++ // comma separator only for new keys + } + + // Calculate new totalBytes if we add/overwrite this key + var newTotalBytes int + if oldSize, exists := sizes[m.key]; exists { + // Overwriting existing key: subtract old size, add new size + newTotalBytes = totalBytes - oldSize + memberBytes + } else { + // New key + newTotalBytes = totalBytes + memberBytes + } + + if newTotalBytes > maxBytesPerBaggageString { + truncateErr = errors.Join(truncateErr, errBaggageBytes) + break + } + // OpenTelemetry resolves duplicates by last-one-wins. b[m.key] = baggage.Item{ Value: m.value, Properties: m.properties.asInternal(), } + sizes[m.key] = memberBytes + totalBytes = newTotalBytes } - // OpenTelemetry does not allow for duplicate list-members, but the W3C - // specification does. Now that we have deduplicated, ensure the baggage - // does not exceed list-member limits. - if len(b) > maxMembers { - return Baggage{}, errMemberNumber + if len(b) == 0 { + return Baggage{}, truncateErr } - - return Baggage{b}, nil + return Baggage{b}, truncateErr } // Member returns the baggage list-member identified by key. diff --git a/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile index 676e79116..f0cc942ba 100644 --- a/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile +++ b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile @@ -1,4 +1,4 @@ # This is a renovate-friendly source of Docker images. FROM python:3.13.6-slim-bullseye@sha256:e98b521460ee75bca92175c16247bdf7275637a8faaeb2bcfa19d879ae5c4b9a AS python -FROM otel/weaver:v0.20.0@sha256:fa4f1c6954ecea78ab1a4e865bd6f5b4aaba80c1896f9f4a11e2c361d04e197e AS weaver +FROM otel/weaver:v0.21.2@sha256:2401de985c38bdb98b43918e2f43aa36b2afed4aa5669ac1c1de0a17301cd36d AS weaver FROM avtodev/markdown-lint:v1@sha256:6aeedc2f49138ce7a1cd0adffc1b1c0321b841dc2102408967d9301c031949ee AS markdown diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go index 76b7cd461..258d0ca6a 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go @@ -62,7 +62,7 @@ func NewClient(opts ...Option) otlptrace.Client { func newClient(opts ...Option) *client { cfg := otlpconfig.NewGRPCConfig(asGRPCOptions(opts)...) - ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := context.WithCancel(context.Background()) //nolint:gosec // cancel called in client shutdown. c := &client{ endpoint: cfg.Traces.Endpoint, @@ -248,7 +248,7 @@ func (c *client) exportContext(parent context.Context) (context.Context, context if c.exportTimeout > 0 { ctx, cancel = context.WithTimeoutCause(parent, c.exportTimeout, errors.New("exporter export timeout")) } else { - ctx, cancel = context.WithCancel(parent) + ctx, cancel = context.WithCancel(parent) //nolint:gosec // cancel called by caller when export is complete. } if c.metadata.Len() > 0 { diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go index d4a69f4d7..a84733174 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go @@ -18,8 +18,8 @@ import ( "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/x" "go.opentelemetry.io/otel/internal/global" "go.opentelemetry.io/otel/metric" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" - "go.opentelemetry.io/otel/semconv/v1.39.0/otelconv" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" + "go.opentelemetry.io/otel/semconv/v1.40.0/otelconv" ) const ( @@ -208,10 +208,12 @@ func BaseAttrs(id int64, target string) []attribute.KeyValue { func (i *Instrumentation) ExportSpans(ctx context.Context, nSpans int) ExportOp { start := time.Now() - addOpt := get[metric.AddOption](addOptPool) - defer put(addOptPool, addOpt) - *addOpt = append(*addOpt, i.addOpt) - i.inflightSpans.Add(ctx, int64(nSpans), *addOpt...) + if i.inflightSpans.Enabled(ctx) { + addOpt := get[metric.AddOption](addOptPool) + defer put(addOptPool, addOpt) + *addOpt = append(*addOpt, i.addOpt) + i.inflightSpans.Add(ctx, int64(nSpans), *addOpt...) + } return ExportOp{ ctx: ctx, @@ -244,14 +246,18 @@ func (e ExportOp) End(err error, code codes.Code) { defer put(addOptPool, addOpt) *addOpt = append(*addOpt, e.inst.addOpt) - e.inst.inflightSpans.Add(e.ctx, -e.nSpans, *addOpt...) + if e.inst.inflightSpans.Enabled(e.ctx) { + e.inst.inflightSpans.Add(e.ctx, -e.nSpans, *addOpt...) + } success := successful(e.nSpans, err) // Record successfully exported spans, even if the value is 0 which are // meaningful to distribution aggregations. - e.inst.exportedSpans.Add(e.ctx, success, *addOpt...) + if e.inst.exportedSpans.Enabled(e.ctx) { + e.inst.exportedSpans.Add(e.ctx, success, *addOpt...) + } - if err != nil { + if err != nil && e.inst.exportedSpans.Enabled(e.ctx) { attrs := get[attribute.KeyValue](measureAttrsPool) defer put(measureAttrsPool, attrs) *attrs = append(*attrs, e.inst.attrs...) @@ -266,12 +272,14 @@ func (e ExportOp) End(err error, code codes.Code) { e.inst.exportedSpans.Add(e.ctx, e.nSpans-success, *addOpt...) } - recOpt := get[metric.RecordOption](recordOptPool) - defer put(recordOptPool, recOpt) - *recOpt = append(*recOpt, e.inst.recordOption(err, code)) + if e.inst.opDuration.Enabled(e.ctx) { + recOpt := get[metric.RecordOption](recordOptPool) + defer put(recordOptPool, recOpt) + *recOpt = append(*recOpt, e.inst.recordOption(err, code)) - d := time.Since(e.start).Seconds() - e.inst.opDuration.Record(e.ctx, d, *recOpt...) + d := time.Since(e.start).Seconds() + e.inst.opDuration.Record(e.ctx, d, *recOpt...) + } } // recordOption returns a RecordOption with attributes representing the diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go index 19fac1b72..9d4b31192 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go @@ -5,4 +5,4 @@ package internal // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/ot // Version is the current release version of the OpenTelemetry OTLP gRPC trace // exporter in use. -const Version = "1.40.0" +const Version = "1.42.0" diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go index 370cd2a6f..d1b43c3ba 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go @@ -5,5 +5,5 @@ package otlptrace // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace" // Version is the current release version of the OpenTelemetry OTLP trace exporter in use. func Version() string { - return "1.40.0" + return "1.42.0" } diff --git a/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go b/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go new file mode 100644 index 000000000..3f0ab3131 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go @@ -0,0 +1,96 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package errorhandler provides the global error handler for OpenTelemetry. +// +// This package has no OTel dependencies, allowing it to be imported by any +// package in the module without creating import cycles. +package errorhandler // import "go.opentelemetry.io/otel/internal/errorhandler" + +import ( + "errors" + "log" + "sync" + "sync/atomic" +) + +// ErrorHandler handles irremediable events. +type ErrorHandler interface { + // Handle handles any error deemed irremediable by an OpenTelemetry + // component. + Handle(error) +} + +type ErrDelegator struct { + delegate atomic.Pointer[ErrorHandler] +} + +// Compile-time check that delegator implements ErrorHandler. +var _ ErrorHandler = (*ErrDelegator)(nil) + +func (d *ErrDelegator) Handle(err error) { + if eh := d.delegate.Load(); eh != nil { + (*eh).Handle(err) + return + } + log.Print(err) +} + +// setDelegate sets the ErrorHandler delegate. +func (d *ErrDelegator) setDelegate(eh ErrorHandler) { + d.delegate.Store(&eh) +} + +type errorHandlerHolder struct { + eh ErrorHandler +} + +var ( + globalErrorHandler = defaultErrorHandler() + delegateErrorHandlerOnce sync.Once +) + +// GetErrorHandler returns the global ErrorHandler instance. +// +// The default ErrorHandler instance returned will log all errors to STDERR +// until an override ErrorHandler is set with SetErrorHandler. All +// ErrorHandler returned prior to this will automatically forward errors to +// the set instance instead of logging. +// +// Subsequent calls to SetErrorHandler after the first will not forward errors +// to the new ErrorHandler for prior returned instances. +func GetErrorHandler() ErrorHandler { + return globalErrorHandler.Load().(errorHandlerHolder).eh +} + +// SetErrorHandler sets the global ErrorHandler to h. +// +// The first time this is called all ErrorHandler previously returned from +// GetErrorHandler will send errors to h instead of the default logging +// ErrorHandler. Subsequent calls will set the global ErrorHandler, but not +// delegate errors to h. +func SetErrorHandler(h ErrorHandler) { + current := GetErrorHandler() + + if _, cOk := current.(*ErrDelegator); cOk { + if _, ehOk := h.(*ErrDelegator); ehOk && current == h { + // Do not assign to the delegate of the default ErrDelegator to be + // itself. + log.Print(errors.New("no ErrorHandler delegate configured"), " ErrorHandler remains its current value.") + return + } + } + + delegateErrorHandlerOnce.Do(func() { + if def, ok := current.(*ErrDelegator); ok { + def.setDelegate(h) + } + }) + globalErrorHandler.Store(errorHandlerHolder{eh: h}) +} + +func defaultErrorHandler() *atomic.Value { + v := &atomic.Value{} + v.Store(errorHandlerHolder{eh: &ErrDelegator{}}) + return v +} diff --git a/vendor/go.opentelemetry.io/otel/internal/global/handler.go b/vendor/go.opentelemetry.io/otel/internal/global/handler.go index 2e47b2964..77d0425f5 100644 --- a/vendor/go.opentelemetry.io/otel/internal/global/handler.go +++ b/vendor/go.opentelemetry.io/otel/internal/global/handler.go @@ -5,33 +5,13 @@ package global // import "go.opentelemetry.io/otel/internal/global" import ( - "log" - "sync/atomic" + "go.opentelemetry.io/otel/internal/errorhandler" ) -// ErrorHandler handles irremediable events. -type ErrorHandler interface { - // Handle handles any error deemed irremediable by an OpenTelemetry - // component. - Handle(error) -} +// ErrorHandler is an alias for errorhandler.ErrorHandler, kept for backward +// compatibility with existing callers of internal/global. +type ErrorHandler = errorhandler.ErrorHandler -type ErrDelegator struct { - delegate atomic.Pointer[ErrorHandler] -} - -// Compile-time check that delegator implements ErrorHandler. -var _ ErrorHandler = (*ErrDelegator)(nil) - -func (d *ErrDelegator) Handle(err error) { - if eh := d.delegate.Load(); eh != nil { - (*eh).Handle(err) - return - } - log.Print(err) -} - -// setDelegate sets the ErrorHandler delegate. -func (d *ErrDelegator) setDelegate(eh ErrorHandler) { - d.delegate.Store(&eh) -} +// ErrDelegator is an alias for errorhandler.ErrDelegator, kept for backward +// compatibility with existing callers of internal/global. +type ErrDelegator = errorhandler.ErrDelegator diff --git a/vendor/go.opentelemetry.io/otel/internal/global/state.go b/vendor/go.opentelemetry.io/otel/internal/global/state.go index 204ea142a..225c9e501 100644 --- a/vendor/go.opentelemetry.io/otel/internal/global/state.go +++ b/vendor/go.opentelemetry.io/otel/internal/global/state.go @@ -8,16 +8,13 @@ import ( "sync" "sync/atomic" + "go.opentelemetry.io/otel/internal/errorhandler" "go.opentelemetry.io/otel/metric" "go.opentelemetry.io/otel/propagation" "go.opentelemetry.io/otel/trace" ) type ( - errorHandlerHolder struct { - eh ErrorHandler - } - tracerProviderHolder struct { tp trace.TracerProvider } @@ -32,12 +29,10 @@ type ( ) var ( - globalErrorHandler = defaultErrorHandler() globalTracer = defaultTracerValue() globalPropagators = defaultPropagatorsValue() globalMeterProvider = defaultMeterProvider() - delegateErrorHandlerOnce sync.Once delegateTraceOnce sync.Once delegateTextMapPropagatorOnce sync.Once delegateMeterOnce sync.Once @@ -53,7 +48,7 @@ var ( // Subsequent calls to SetErrorHandler after the first will not forward errors // to the new ErrorHandler for prior returned instances. func GetErrorHandler() ErrorHandler { - return globalErrorHandler.Load().(errorHandlerHolder).eh + return errorhandler.GetErrorHandler() } // SetErrorHandler sets the global ErrorHandler to h. @@ -63,26 +58,7 @@ func GetErrorHandler() ErrorHandler { // ErrorHandler. Subsequent calls will set the global ErrorHandler, but not // delegate errors to h. func SetErrorHandler(h ErrorHandler) { - current := GetErrorHandler() - - if _, cOk := current.(*ErrDelegator); cOk { - if _, ehOk := h.(*ErrDelegator); ehOk && current == h { - // Do not assign to the delegate of the default ErrDelegator to be - // itself. - Error( - errors.New("no ErrorHandler delegate configured"), - "ErrorHandler remains its current value.", - ) - return - } - } - - delegateErrorHandlerOnce.Do(func() { - if def, ok := current.(*ErrDelegator); ok { - def.setDelegate(h) - } - }) - globalErrorHandler.Store(errorHandlerHolder{eh: h}) + errorhandler.SetErrorHandler(h) } // TracerProvider is the internal implementation for global.TracerProvider. @@ -174,12 +150,6 @@ func SetMeterProvider(mp metric.MeterProvider) { globalMeterProvider.Store(meterProviderHolder{mp: mp}) } -func defaultErrorHandler() *atomic.Value { - v := &atomic.Value{} - v.Store(errorHandlerHolder{eh: &ErrDelegator{}}) - return v -} - func defaultTracerValue() *atomic.Value { v := &atomic.Value{} v.Store(tracerProviderHolder{tp: &tracerProvider{}}) diff --git a/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go b/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go index eb4f5961f..466812d34 100644 --- a/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go +++ b/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go @@ -211,6 +211,9 @@ type Float64Observer interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Observe(value float64, options ...ObserveOption) } diff --git a/vendor/go.opentelemetry.io/otel/metric/asyncint64.go b/vendor/go.opentelemetry.io/otel/metric/asyncint64.go index 1dfc4b0f2..66c971bd8 100644 --- a/vendor/go.opentelemetry.io/otel/metric/asyncint64.go +++ b/vendor/go.opentelemetry.io/otel/metric/asyncint64.go @@ -210,6 +210,9 @@ type Int64Observer interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Observe(value int64, options ...ObserveOption) } diff --git a/vendor/go.opentelemetry.io/otel/metric/meter.go b/vendor/go.opentelemetry.io/otel/metric/meter.go index a16c4c0a1..5606ec4bd 100644 --- a/vendor/go.opentelemetry.io/otel/metric/meter.go +++ b/vendor/go.opentelemetry.io/otel/metric/meter.go @@ -30,6 +30,9 @@ type MeterProvider interface { // // If the name is empty, then an implementation defined default name will // be used instead. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Meter(name string, opts ...MeterOption) Meter } @@ -51,6 +54,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Int64Counter(name string, options ...Int64CounterOption) (Int64Counter, error) // Int64UpDownCounter returns a new Int64UpDownCounter instrument @@ -61,6 +67,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Int64UpDownCounter(name string, options ...Int64UpDownCounterOption) (Int64UpDownCounter, error) // Int64Histogram returns a new Int64Histogram instrument identified by @@ -71,6 +80,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Int64Histogram(name string, options ...Int64HistogramOption) (Int64Histogram, error) // Int64Gauge returns a new Int64Gauge instrument identified by name and @@ -80,6 +92,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Int64Gauge(name string, options ...Int64GaugeOption) (Int64Gauge, error) // Int64ObservableCounter returns a new Int64ObservableCounter identified @@ -95,6 +110,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Int64ObservableCounter(name string, options ...Int64ObservableCounterOption) (Int64ObservableCounter, error) // Int64ObservableUpDownCounter returns a new Int64ObservableUpDownCounter @@ -110,6 +128,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Int64ObservableUpDownCounter( name string, options ...Int64ObservableUpDownCounterOption, @@ -128,6 +149,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Int64ObservableGauge(name string, options ...Int64ObservableGaugeOption) (Int64ObservableGauge, error) // Float64Counter returns a new Float64Counter instrument identified by @@ -148,6 +172,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Float64UpDownCounter(name string, options ...Float64UpDownCounterOption) (Float64UpDownCounter, error) // Float64Histogram returns a new Float64Histogram instrument identified by @@ -158,6 +185,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Float64Histogram(name string, options ...Float64HistogramOption) (Float64Histogram, error) // Float64Gauge returns a new Float64Gauge instrument identified by name and @@ -167,6 +197,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Float64Gauge(name string, options ...Float64GaugeOption) (Float64Gauge, error) // Float64ObservableCounter returns a new Float64ObservableCounter @@ -182,6 +215,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Float64ObservableCounter(name string, options ...Float64ObservableCounterOption) (Float64ObservableCounter, error) // Float64ObservableUpDownCounter returns a new @@ -197,6 +233,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Float64ObservableUpDownCounter( name string, options ...Float64ObservableUpDownCounterOption, @@ -215,6 +254,9 @@ type Meter interface { // The name needs to conform to the OpenTelemetry instrument name syntax. // See the Instrument Name section of the package documentation for more // information. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Float64ObservableGauge(name string, options ...Float64ObservableGaugeOption) (Float64ObservableGauge, error) // RegisterCallback registers f to be called during the collection of a @@ -229,6 +271,9 @@ type Meter interface { // If no instruments are passed, f should not be registered nor called // during collection. // + // Implementations of this method need to be safe for a user to call + // concurrently. + // // The function f needs to be concurrent safe. RegisterCallback(f Callback, instruments ...Observable) (Registration, error) } @@ -263,9 +308,15 @@ type Observer interface { embedded.Observer // ObserveFloat64 records the float64 value for obsrv. + // + // Implementations of this method need to be safe for a user to call + // concurrently. ObserveFloat64(obsrv Float64Observable, value float64, opts ...ObserveOption) // ObserveInt64 records the int64 value for obsrv. + // + // Implementations of this method need to be safe for a user to call + // concurrently. ObserveInt64(obsrv Int64Observable, value int64, opts ...ObserveOption) } @@ -283,6 +334,7 @@ type Registration interface { // Unregister removes the callback registration from a Meter. // - // This method needs to be idempotent and concurrent safe. + // Implementations of this method need to be idempotent and safe for a user + // to call concurrently. Unregister() error } diff --git a/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go b/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go index 57a74c5e6..abb3051d7 100644 --- a/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go +++ b/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go @@ -24,12 +24,18 @@ type Float64Counter interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Add(ctx context.Context, incr float64, options ...AddOption) // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Enabled(context.Context) bool } @@ -83,12 +89,18 @@ type Float64UpDownCounter interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Add(ctx context.Context, incr float64, options ...AddOption) // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Enabled(context.Context) bool } @@ -142,12 +154,18 @@ type Float64Histogram interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Record(ctx context.Context, incr float64, options ...RecordOption) // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Enabled(context.Context) bool } @@ -206,12 +224,18 @@ type Float64Gauge interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Record(ctx context.Context, value float64, options ...RecordOption) // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Enabled(context.Context) bool } diff --git a/vendor/go.opentelemetry.io/otel/metric/syncint64.go b/vendor/go.opentelemetry.io/otel/metric/syncint64.go index ac2d033ea..5bbfaf039 100644 --- a/vendor/go.opentelemetry.io/otel/metric/syncint64.go +++ b/vendor/go.opentelemetry.io/otel/metric/syncint64.go @@ -24,12 +24,18 @@ type Int64Counter interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Add(ctx context.Context, incr int64, options ...AddOption) // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Enabled(context.Context) bool } @@ -83,12 +89,18 @@ type Int64UpDownCounter interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Add(ctx context.Context, incr int64, options ...AddOption) // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Enabled(context.Context) bool } @@ -142,12 +154,18 @@ type Int64Histogram interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Record(ctx context.Context, incr int64, options ...RecordOption) // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Enabled(context.Context) bool } @@ -206,12 +224,18 @@ type Int64Gauge interface { // // Use the WithAttributeSet (or, if performance is not a concern, // the WithAttributes) option to include measurement attributes. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Record(ctx context.Context, value int64, options ...RecordOption) // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. + // + // Implementations of this method need to be safe for a user to call + // concurrently. Enabled(context.Context) bool } diff --git a/vendor/go.opentelemetry.io/otel/propagation/baggage.go b/vendor/go.opentelemetry.io/otel/propagation/baggage.go index 051882602..2ecca3fed 100644 --- a/vendor/go.opentelemetry.io/otel/propagation/baggage.go +++ b/vendor/go.opentelemetry.io/otel/propagation/baggage.go @@ -7,9 +7,16 @@ import ( "context" "go.opentelemetry.io/otel/baggage" + "go.opentelemetry.io/otel/internal/errorhandler" ) -const baggageHeader = "baggage" +const ( + baggageHeader = "baggage" + + // W3C Baggage specification limits. + // https://www.w3.org/TR/baggage/#limits + maxMembers = 64 +) // Baggage is a propagator that supports the W3C Baggage format. // @@ -50,6 +57,9 @@ func extractSingleBaggage(parent context.Context, carrier TextMapCarrier) contex bag, err := baggage.Parse(bStr) if err != nil { + errorhandler.GetErrorHandler().Handle(err) + } + if bag.Len() == 0 { return parent } return baggage.ContextWithBaggage(parent, bag) @@ -60,17 +70,27 @@ func extractMultiBaggage(parent context.Context, carrier ValuesGetter) context.C if len(bVals) == 0 { return parent } + var members []baggage.Member for _, bStr := range bVals { currBag, err := baggage.Parse(bStr) if err != nil { + errorhandler.GetErrorHandler().Handle(err) + } + if currBag.Len() == 0 { continue } members = append(members, currBag.Members()...) + if len(members) >= maxMembers { + break + } } b, err := baggage.New(members...) - if err != nil || b.Len() == 0 { + if err != nil { + errorhandler.GetErrorHandler().Handle(err) + } + if b.Len() == 0 { return parent } return baggage.ContextWithBaggage(parent, b) diff --git a/vendor/go.opentelemetry.io/otel/propagation/trace_context.go b/vendor/go.opentelemetry.io/otel/propagation/trace_context.go index 271ab71f1..11f404deb 100644 --- a/vendor/go.opentelemetry.io/otel/propagation/trace_context.go +++ b/vendor/go.opentelemetry.io/otel/propagation/trace_context.go @@ -46,8 +46,8 @@ func (TraceContext) Inject(ctx context.Context, carrier TextMapCarrier) { carrier.Set(tracestateHeader, ts) } - // Clear all flags other than the trace-context supported sampling bit. - flags := sc.TraceFlags() & trace.FlagsSampled + // Preserve only the spec-defined flags: sampled (0x01) and random (0x02). + flags := sc.TraceFlags() & (trace.FlagsSampled | trace.FlagsRandom) var sb strings.Builder sb.Grow(2 + 32 + 16 + 2 + 3) @@ -104,14 +104,13 @@ func (TraceContext) extract(carrier TextMapCarrier) trace.SpanContext { if !extractPart(opts[:], &h, 2) { return trace.SpanContext{} } - if version == 0 && (h != "" || opts[0] > 2) { - // version 0 not allow extra - // version 0 not allow other flag + if version == 0 && (h != "" || opts[0] > 3) { + // version 0 does not allow extra fields or reserved flag bits. return trace.SpanContext{} } - // Clear all flags other than the trace-context supported sampling bit. - scc.TraceFlags = trace.TraceFlags(opts[0]) & trace.FlagsSampled // nolint:gosec // slice size already checked. + scc.TraceFlags = trace.TraceFlags(opts[0]) & //nolint:gosec // slice size already checked. + (trace.FlagsSampled | trace.FlagsRandom) // Ignore the error returned here. Failure to parse tracestate MUST NOT // affect the parsing of traceparent according to the W3C tracecontext diff --git a/vendor/go.opentelemetry.io/otel/requirements.txt b/vendor/go.opentelemetry.io/otel/requirements.txt index 1bb55fb1c..7c541dee7 100644 --- a/vendor/go.opentelemetry.io/otel/requirements.txt +++ b/vendor/go.opentelemetry.io/otel/requirements.txt @@ -1 +1 @@ -codespell==2.4.1 +codespell==2.4.2 diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go b/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go index 8a7bb330b..04f15fcd2 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" ) type ( diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/container.go b/vendor/go.opentelemetry.io/otel/sdk/resource/container.go index a19b39def..e977ff1c4 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/container.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/container.go @@ -11,7 +11,7 @@ import ( "os" "regexp" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" ) type containerIDProvider func() (string, error) diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/env.go b/vendor/go.opentelemetry.io/otel/sdk/resource/env.go index c49157224..bc0e5c19e 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/env.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/env.go @@ -12,7 +12,7 @@ import ( "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" ) const ( diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go index 023621ba7..1a72b756a 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go @@ -8,7 +8,7 @@ import ( "errors" "strings" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" ) type hostIDProvider func() (string, error) diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go index 6354b3560..c95d87685 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go @@ -8,7 +8,7 @@ package resource // import "go.opentelemetry.io/otel/sdk/resource" import "os" func readFile(filename string) (string, error) { - b, err := os.ReadFile(filename) + b, err := os.ReadFile(filename) // nolint:gosec // false positive if err != nil { return "", err } diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/os.go b/vendor/go.opentelemetry.io/otel/sdk/resource/os.go index 534809e21..f5682cad4 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/os.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/os.go @@ -8,7 +8,7 @@ import ( "strings" "go.opentelemetry.io/otel/attribute" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" ) type osDescriptionProvider func() (string, error) diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/process.go b/vendor/go.opentelemetry.io/otel/sdk/resource/process.go index a1189553c..99dce64f6 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/process.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/process.go @@ -11,7 +11,7 @@ import ( "path/filepath" "runtime" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" ) type ( diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go b/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go index 7d15cbb9c..c7c317fbc 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go @@ -123,12 +123,10 @@ func NewBatchSpanProcessor(exporter SpanExporter, options ...BatchSpanProcessorO otel.Handle(err) } - bsp.stopWait.Add(1) - go func() { - defer bsp.stopWait.Done() + bsp.stopWait.Go(func() { bsp.processQueue() bsp.drainQueue() - }() + }) return bsp } diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.go b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.go index d9cfba0b4..c31e03aa0 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.go @@ -13,8 +13,8 @@ import ( "go.opentelemetry.io/otel/metric" "go.opentelemetry.io/otel/sdk" "go.opentelemetry.io/otel/sdk/internal/x" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" - "go.opentelemetry.io/otel/semconv/v1.39.0/otelconv" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" + "go.opentelemetry.io/otel/semconv/v1.40.0/otelconv" ) const ( diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.go b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.go index 8afd05267..0e77cd953 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.go @@ -13,8 +13,8 @@ import ( "go.opentelemetry.io/otel/metric" "go.opentelemetry.io/otel/sdk" "go.opentelemetry.io/otel/sdk/internal/x" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" - "go.opentelemetry.io/otel/semconv/v1.39.0/otelconv" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" + "go.opentelemetry.io/otel/semconv/v1.40.0/otelconv" ) var measureAttrsPool = sync.Pool{ diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.go b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.go index 13a2db296..a2334811e 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.go @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/otel/metric" "go.opentelemetry.io/otel/sdk" "go.opentelemetry.io/otel/sdk/internal/x" - "go.opentelemetry.io/otel/semconv/v1.39.0/otelconv" + "go.opentelemetry.io/otel/semconv/v1.40.0/otelconv" "go.opentelemetry.io/otel/trace" ) diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go b/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go index d2cf4ebd3..4ba4acf13 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go @@ -5,6 +5,7 @@ package trace // import "go.opentelemetry.io/otel/sdk/trace" import ( "context" + "errors" "fmt" "sync" "sync/atomic" @@ -262,6 +263,7 @@ func (p *TracerProvider) ForceFlush(ctx context.Context) error { return nil } + var err error for _, sps := range spss { select { case <-ctx.Done(): @@ -269,11 +271,9 @@ func (p *TracerProvider) ForceFlush(ctx context.Context) error { default: } - if err := sps.sp.ForceFlush(ctx); err != nil { - return err - } + err = errors.Join(err, sps.sp.ForceFlush(ctx)) } - return nil + return err } // Shutdown shuts down TracerProvider. All registered span processors are shut down diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/span.go b/vendor/go.opentelemetry.io/otel/sdk/trace/span.go index d46661059..7d55ce1dc 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/span.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/span.go @@ -20,7 +20,7 @@ import ( "go.opentelemetry.io/otel/internal/global" "go.opentelemetry.io/otel/sdk/instrumentation" "go.opentelemetry.io/otel/sdk/resource" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/otel/trace/embedded" ) diff --git a/vendor/go.opentelemetry.io/otel/sdk/version.go b/vendor/go.opentelemetry.io/otel/sdk/version.go index b5497c281..96e0fc60f 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/version.go +++ b/vendor/go.opentelemetry.io/otel/sdk/version.go @@ -6,5 +6,5 @@ package sdk // import "go.opentelemetry.io/otel/sdk" // Version is the current release version of the OpenTelemetry SDK in use. func Version() string { - return "1.40.0" + return "1.42.0" } diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/MIGRATION.md b/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/MIGRATION.md deleted file mode 100644 index fed7013e6..000000000 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/MIGRATION.md +++ /dev/null @@ -1,78 +0,0 @@ - -# Migration from v1.38.0 to v1.39.0 - -The `go.opentelemetry.io/otel/semconv/v1.39.0` package should be a drop-in replacement for `go.opentelemetry.io/otel/semconv/v1.38.0` with the following exceptions. - -## Removed - -The following declarations have been removed. -Refer to the [OpenTelemetry Semantic Conventions documentation] for deprecation instructions. - -If the type is not listed in the documentation as deprecated, it has been removed in this version due to lack of applicability or use. -If you use any of these non-deprecated declarations in your Go application, please [open an issue] describing your use-case. - -- `LinuxMemorySlabStateKey` -- `LinuxMemorySlabStateReclaimable` -- `LinuxMemorySlabStateUnreclaimable` -- `PeerService` -- `PeerServiceKey` -- `RPCConnectRPCErrorCodeAborted` -- `RPCConnectRPCErrorCodeAlreadyExists` -- `RPCConnectRPCErrorCodeCancelled` -- `RPCConnectRPCErrorCodeDataLoss` -- `RPCConnectRPCErrorCodeDeadlineExceeded` -- `RPCConnectRPCErrorCodeFailedPrecondition` -- `RPCConnectRPCErrorCodeInternal` -- `RPCConnectRPCErrorCodeInvalidArgument` -- `RPCConnectRPCErrorCodeKey` -- `RPCConnectRPCErrorCodeNotFound` -- `RPCConnectRPCErrorCodeOutOfRange` -- `RPCConnectRPCErrorCodePermissionDenied` -- `RPCConnectRPCErrorCodeResourceExhausted` -- `RPCConnectRPCErrorCodeUnauthenticated` -- `RPCConnectRPCErrorCodeUnavailable` -- `RPCConnectRPCErrorCodeUnimplemented` -- `RPCConnectRPCErrorCodeUnknown` -- `RPCConnectRPCRequestMetadata` -- `RPCConnectRPCResponseMetadata` -- `RPCGRPCRequestMetadata` -- `RPCGRPCResponseMetadata` -- `RPCGRPCStatusCodeAborted` -- `RPCGRPCStatusCodeAlreadyExists` -- `RPCGRPCStatusCodeCancelled` -- `RPCGRPCStatusCodeDataLoss` -- `RPCGRPCStatusCodeDeadlineExceeded` -- `RPCGRPCStatusCodeFailedPrecondition` -- `RPCGRPCStatusCodeInternal` -- `RPCGRPCStatusCodeInvalidArgument` -- `RPCGRPCStatusCodeKey` -- `RPCGRPCStatusCodeNotFound` -- `RPCGRPCStatusCodeOk` -- `RPCGRPCStatusCodeOutOfRange` -- `RPCGRPCStatusCodePermissionDenied` -- `RPCGRPCStatusCodeResourceExhausted` -- `RPCGRPCStatusCodeUnauthenticated` -- `RPCGRPCStatusCodeUnavailable` -- `RPCGRPCStatusCodeUnimplemented` -- `RPCGRPCStatusCodeUnknown` -- `RPCJSONRPCErrorCode` -- `RPCJSONRPCErrorCodeKey` -- `RPCJSONRPCErrorMessage` -- `RPCJSONRPCErrorMessageKey` -- `RPCJSONRPCRequestID` -- `RPCJSONRPCRequestIDKey` -- `RPCJSONRPCVersion` -- `RPCJSONRPCVersionKey` -- `RPCService` -- `RPCServiceKey` -- `RPCSystemApacheDubbo` -- `RPCSystemConnectRPC` -- `RPCSystemDotnetWcf` -- `RPCSystemGRPC` -- `RPCSystemJSONRPC` -- `RPCSystemJavaRmi` -- `RPCSystemKey` -- `RPCSystemOncRPC` - -[OpenTelemetry Semantic Conventions documentation]: https://github.com/open-telemetry/semantic-conventions -[open an issue]: https://github.com/open-telemetry/opentelemetry-go/issues/new?template=Blank+issue diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/README.md b/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/README.md deleted file mode 100644 index 4b0e6f7f3..000000000 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Semconv v1.39.0 - -[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/semconv/v1.39.0)](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.39.0) diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/MIGRATION.md b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/MIGRATION.md new file mode 100644 index 000000000..e246b1692 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/MIGRATION.md @@ -0,0 +1,27 @@ + +# Migration from v1.39.0 to v1.40.0 + +The `go.opentelemetry.io/otel/semconv/v1.40.0` package should be a drop-in replacement for `go.opentelemetry.io/otel/semconv/v1.39.0` with the following exceptions. + +## Removed + +The following declarations have been removed. +Refer to the [OpenTelemetry Semantic Conventions documentation] for deprecation instructions. + +If the type is not listed in the documentation as deprecated, it has been removed in this version due to lack of applicability or use. +If you use any of these non-deprecated declarations in your Go application, please [open an issue] describing your use-case. + +- `ErrorMessage` +- `ErrorMessageKey` +- `RPCMessageCompressedSize` +- `RPCMessageCompressedSizeKey` +- `RPCMessageID` +- `RPCMessageIDKey` +- `RPCMessageTypeKey` +- `RPCMessageTypeReceived` +- `RPCMessageTypeSent` +- `RPCMessageUncompressedSize` +- `RPCMessageUncompressedSizeKey` + +[OpenTelemetry Semantic Conventions documentation]: https://github.com/open-telemetry/semantic-conventions +[open an issue]: https://github.com/open-telemetry/opentelemetry-go/issues/new?template=Blank+issue diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/README.md b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/README.md new file mode 100644 index 000000000..c51b7fb7b --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/README.md @@ -0,0 +1,3 @@ +# Semconv v1.40.0 + +[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/semconv/v1.40.0)](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.40.0) diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/attribute_group.go b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/attribute_group.go similarity index 95% rename from vendor/go.opentelemetry.io/otel/semconv/v1.39.0/attribute_group.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.40.0/attribute_group.go index 080365fc1..ee6b1f79d 100644 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/attribute_group.go +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/attribute_group.go @@ -3,7 +3,7 @@ // Code generated from semantic convention specification. DO NOT EDIT. -package semconv // import "go.opentelemetry.io/otel/semconv/v1.39.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0" import "go.opentelemetry.io/otel/attribute" @@ -3431,7 +3431,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "a3bf90e006b2" // @@ -3467,7 +3467,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "gcr.io/opentelemetry/operator" ContainerImageNameKey = attribute.Key("container.image.name") @@ -3478,7 +3478,7 @@ const ( // // Type: string[] // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: // "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", @@ -3497,7 +3497,7 @@ const ( // // Type: string[] // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "v1.27.1", "3.5.7-0" // @@ -3856,6 +3856,12 @@ const ( // [Generating query summary] // section. // + // For batch operations, if the individual operations are known to have the same + // query summary + // then that query summary SHOULD be used prepended by `BATCH `, + // otherwise `db.query.summary` SHOULD be `BATCH` or some other database + // system specific term if more applicable. + // // [Generating query summary]: /docs/db/database-spans.md#generating-a-summary-of-the-query DBQuerySummaryKey = attribute.Key("db.query.summary") @@ -4623,27 +4629,6 @@ func EnduserPseudoID(val string) attribute.KeyValue { // Namespace: error const ( - // ErrorMessageKey is the attribute Key conforming to the "error.message" - // semantic conventions. It represents a message providing more detail about an - // error in human-readable form. - // - // Type: string - // RequirementLevel: Recommended - // Stability: Development - // - // Examples: "Unexpected input type: string", "The user has exceeded their - // storage quota" - // Note: `error.message` should provide additional context and detail about an - // error. - // It is NOT RECOMMENDED to duplicate the value of `error.type` in - // `error.message`. - // It is also NOT RECOMMENDED to duplicate the value of `exception.message` in - // `error.message`. - // - // `error.message` is NOT RECOMMENDED for metrics or spans due to its unbounded - // cardinality and overlap with span status. - ErrorMessageKey = attribute.Key("error.message") - // ErrorTypeKey is the attribute Key conforming to the "error.type" semantic // conventions. It represents the describes a class of error the operation ended // with. @@ -4683,13 +4668,6 @@ const ( ErrorTypeKey = attribute.Key("error.type") ) -// ErrorMessage returns an attribute KeyValue conforming to the "error.message" -// semantic conventions. It represents a message providing more detail about an -// error in human-readable form. -func ErrorMessage(val string) attribute.KeyValue { - return ErrorMessageKey.String(val) -} - // Enum values for error.type var ( // A fallback error value to be used when the instrumentation doesn't define a @@ -4710,6 +4688,9 @@ const ( // Stability: Stable // // Examples: "Division by zero", "Can't convert 'int' object to str implicitly" + // Note: > [!WARNING] + // + // > This attribute may contain sensitive information. ExceptionMessageKey = attribute.Key("exception.message") // ExceptionStacktraceKey is the attribute Key conforming to the @@ -5165,6 +5146,19 @@ const ( // Examples: "5157782b-2203-4c80-a857-dbbd5e7761db" FeatureFlagContextIDKey = attribute.Key("feature_flag.context.id") + // FeatureFlagErrorMessageKey is the attribute Key conforming to the + // "feature_flag.error.message" semantic conventions. It represents a message + // providing more detail about an error that occurred during feature flag + // evaluation in human-readable form. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Release_Candidate + // + // Examples: "Unexpected input type: string", "The user has exceeded their + // storage quota" + FeatureFlagErrorMessageKey = attribute.Key("feature_flag.error.message") + // FeatureFlagKeyKey is the attribute Key conforming to the "feature_flag.key" // semantic conventions. It represents the lookup key of the feature flag. // @@ -5266,6 +5260,14 @@ func FeatureFlagContextID(val string) attribute.KeyValue { return FeatureFlagContextIDKey.String(val) } +// FeatureFlagErrorMessage returns an attribute KeyValue conforming to the +// "feature_flag.error.message" semantic conventions. It represents a message +// providing more detail about an error that occurred during feature flag +// evaluation in human-readable form. +func FeatureFlagErrorMessage(val string) attribute.KeyValue { + return FeatureFlagErrorMessageKey.String(val) +} + // FeatureFlagKey returns an attribute KeyValue conforming to the // "feature_flag.key" semantic conventions. It represents the lookup key of the // feature flag. @@ -5980,6 +5982,41 @@ const ( // // [default internal DNS name]: https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names GCPGCEInstanceNameKey = attribute.Key("gcp.gce.instance.name") + + // GCPGCEInstanceGroupManagerNameKey is the attribute Key conforming to the + // "gcp.gce.instance_group_manager.name" semantic conventions. It represents the + // name of the Instance Group Manager (IGM) that manages this VM, if any. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "web-igm", "my-managed-group" + GCPGCEInstanceGroupManagerNameKey = attribute.Key("gcp.gce.instance_group_manager.name") + + // GCPGCEInstanceGroupManagerRegionKey is the attribute Key conforming to the + // "gcp.gce.instance_group_manager.region" semantic conventions. It represents + // the region of a **regional** Instance Group Manager (e.g., `us-central1`). + // Set this **only** when the IGM is regional. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "us-central1", "europe-west1" + GCPGCEInstanceGroupManagerRegionKey = attribute.Key("gcp.gce.instance_group_manager.region") + + // GCPGCEInstanceGroupManagerZoneKey is the attribute Key conforming to the + // "gcp.gce.instance_group_manager.zone" semantic conventions. It represents the + // zone of a **zonal** Instance Group Manager (e.g., `us-central1-a`). Set this + // **only** when the IGM is zonal. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "us-central1-a", "europe-west1-b" + GCPGCEInstanceGroupManagerZoneKey = attribute.Key("gcp.gce.instance_group_manager.zone") ) // GCPAppHubApplicationContainer returns an attribute KeyValue conforming to the @@ -6103,6 +6140,29 @@ func GCPGCEInstanceName(val string) attribute.KeyValue { return GCPGCEInstanceNameKey.String(val) } +// GCPGCEInstanceGroupManagerName returns an attribute KeyValue conforming to the +// "gcp.gce.instance_group_manager.name" semantic conventions. It represents the +// name of the Instance Group Manager (IGM) that manages this VM, if any. +func GCPGCEInstanceGroupManagerName(val string) attribute.KeyValue { + return GCPGCEInstanceGroupManagerNameKey.String(val) +} + +// GCPGCEInstanceGroupManagerRegion returns an attribute KeyValue conforming to +// the "gcp.gce.instance_group_manager.region" semantic conventions. It +// represents the region of a **regional** Instance Group Manager (e.g., +// `us-central1`). Set this **only** when the IGM is regional. +func GCPGCEInstanceGroupManagerRegion(val string) attribute.KeyValue { + return GCPGCEInstanceGroupManagerRegionKey.String(val) +} + +// GCPGCEInstanceGroupManagerZone returns an attribute KeyValue conforming to the +// "gcp.gce.instance_group_manager.zone" semantic conventions. It represents the +// zone of a **zonal** Instance Group Manager (e.g., `us-central1-a`). Set this +// **only** when the IGM is zonal. +func GCPGCEInstanceGroupManagerZone(val string) attribute.KeyValue { + return GCPGCEInstanceGroupManagerZoneKey.String(val) +} + // Enum values for gcp.apphub.service.criticality_type var ( // Mission critical service. @@ -6265,6 +6325,17 @@ const ( // Examples: "Math Tutor", "Fiction Writer" GenAIAgentNameKey = attribute.Key("gen_ai.agent.name") + // GenAIAgentVersionKey is the attribute Key conforming to the + // "gen_ai.agent.version" semantic conventions. It represents the version of the + // GenAI agent. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "1.0.0", "2025-05-01" + GenAIAgentVersionKey = attribute.Key("gen_ai.agent.version") + // GenAIConversationIDKey is the attribute Key conforming to the // "gen_ai.conversation.id" semantic conventions. It represents the unique // identifier for a conversation (session, thread), used to store and correlate @@ -6663,6 +6734,44 @@ const ( // Examples: "gpt-4-0613" GenAIResponseModelKey = attribute.Key("gen_ai.response.model") + // GenAIRetrievalDocumentsKey is the attribute Key conforming to the + // "gen_ai.retrieval.documents" semantic conventions. It represents the + // documents retrieved. + // + // Type: any + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "[\n {\n "id": "doc_123",\n "score": 0.95\n },\n {\n "id": + // "doc_456",\n "score": 0.87\n },\n {\n "id": "doc_789",\n "score": 0.82\n + // }\n]\n" + // Note: Instrumentations MUST follow [Retrieval documents JSON schema]. + // When the attribute is recorded on events, it MUST be recorded in structured + // form. When recorded on spans, it MAY be recorded as a JSON string if + // structured + // format is not supported and SHOULD be recorded in structured form otherwise. + // + // Each document object SHOULD contain at least the following properties: + // `id` (string): A unique identifier for the document, `score` (double): The + // relevance score of the document + // + // [Retrieval documents JSON schema]: /docs/gen-ai/gen-ai-retrieval-documents.json + GenAIRetrievalDocumentsKey = attribute.Key("gen_ai.retrieval.documents") + + // GenAIRetrievalQueryTextKey is the attribute Key conforming to the + // "gen_ai.retrieval.query.text" semantic conventions. It represents the query + // text used for retrieval. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "What is the capital of France?", "weather in Paris" + // Note: > [!Warning] + // + // > This attribute may contain sensitive information. + GenAIRetrievalQueryTextKey = attribute.Key("gen_ai.retrieval.query.text") + // GenAISystemInstructionsKey is the attribute Key conforming to the // "gen_ai.system_instructions" semantic conventions. It represents the system // message or instructions provided to the GenAI model separately from the chat @@ -6837,6 +6946,30 @@ const ( // updates. GenAIToolTypeKey = attribute.Key("gen_ai.tool.type") + // GenAIUsageCacheCreationInputTokensKey is the attribute Key conforming to the + // "gen_ai.usage.cache_creation.input_tokens" semantic conventions. It + // represents the number of input tokens written to a provider-managed cache. + // + // Type: int + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 25 + // Note: The value SHOULD be included in `gen_ai.usage.input_tokens`. + GenAIUsageCacheCreationInputTokensKey = attribute.Key("gen_ai.usage.cache_creation.input_tokens") + + // GenAIUsageCacheReadInputTokensKey is the attribute Key conforming to the + // "gen_ai.usage.cache_read.input_tokens" semantic conventions. It represents + // the number of input tokens served from a provider-managed cache. + // + // Type: int + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 50 + // Note: The value SHOULD be included in `gen_ai.usage.input_tokens`. + GenAIUsageCacheReadInputTokensKey = attribute.Key("gen_ai.usage.cache_read.input_tokens") + // GenAIUsageInputTokensKey is the attribute Key conforming to the // "gen_ai.usage.input_tokens" semantic conventions. It represents the number of // tokens used in the GenAI input (prompt). @@ -6846,6 +6979,12 @@ const ( // Stability: Development // // Examples: 100 + // Note: This value SHOULD include all types of input tokens, including cached + // tokens. + // Instrumentations SHOULD make a best effort to populate this value, using a + // total + // provided by the provider when available or, depending on the provider API, + // by summing different token types parsed from the provider output. GenAIUsageInputTokensKey = attribute.Key("gen_ai.usage.input_tokens") // GenAIUsageOutputTokensKey is the attribute Key conforming to the @@ -6880,6 +7019,13 @@ func GenAIAgentName(val string) attribute.KeyValue { return GenAIAgentNameKey.String(val) } +// GenAIAgentVersion returns an attribute KeyValue conforming to the +// "gen_ai.agent.version" semantic conventions. It represents the version of the +// GenAI agent. +func GenAIAgentVersion(val string) attribute.KeyValue { + return GenAIAgentVersionKey.String(val) +} + // GenAIConversationID returns an attribute KeyValue conforming to the // "gen_ai.conversation.id" semantic conventions. It represents the unique // identifier for a conversation (session, thread), used to store and correlate @@ -7036,6 +7182,13 @@ func GenAIResponseModel(val string) attribute.KeyValue { return GenAIResponseModelKey.String(val) } +// GenAIRetrievalQueryText returns an attribute KeyValue conforming to the +// "gen_ai.retrieval.query.text" semantic conventions. It represents the query +// text used for retrieval. +func GenAIRetrievalQueryText(val string) attribute.KeyValue { + return GenAIRetrievalQueryTextKey.String(val) +} + // GenAIToolCallID returns an attribute KeyValue conforming to the // "gen_ai.tool.call.id" semantic conventions. It represents the tool call // identifier. @@ -7064,6 +7217,20 @@ func GenAIToolType(val string) attribute.KeyValue { return GenAIToolTypeKey.String(val) } +// GenAIUsageCacheCreationInputTokens returns an attribute KeyValue conforming to +// the "gen_ai.usage.cache_creation.input_tokens" semantic conventions. It +// represents the number of input tokens written to a provider-managed cache. +func GenAIUsageCacheCreationInputTokens(val int) attribute.KeyValue { + return GenAIUsageCacheCreationInputTokensKey.Int(val) +} + +// GenAIUsageCacheReadInputTokens returns an attribute KeyValue conforming to the +// "gen_ai.usage.cache_read.input_tokens" semantic conventions. It represents the +// number of input tokens served from a provider-managed cache. +func GenAIUsageCacheReadInputTokens(val int) attribute.KeyValue { + return GenAIUsageCacheReadInputTokensKey.Int(val) +} + // GenAIUsageInputTokens returns an attribute KeyValue conforming to the // "gen_ai.usage.input_tokens" semantic conventions. It represents the number of // tokens used in the GenAI input (prompt). @@ -7100,6 +7267,11 @@ var ( // // [OpenAI Create embeddings API]: https://platform.openai.com/docs/api-reference/embeddings/create GenAIOperationNameEmbeddings = GenAIOperationNameKey.String("embeddings") + // Retrieval operation such as [OpenAI Search Vector Store API] + // Stability: development + // + // [OpenAI Search Vector Store API]: https://platform.openai.com/docs/api-reference/vector-stores/search + GenAIOperationNameRetrieval = GenAIOperationNameKey.String("retrieval") // Create GenAI agent // Stability: development GenAIOperationNameCreateAgent = GenAIOperationNameKey.String("create_agent") @@ -7889,9 +8061,18 @@ const ( // the list of known HTTP methods. If this override is done via environment // variable, then the environment variable MUST be named // OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of - // case-sensitive known HTTP methods - // (this list MUST be a full override of the default known method, it is not a - // list of known methods in addition to the defaults). + // case-sensitive known HTTP methods. + // + // + // If this override is done via declarative configuration, then the list MUST be + // configurable via the `known_methods` property + // (an array of case-sensitive strings with minimum items 0) under + // `.instrumentation/development.general.http.client` and/or + // `.instrumentation/development.general.http.server`. + // + // In either case, this list MUST be a full override of the default known + // methods, + // it is not a list of known methods in addition to the defaults. // // HTTP method names are case-sensitive and `http.request.method` attribute // value MUST match a known HTTP method name exactly. @@ -8845,7 +9026,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "opentelemetry-cluster" K8SClusterNameKey = attribute.Key("k8s.cluster.name") @@ -8856,7 +9037,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "218fc5a9-a5f1-4b54-aa05-46717d0ab26d" // Note: K8s doesn't have support for obtaining a cluster ID. If this is ever @@ -8892,7 +9073,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "redis" K8SContainerNameKey = attribute.Key("k8s.container.name") @@ -8904,7 +9085,7 @@ const ( // // Type: int // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count") @@ -8955,7 +9136,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "opentelemetry" K8SCronJobNameKey = attribute.Key("k8s.cronjob.name") @@ -8965,7 +9146,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid") @@ -8976,7 +9157,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "opentelemetry" K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name") @@ -8986,7 +9167,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid") @@ -8997,7 +9178,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "opentelemetry" K8SDeploymentNameKey = attribute.Key("k8s.deployment.name") @@ -9008,7 +9189,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid") @@ -9098,7 +9279,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "opentelemetry" K8SJobNameKey = attribute.Key("k8s.job.name") @@ -9108,7 +9289,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SJobUIDKey = attribute.Key("k8s.job.uid") @@ -9119,7 +9300,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "default" K8SNamespaceNameKey = attribute.Key("k8s.namespace.name") @@ -9184,7 +9365,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "node-1" K8SNodeNameKey = attribute.Key("k8s.node.name") @@ -9194,7 +9375,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2" K8SNodeUIDKey = attribute.Key("k8s.node.uid") @@ -9204,7 +9385,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "collector-gateway" // Note: The K8s Pod spec has an optional hostname field, which can be used to @@ -9224,7 +9405,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "172.18.0.2" // Note: This attribute aligns with the `podIP` field of the @@ -9238,7 +9419,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "opentelemetry-pod-autoconf" K8SPodNameKey = attribute.Key("k8s.pod.name") @@ -9249,7 +9430,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "2025-12-04T08:41:03Z" // Note: Date and time at which the object was acknowledged by the Kubelet. @@ -9293,7 +9474,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SPodUIDKey = attribute.Key("k8s.pod.uid") @@ -9304,7 +9485,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "opentelemetry" K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name") @@ -9315,7 +9496,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid") @@ -9383,13 +9564,152 @@ const ( // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SResourceQuotaUIDKey = attribute.Key("k8s.resourcequota.uid") + // K8SServiceEndpointAddressTypeKey is the attribute Key conforming to the + // "k8s.service.endpoint.address_type" semantic conventions. It represents the + // address type of the service endpoint. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "IPv4", "IPv6" + // Note: The network address family or type of the endpoint. + // This attribute aligns with the `addressType` field of the + // [K8s EndpointSlice]. + // It is used to differentiate metrics when a Service is backed by multiple + // address types + // (e.g., in dual-stack clusters). + // + // [K8s EndpointSlice]: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/endpoint-slice-v1/ + K8SServiceEndpointAddressTypeKey = attribute.Key("k8s.service.endpoint.address_type") + + // K8SServiceEndpointConditionKey is the attribute Key conforming to the + // "k8s.service.endpoint.condition" semantic conventions. It represents the + // condition of the service endpoint. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "ready", "serving", "terminating" + // Note: The current operational condition of the service endpoint. + // An endpoint can have multiple conditions set at once (e.g., both `serving` + // and `terminating` during rollout). + // This attribute aligns with the condition fields in the [K8s EndpointSlice]. + // + // [K8s EndpointSlice]: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/endpoint-slice-v1/ + K8SServiceEndpointConditionKey = attribute.Key("k8s.service.endpoint.condition") + + // K8SServiceEndpointZoneKey is the attribute Key conforming to the + // "k8s.service.endpoint.zone" semantic conventions. It represents the zone of + // the service endpoint. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "us-east-1a", "us-west-2b", "zone-a", "" + // Note: The zone where the endpoint is located, typically corresponding to a + // failure domain. + // This attribute aligns with the `zone` field of endpoints in the + // [K8s EndpointSlice]. + // It enables zone-aware monitoring of service endpoint distribution and + // supports + // features like [Topology Aware Routing]. + // + // If the zone is not populated (e.g., nodes without the + // `topology.kubernetes.io/zone` label), + // the attribute value will be an empty string. + // + // [K8s EndpointSlice]: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/endpoint-slice-v1/ + // [Topology Aware Routing]: https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/ + K8SServiceEndpointZoneKey = attribute.Key("k8s.service.endpoint.zone") + + // K8SServiceNameKey is the attribute Key conforming to the "k8s.service.name" + // semantic conventions. It represents the name of the Service. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "my-service" + K8SServiceNameKey = attribute.Key("k8s.service.name") + + // K8SServicePublishNotReadyAddressesKey is the attribute Key conforming to the + // "k8s.service.publish_not_ready_addresses" semantic conventions. It represents + // the whether the Service publishes not-ready endpoints. + // + // Type: boolean + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: true, false + // Note: Whether the Service is configured to publish endpoints before the pods + // are ready. + // This attribute is typically used to indicate that a Service (such as a + // headless + // Service for a StatefulSet) allows peer discovery before pods pass their + // readiness probes. + // It aligns with the `publishNotReadyAddresses` field of the + // [K8s ServiceSpec]. + // + // [K8s ServiceSpec]: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec + K8SServicePublishNotReadyAddressesKey = attribute.Key("k8s.service.publish_not_ready_addresses") + + // K8SServiceTrafficDistributionKey is the attribute Key conforming to the + // "k8s.service.traffic_distribution" semantic conventions. It represents the + // traffic distribution policy for the Service. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "PreferSameZone", "PreferSameNode" + // Note: Specifies how traffic is distributed to endpoints for this Service. + // This attribute aligns with the `trafficDistribution` field of the + // [K8s ServiceSpec]. + // Known values include `PreferSameZone` (prefer endpoints in the same zone as + // the client) and + // `PreferSameNode` (prefer endpoints on the same node, fallback to same zone, + // then cluster-wide). + // If this field is not set on the Service, the attribute SHOULD NOT be emitted. + // When not set, Kubernetes distributes traffic evenly across all endpoints + // cluster-wide. + // + // [K8s ServiceSpec]: https://kubernetes.io/docs/reference/networking/virtual-ips/#traffic-distribution + K8SServiceTrafficDistributionKey = attribute.Key("k8s.service.traffic_distribution") + + // K8SServiceTypeKey is the attribute Key conforming to the "k8s.service.type" + // semantic conventions. It represents the type of the Kubernetes Service. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "ClusterIP", "NodePort", "LoadBalancer" + // Note: This attribute aligns with the `type` field of the + // [K8s ServiceSpec]. + // + // [K8s ServiceSpec]: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec + K8SServiceTypeKey = attribute.Key("k8s.service.type") + + // K8SServiceUIDKey is the attribute Key conforming to the "k8s.service.uid" + // semantic conventions. It represents the UID of the Service. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" + K8SServiceUIDKey = attribute.Key("k8s.service.uid") + // K8SStatefulSetNameKey is the attribute Key conforming to the // "k8s.statefulset.name" semantic conventions. It represents the name of the // StatefulSet. // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "opentelemetry" K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name") @@ -9400,7 +9720,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Alpha + // Stability: Beta // // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid") @@ -9803,6 +10123,64 @@ func K8SResourceQuotaUID(val string) attribute.KeyValue { return K8SResourceQuotaUIDKey.String(val) } +// K8SServiceAnnotation returns an attribute KeyValue conforming to the +// "k8s.service.annotation" semantic conventions. It represents the annotation +// placed on the Service, the `` being the annotation name, the value being +// the annotation value, even if the value is empty. +func K8SServiceAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.service.annotation."+key, val) +} + +// K8SServiceEndpointZone returns an attribute KeyValue conforming to the +// "k8s.service.endpoint.zone" semantic conventions. It represents the zone of +// the service endpoint. +func K8SServiceEndpointZone(val string) attribute.KeyValue { + return K8SServiceEndpointZoneKey.String(val) +} + +// K8SServiceLabel returns an attribute KeyValue conforming to the +// "k8s.service.label" semantic conventions. It represents the label placed on +// the Service, the `` being the label name, the value being the label +// value, even if the value is empty. +func K8SServiceLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.service.label."+key, val) +} + +// K8SServiceName returns an attribute KeyValue conforming to the +// "k8s.service.name" semantic conventions. It represents the name of the +// Service. +func K8SServiceName(val string) attribute.KeyValue { + return K8SServiceNameKey.String(val) +} + +// K8SServicePublishNotReadyAddresses returns an attribute KeyValue conforming to +// the "k8s.service.publish_not_ready_addresses" semantic conventions. It +// represents the whether the Service publishes not-ready endpoints. +func K8SServicePublishNotReadyAddresses(val bool) attribute.KeyValue { + return K8SServicePublishNotReadyAddressesKey.Bool(val) +} + +// K8SServiceSelector returns an attribute KeyValue conforming to the +// "k8s.service.selector" semantic conventions. It represents the selector +// key-value pair placed on the Service, the `` being the selector key, the +// value being the selector value. +func K8SServiceSelector(key string, val string) attribute.KeyValue { + return attribute.String("k8s.service.selector."+key, val) +} + +// K8SServiceTrafficDistribution returns an attribute KeyValue conforming to the +// "k8s.service.traffic_distribution" semantic conventions. It represents the +// traffic distribution policy for the Service. +func K8SServiceTrafficDistribution(val string) attribute.KeyValue { + return K8SServiceTrafficDistributionKey.String(val) +} + +// K8SServiceUID returns an attribute KeyValue conforming to the +// "k8s.service.uid" semantic conventions. It represents the UID of the Service. +func K8SServiceUID(val string) attribute.KeyValue { + return K8SServiceUIDKey.String(val) +} + // K8SStatefulSetAnnotation returns an attribute KeyValue conforming to the // "k8s.statefulset.annotation" semantic conventions. It represents the // annotation placed on the StatefulSet, the `` being the annotation name, @@ -9995,6 +10373,48 @@ var ( K8SPodStatusReasonUnexpectedAdmissionError = K8SPodStatusReasonKey.String("UnexpectedAdmissionError") ) +// Enum values for k8s.service.endpoint.address_type +var ( + // IPv4 address type + // Stability: development + K8SServiceEndpointAddressTypeIPv4 = K8SServiceEndpointAddressTypeKey.String("IPv4") + // IPv6 address type + // Stability: development + K8SServiceEndpointAddressTypeIPv6 = K8SServiceEndpointAddressTypeKey.String("IPv6") + // FQDN address type + // Stability: development + K8SServiceEndpointAddressTypeFqdn = K8SServiceEndpointAddressTypeKey.String("FQDN") +) + +// Enum values for k8s.service.endpoint.condition +var ( + // The endpoint is ready to receive new connections. + // Stability: development + K8SServiceEndpointConditionReady = K8SServiceEndpointConditionKey.String("ready") + // The endpoint is currently handling traffic. + // Stability: development + K8SServiceEndpointConditionServing = K8SServiceEndpointConditionKey.String("serving") + // The endpoint is in the process of shutting down. + // Stability: development + K8SServiceEndpointConditionTerminating = K8SServiceEndpointConditionKey.String("terminating") +) + +// Enum values for k8s.service.type +var ( + // ClusterIP service type + // Stability: development + K8SServiceTypeClusterIP = K8SServiceTypeKey.String("ClusterIP") + // NodePort service type + // Stability: development + K8SServiceTypeNodePort = K8SServiceTypeKey.String("NodePort") + // LoadBalancer service type + // Stability: development + K8SServiceTypeLoadBalancer = K8SServiceTypeKey.String("LoadBalancer") + // ExternalName service type + // Stability: development + K8SServiceTypeExternalName = K8SServiceTypeKey.String("ExternalName") +) + // Enum values for k8s.volume.type var ( // A [persistentVolumeClaim] volume @@ -11770,6 +12190,16 @@ func OncRPCVersion(val int) attribute.KeyValue { // Namespace: openai const ( + // OpenAIAPITypeKey is the attribute Key conforming to the "openai.api.type" + // semantic conventions. It represents the type of OpenAI API being used. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + OpenAIAPITypeKey = attribute.Key("openai.api.type") + // OpenAIRequestServiceTierKey is the attribute Key conforming to the // "openai.request.service_tier" semantic conventions. It represents the service // tier requested. May be a specific tier, default, or auto. @@ -11818,6 +12248,20 @@ func OpenAIResponseSystemFingerprint(val string) attribute.KeyValue { return OpenAIResponseSystemFingerprintKey.String(val) } +// Enum values for openai.api.type +var ( + // The OpenAI [Chat Completions API]. + // Stability: development + // + // [Chat Completions API]: https://developers.openai.com/api/reference/chat-completions/overview + OpenAIAPITypeChatCompletions = OpenAIAPITypeKey.String("chat_completions") + // The OpenAI [Responses API]. + // Stability: development + // + // [Responses API]: https://developers.openai.com/api/reference/responses/overview + OpenAIAPITypeResponses = OpenAIAPITypeKey.String("responses") +) + // Enum values for openai.request.service_tier var ( // The system will utilize scale tier credits until they are exhausted. @@ -11892,6 +12336,158 @@ var ( OpenTracingRefTypeFollowsFrom = OpenTracingRefTypeKey.String("follows_from") ) +// Namespace: oracle +const ( + // OracleDBDomainKey is the attribute Key conforming to the "oracle.db.domain" + // semantic conventions. It represents the database domain associated with the + // connection. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "example.com", "corp.internal", "prod.db.local" + // Note: This attribute SHOULD be set to the value of the `DB_DOMAIN` + // initialization parameter, + // as exposed in `v$parameter`. `DB_DOMAIN` defines the domain portion of the + // global + // database name and SHOULD be configured when a database is, or may become, + // part of a + // distributed environment. Its value consists of one or more valid identifiers + // (alphanumeric ASCII characters) separated by periods. + OracleDBDomainKey = attribute.Key("oracle.db.domain") + + // OracleDBInstanceNameKey is the attribute Key conforming to the + // "oracle.db.instance.name" semantic conventions. It represents the instance + // name associated with the connection in an Oracle Real Application Clusters + // environment. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "ORCL1", "ORCL2", "ORCL3" + // Note: There can be multiple instances associated with a single database + // service. It indicates the + // unique instance name to which the connection is currently bound. For non-RAC + // databases, this value + // defaults to the `oracle.db.name`. + OracleDBInstanceNameKey = attribute.Key("oracle.db.instance.name") + + // OracleDBNameKey is the attribute Key conforming to the "oracle.db.name" + // semantic conventions. It represents the database name associated with the + // connection. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "ORCL1", "FREE" + // Note: This attribute SHOULD be set to the value of the parameter `DB_NAME` + // exposed in `v$parameter`. + OracleDBNameKey = attribute.Key("oracle.db.name") + + // OracleDBPdbKey is the attribute Key conforming to the "oracle.db.pdb" + // semantic conventions. It represents the pluggable database (PDB) name + // associated with the connection. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "PDB1", "FREEPDB" + // Note: This attribute SHOULD reflect the PDB that the session is currently + // connected to. + // If instrumentation cannot reliably obtain the active PDB name for each + // operation + // without issuing an additional query (such as `SELECT SYS_CONTEXT`), it is + // RECOMMENDED to fall back to the PDB name specified at connection + // establishment. + OracleDBPdbKey = attribute.Key("oracle.db.pdb") + + // OracleDBServiceKey is the attribute Key conforming to the "oracle.db.service" + // semantic conventions. It represents the service name currently associated + // with the database connection. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "order-processing-service", "db_low.adb.oraclecloud.com", + // "db_high.adb.oraclecloud.com" + // Note: The effective service name for a connection can change during its + // lifetime, + // for example after executing sql, `ALTER SESSION`. If an instrumentation + // cannot reliably + // obtain the current service name for each operation without issuing an + // additional + // query (such as `SELECT SYS_CONTEXT`), it is RECOMMENDED to fall back to the + // service name originally provided at connection establishment. + OracleDBServiceKey = attribute.Key("oracle.db.service") +) + +// OracleDBDomain returns an attribute KeyValue conforming to the +// "oracle.db.domain" semantic conventions. It represents the database domain +// associated with the connection. +func OracleDBDomain(val string) attribute.KeyValue { + return OracleDBDomainKey.String(val) +} + +// OracleDBInstanceName returns an attribute KeyValue conforming to the +// "oracle.db.instance.name" semantic conventions. It represents the instance +// name associated with the connection in an Oracle Real Application Clusters +// environment. +func OracleDBInstanceName(val string) attribute.KeyValue { + return OracleDBInstanceNameKey.String(val) +} + +// OracleDBName returns an attribute KeyValue conforming to the "oracle.db.name" +// semantic conventions. It represents the database name associated with the +// connection. +func OracleDBName(val string) attribute.KeyValue { + return OracleDBNameKey.String(val) +} + +// OracleDBPdb returns an attribute KeyValue conforming to the "oracle.db.pdb" +// semantic conventions. It represents the pluggable database (PDB) name +// associated with the connection. +func OracleDBPdb(val string) attribute.KeyValue { + return OracleDBPdbKey.String(val) +} + +// OracleDBService returns an attribute KeyValue conforming to the +// "oracle.db.service" semantic conventions. It represents the service name +// currently associated with the database connection. +func OracleDBService(val string) attribute.KeyValue { + return OracleDBServiceKey.String(val) +} + +// Namespace: oracle_cloud +const ( + // OracleCloudRealmKey is the attribute Key conforming to the + // "oracle_cloud.realm" semantic conventions. It represents the OCI realm + // identifier that indicates the isolated partition in which the tenancy and its + // resources reside. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "oc1", "oc2" + // Note: See [OCI documentation on realms] + // + // [OCI documentation on realms]: https://docs.oracle.com/iaas/Content/General/Concepts/regions.htm + OracleCloudRealmKey = attribute.Key("oracle_cloud.realm") +) + +// OracleCloudRealm returns an attribute KeyValue conforming to the +// "oracle_cloud.realm" semantic conventions. It represents the OCI realm +// identifier that indicates the isolated partition in which the tenancy and its +// resources reside. +func OracleCloudRealm(val string) attribute.KeyValue { + return OracleCloudRealmKey.String(val) +} + // Namespace: os const ( // OSBuildIDKey is the attribute Key conforming to the "os.build_id" semantic @@ -12423,6 +13019,33 @@ const ( // // Examples: "/bazinga/" PprofProfileKeepFramesKey = attribute.Key("pprof.profile.keep_frames") + + // PprofScopeDefaultSampleTypeKey is the attribute Key conforming to the + // "pprof.scope.default_sample_type" semantic conventions. It represents the + // records the pprof's default_sample_type in the original profile. Not set if + // the default sample type was missing. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "cpu" + // Note: This attribute, if present, MUST be set at the scope level + // (resource_profiles[].scope_profiles[].scope.attributes[]). + PprofScopeDefaultSampleTypeKey = attribute.Key("pprof.scope.default_sample_type") + + // PprofScopeSampleTypeOrderKey is the attribute Key conforming to the + // "pprof.scope.sample_type_order" semantic conventions. It represents the + // records the indexes of the sample types in the original profile. + // + // Type: int[] + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 3, 0, 1, 2 + // Note: This attribute, if present, MUST be set at the scope level + // (resource_profiles[].scope_profiles[].scope.attributes[]). + PprofScopeSampleTypeOrderKey = attribute.Key("pprof.scope.sample_type_order") ) // PprofLocationIsFolded returns an attribute KeyValue conforming to the @@ -12494,6 +13117,21 @@ func PprofProfileKeepFrames(val string) attribute.KeyValue { return PprofProfileKeepFramesKey.String(val) } +// PprofScopeDefaultSampleType returns an attribute KeyValue conforming to the +// "pprof.scope.default_sample_type" semantic conventions. It represents the +// records the pprof's default_sample_type in the original profile. Not set if +// the default sample type was missing. +func PprofScopeDefaultSampleType(val string) attribute.KeyValue { + return PprofScopeDefaultSampleTypeKey.String(val) +} + +// PprofScopeSampleTypeOrder returns an attribute KeyValue conforming to the +// "pprof.scope.sample_type_order" semantic conventions. It represents the +// records the indexes of the sample types in the original profile. +func PprofScopeSampleTypeOrder(val ...int) attribute.KeyValue { + return PprofScopeSampleTypeOrderKey.IntSlice(val) +} + // Namespace: process const ( // ProcessArgsCountKey is the attribute Key conforming to the @@ -13258,59 +13896,13 @@ var ( // Namespace: rpc const ( - // RPCMessageCompressedSizeKey is the attribute Key conforming to the - // "rpc.message.compressed_size" semantic conventions. It represents the - // compressed size of the message in bytes. - // - // Type: int - // RequirementLevel: Recommended - // Stability: Development - // - // Examples: - RPCMessageCompressedSizeKey = attribute.Key("rpc.message.compressed_size") - - // RPCMessageIDKey is the attribute Key conforming to the "rpc.message.id" - // semantic conventions. It MUST be calculated as two different counters - // starting from `1` one for sent messages and one for received message.. - // - // Type: int - // RequirementLevel: Recommended - // Stability: Development - // - // Examples: - // Note: This way we guarantee that the values will be consistent between - // different implementations. - RPCMessageIDKey = attribute.Key("rpc.message.id") - - // RPCMessageTypeKey is the attribute Key conforming to the "rpc.message.type" - // semantic conventions. It represents the whether this is a received or sent - // message. - // - // Type: Enum - // RequirementLevel: Recommended - // Stability: Development - // - // Examples: - RPCMessageTypeKey = attribute.Key("rpc.message.type") - - // RPCMessageUncompressedSizeKey is the attribute Key conforming to the - // "rpc.message.uncompressed_size" semantic conventions. It represents the - // uncompressed size of the message in bytes. - // - // Type: int - // RequirementLevel: Recommended - // Stability: Development - // - // Examples: - RPCMessageUncompressedSizeKey = attribute.Key("rpc.message.uncompressed_size") - // RPCMethodKey is the attribute Key conforming to the "rpc.method" semantic // conventions. It represents the fully-qualified logical name of the method // from the RPC interface perspective. // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "com.example.ExampleService/exampleMethod", "EchoService/Echo", // "_OTHER" @@ -13345,7 +13937,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "com.myservice.EchoService/catchAll", // "com.myservice.EchoService/unknownMethod", "InvalidMethod" @@ -13357,7 +13949,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "OK", "DEADLINE_EXCEEDED", "-32602" // Note: Usually it represents an error code, but may also represent partial @@ -13373,7 +13965,7 @@ const ( // // Type: Enum // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: // Note: The client and server RPC systems may differ for the same RPC @@ -13383,27 +13975,6 @@ const ( RPCSystemNameKey = attribute.Key("rpc.system.name") ) -// RPCMessageCompressedSize returns an attribute KeyValue conforming to the -// "rpc.message.compressed_size" semantic conventions. It represents the -// compressed size of the message in bytes. -func RPCMessageCompressedSize(val int) attribute.KeyValue { - return RPCMessageCompressedSizeKey.Int(val) -} - -// RPCMessageID returns an attribute KeyValue conforming to the "rpc.message.id" -// semantic conventions. It MUST be calculated as two different counters starting -// from `1` one for sent messages and one for received message.. -func RPCMessageID(val int) attribute.KeyValue { - return RPCMessageIDKey.Int(val) -} - -// RPCMessageUncompressedSize returns an attribute KeyValue conforming to the -// "rpc.message.uncompressed_size" semantic conventions. It represents the -// uncompressed size of the message in bytes. -func RPCMessageUncompressedSize(val int) attribute.KeyValue { - return RPCMessageUncompressedSizeKey.Int(val) -} - // RPCMethod returns an attribute KeyValue conforming to the "rpc.method" // semantic conventions. It represents the fully-qualified logical name of the // method from the RPC interface perspective. @@ -13441,25 +14012,15 @@ func RPCResponseStatusCode(val string) attribute.KeyValue { return RPCResponseStatusCodeKey.String(val) } -// Enum values for rpc.message.type -var ( - // sent - // Stability: development - RPCMessageTypeSent = RPCMessageTypeKey.String("SENT") - // received - // Stability: development - RPCMessageTypeReceived = RPCMessageTypeKey.String("RECEIVED") -) - // Enum values for rpc.system.name var ( // [gRPC] - // Stability: development + // Stability: release_candidate // // [gRPC]: https://grpc.io/ RPCSystemNameGRPC = RPCSystemNameKey.String("grpc") // [Apache Dubbo] - // Stability: development + // Stability: release_candidate // // [Apache Dubbo]: https://dubbo.apache.org/ RPCSystemNameDubbo = RPCSystemNameKey.String("dubbo") @@ -13674,13 +14235,28 @@ func ServerPort(val int) attribute.KeyValue { // Namespace: service const ( + // ServiceCriticalityKey is the attribute Key conforming to the + // "service.criticality" semantic conventions. It represents the operational + // criticality of the service. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "critical", "high", "medium", "low" + // Note: Application developers are encouraged to set `service.criticality` to + // express the operational importance of their services. Telemetry consumers MAY + // use this attribute to optimize telemetry collection or improve user + // experience. + ServiceCriticalityKey = attribute.Key("service.criticality") + // ServiceInstanceIDKey is the attribute Key conforming to the // "service.instance.id" semantic conventions. It represents the string ID of // the service instance. // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Stable // // Examples: "627cc493-f310-47de-96bd-71410b7dec09" // Note: MUST be unique for each instance of the same @@ -13754,7 +14330,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Stable // // Examples: "Shop" // Note: A string value having a meaning that helps to distinguish a group of @@ -13856,6 +14432,29 @@ func ServiceVersion(val string) attribute.KeyValue { return ServiceVersionKey.String(val) } +// Enum values for service.criticality +var ( + // Service is business-critical; downtime directly impacts revenue, user + // experience, or core functionality. + // + // Stability: development + ServiceCriticalityCritical = ServiceCriticalityKey.String("critical") + // Service is important but has degradation tolerance or fallback mechanisms. + // + // Stability: development + ServiceCriticalityHigh = ServiceCriticalityKey.String("high") + // Service provides supplementary functionality; degradation has limited user + // impact. + // + // Stability: development + ServiceCriticalityMedium = ServiceCriticalityKey.String("medium") + // Service is non-essential to core operations; used for background tasks or + // internal tools. + // + // Stability: development + ServiceCriticalityLow = ServiceCriticalityKey.String("low") +) + // Namespace: session const ( // SessionIDKey is the attribute Key conforming to the "session.id" semantic @@ -15175,6 +15774,18 @@ const ( // // This list is subject to change over time. // + // Matching of query parameter keys against the sensitive list SHOULD be + // case-sensitive. + // + // + // Instrumentation MAY provide a way to override this list via declarative + // configuration. + // If so, it SHOULD use the `sensitive_query_parameters` property + // (an array of case-sensitive strings with minimum items 0) under + // `.instrumentation/development.general.sanitization.url`. + // This list is a full override of the default sensitive query parameter keys, + // it is not a list of keys in addition to the defaults. + // // When a query string value is redacted, the query string key SHOULD still be // preserved, e.g. // `https://www.example.com/path?color=blue&sig=REDACTED`. @@ -15250,6 +15861,17 @@ const ( // // This list is subject to change over time. // + // Matching of query parameter keys against the sensitive list SHOULD be + // case-sensitive. + // + // Instrumentation MAY provide a way to override this list via declarative + // configuration. + // If so, it SHOULD use the `sensitive_query_parameters` property + // (an array of case-sensitive strings with minimum items 0) under + // `.instrumentation/development.general.sanitization.url`. + // This list is a full override of the default sensitive query parameter keys, + // it is not a list of keys in addition to the defaults. + // // When a query string value is redacted, the query string key SHOULD still be // preserved, e.g. // `q=OpenTelemetry&sig=REDACTED`. diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/doc.go b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/doc.go similarity index 80% rename from vendor/go.opentelemetry.io/otel/semconv/v1.39.0/doc.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.40.0/doc.go index 852362ef7..c5c41e4d2 100644 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/doc.go +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/doc.go @@ -4,6 +4,6 @@ // Package semconv implements OpenTelemetry semantic conventions. // // OpenTelemetry semantic conventions are agreed standardized naming -// patterns for OpenTelemetry things. This package represents the v1.39.0 +// patterns for OpenTelemetry things. This package represents the v1.40.0 // version of the OpenTelemetry semantic conventions. -package semconv // import "go.opentelemetry.io/otel/semconv/v1.39.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0" diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/error_type.go b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/error_type.go similarity index 62% rename from vendor/go.opentelemetry.io/otel/semconv/v1.39.0/error_type.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.40.0/error_type.go index 84cf636a7..6d26e5282 100644 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/error_type.go +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/error_type.go @@ -1,9 +1,10 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package semconv // import "go.opentelemetry.io/otel/semconv/v1.39.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0" import ( + "errors" "reflect" "go.opentelemetry.io/otel/attribute" @@ -14,12 +15,14 @@ import ( // If err is nil, the returned attribute has the default value // [ErrorTypeOther]. // -// If err's type has the method +// If err or one of the errors in its chain has the method // // ErrorType() string // -// then the returned attribute has the value of err.ErrorType(). Otherwise, the -// returned attribute has a value derived from the concrete type of err. +// the returned attribute has that method's return value. If multiple errors in +// the chain implement this method, the value from the first match found by +// [errors.As] is used. Otherwise, the returned attribute has a value derived +// from the concrete type of err. // // The key of the returned attribute is [ErrorTypeKey]. func ErrorType(err error) attribute.KeyValue { @@ -33,8 +36,15 @@ func ErrorType(err error) attribute.KeyValue { func errorType(err error) string { var s string if et, ok := err.(interface{ ErrorType() string }); ok { - // Prioritize the ErrorType method if available. + // Fast path: check the top-level error first. s = et.ErrorType() + } else { + // Fallback: search the error chain for an ErrorType method. + var et interface{ ErrorType() string } + if errors.As(err, &et) { + // Prioritize the ErrorType method if available. + s = et.ErrorType() + } } if s == "" { // Fallback to reflection if the ErrorType method is not supported or diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/exception.go b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/exception.go similarity index 74% rename from vendor/go.opentelemetry.io/otel/semconv/v1.39.0/exception.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.40.0/exception.go index 7b688ecc3..6a26231a1 100644 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/exception.go +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/exception.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package semconv // import "go.opentelemetry.io/otel/semconv/v1.39.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0" const ( // ExceptionEventName is the name of the Span event representing an exception. diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/otelconv/metric.go b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/otelconv/metric.go similarity index 100% rename from vendor/go.opentelemetry.io/otel/semconv/v1.39.0/otelconv/metric.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.40.0/otelconv/metric.go diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/schema.go b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/schema.go similarity index 71% rename from vendor/go.opentelemetry.io/otel/semconv/v1.39.0/schema.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.40.0/schema.go index e1a199d89..a07ffa336 100644 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/schema.go +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/schema.go @@ -1,9 +1,9 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package semconv // import "go.opentelemetry.io/otel/semconv/v1.39.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.40.0" // SchemaURL is the schema URL that matches the version of the semantic conventions // that this package defines. Semconv packages starting from v1.4.0 must declare // non-empty schema URL in the form https://opentelemetry.io/schemas/ -const SchemaURL = "https://opentelemetry.io/schemas/1.39.0" +const SchemaURL = "https://opentelemetry.io/schemas/1.40.0" diff --git a/vendor/go.opentelemetry.io/otel/trace/auto.go b/vendor/go.opentelemetry.io/otel/trace/auto.go index 604fdab44..9316fd0ac 100644 --- a/vendor/go.opentelemetry.io/otel/trace/auto.go +++ b/vendor/go.opentelemetry.io/otel/trace/auto.go @@ -20,7 +20,7 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" - semconv "go.opentelemetry.io/otel/semconv/v1.39.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" "go.opentelemetry.io/otel/trace/embedded" "go.opentelemetry.io/otel/trace/internal/telemetry" ) diff --git a/vendor/go.opentelemetry.io/otel/trace/trace.go b/vendor/go.opentelemetry.io/otel/trace/trace.go index ee6f4bcb2..96c06ec32 100644 --- a/vendor/go.opentelemetry.io/otel/trace/trace.go +++ b/vendor/go.opentelemetry.io/otel/trace/trace.go @@ -12,6 +12,11 @@ const ( // with the sampling bit set means the span is sampled. FlagsSampled = TraceFlags(0x01) + // FlagsRandom is a bitmask with the random trace ID flag set. When + // set, it signals that the trace ID was generated randomly with at + // least 56 bits of randomness (W3C Trace Context Level 2). + FlagsRandom = TraceFlags(0x02) + errInvalidHexID errorConst = "trace-id and span-id can only contain [0-9a-f] characters, all lowercase" errInvalidTraceIDLength errorConst = "hex encoded trace-id must have length equals to 32" diff --git a/vendor/go.opentelemetry.io/otel/trace/tracestate.go b/vendor/go.opentelemetry.io/otel/trace/tracestate.go index 073adae2f..e9cb3fd4d 100644 --- a/vendor/go.opentelemetry.io/otel/trace/tracestate.go +++ b/vendor/go.opentelemetry.io/otel/trace/tracestate.go @@ -61,7 +61,10 @@ func checkValue(val string) bool { func checkKeyRemain(key string) bool { // ( lcalpha / DIGIT / "_" / "-"/ "*" / "/" ) for _, v := range key { - if isAlphaNum(byte(v)) { + if v > 127 { + return false + } + if isAlphaNumASCII(v) { continue } switch v { @@ -89,7 +92,7 @@ func checkKeyPart(key string, n int) bool { return ret && checkKeyRemain(key[1:]) } -func isAlphaNum(c byte) bool { +func isAlphaNumASCII[T rune | byte](c T) bool { if c >= 'a' && c <= 'z' { return true } @@ -105,7 +108,7 @@ func checkKeyTenant(key string, n int) bool { if key == "" { return false } - return isAlphaNum(key[0]) && len(key[1:]) <= n && checkKeyRemain(key[1:]) + return isAlphaNumASCII(key[0]) && len(key[1:]) <= n && checkKeyRemain(key[1:]) } // based on the W3C Trace Context specification diff --git a/vendor/go.opentelemetry.io/otel/version.go b/vendor/go.opentelemetry.io/otel/version.go index 7c8f50803..2dae06f25 100644 --- a/vendor/go.opentelemetry.io/otel/version.go +++ b/vendor/go.opentelemetry.io/otel/version.go @@ -5,5 +5,5 @@ package otel // import "go.opentelemetry.io/otel" // Version is the current release version of OpenTelemetry in use. func Version() string { - return "1.40.0" + return "1.42.0" } diff --git a/vendor/go.opentelemetry.io/otel/versions.yaml b/vendor/go.opentelemetry.io/otel/versions.yaml index 9daa2df9d..6c634ef31 100644 --- a/vendor/go.opentelemetry.io/otel/versions.yaml +++ b/vendor/go.opentelemetry.io/otel/versions.yaml @@ -3,7 +3,7 @@ module-sets: stable-v1: - version: v1.40.0 + version: v1.42.0 modules: - go.opentelemetry.io/otel - go.opentelemetry.io/otel/bridge/opencensus @@ -22,11 +22,11 @@ module-sets: - go.opentelemetry.io/otel/sdk/metric - go.opentelemetry.io/otel/trace experimental-metrics: - version: v0.62.0 + version: v0.64.0 modules: - go.opentelemetry.io/otel/exporters/prometheus experimental-logs: - version: v0.16.0 + version: v0.18.0 modules: - go.opentelemetry.io/otel/log - go.opentelemetry.io/otel/log/logtest @@ -36,7 +36,7 @@ module-sets: - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp - go.opentelemetry.io/otel/exporters/stdout/stdoutlog experimental-schema: - version: v0.0.14 + version: v0.0.16 modules: - go.opentelemetry.io/otel/schema excluded-modules: diff --git a/vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s b/vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s new file mode 100644 index 000000000..e07fa75eb --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s @@ -0,0 +1,12 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build darwin && arm64 && gc + +#include "textflag.h" + +TEXT libc_sysctlbyname_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sysctlbyname(SB) +GLOBL ·libc_sysctlbyname_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sysctlbyname_trampoline_addr(SB)/8, $libc_sysctlbyname_trampoline<>(SB) diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_arm64.go index 6d8eb784b..5fc09e293 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_arm64.go @@ -44,14 +44,11 @@ func initOptions() { } func archInit() { - switch runtime.GOOS { - case "freebsd": + if runtime.GOOS == "freebsd" { readARM64Registers() - case "linux", "netbsd", "openbsd", "windows": + } else { + // Most platforms don't seem to allow directly reading these registers. doinit() - default: - // Many platforms don't seem to allow reading these registers. - setMinimalFeatures() } } diff --git a/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go new file mode 100644 index 000000000..0b470744a --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go @@ -0,0 +1,67 @@ +// Copyright 2026 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build darwin && arm64 && gc + +package cpu + +func doinit() { + setMinimalFeatures() + + // The feature flags are explained in [Instruction Set Detection]. + // There are some differences between MacOS versions: + // + // MacOS 11 and 12 do not have "hw.optional" sysctl values for some of the features. + // + // MacOS 13 changed some of the naming conventions to align with ARM Architecture Reference Manual. + // For example "hw.optional.armv8_2_sha512" became "hw.optional.arm.FEAT_SHA512". + // It currently checks both to stay compatible with MacOS 11 and 12. + // The old names also work with MacOS 13, however it's not clear whether + // they will continue working with future OS releases. + // + // Once MacOS 12 is no longer supported the old names can be removed. + // + // [Instruction Set Detection]: https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics + + // Encryption, hashing and checksum capabilities + + // For the following flags there are no MacOS 11 sysctl flags. + ARM64.HasAES = true || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_AES\x00")) + ARM64.HasPMULL = true || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_PMULL\x00")) + ARM64.HasSHA1 = true || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_SHA1\x00")) + ARM64.HasSHA2 = true || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_SHA256\x00")) + + ARM64.HasSHA3 = darwinSysctlEnabled([]byte("hw.optional.armv8_2_sha3\x00")) || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_SHA3\x00")) + ARM64.HasSHA512 = darwinSysctlEnabled([]byte("hw.optional.armv8_2_sha512\x00")) || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_SHA512\x00")) + + ARM64.HasCRC32 = darwinSysctlEnabled([]byte("hw.optional.armv8_crc32\x00")) + + // Atomic and memory ordering + ARM64.HasATOMICS = darwinSysctlEnabled([]byte("hw.optional.armv8_1_atomics\x00")) || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_LSE\x00")) + ARM64.HasLRCPC = darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_LRCPC\x00")) + + // SIMD and floating point capabilities + ARM64.HasFPHP = darwinSysctlEnabled([]byte("hw.optional.neon_fp16\x00")) || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_FP16\x00")) + ARM64.HasASIMDHP = darwinSysctlEnabled([]byte("hw.optional.neon_hpfp\x00")) || darwinSysctlEnabled([]byte("hw.optional.AdvSIMD_HPFPCvt\x00")) + ARM64.HasASIMDRDM = darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_RDM\x00")) + ARM64.HasASIMDDP = darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_DotProd\x00")) + ARM64.HasASIMDFHM = darwinSysctlEnabled([]byte("hw.optional.armv8_2_fhm\x00")) || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_FHM\x00")) + ARM64.HasI8MM = darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_I8MM\x00")) + + ARM64.HasJSCVT = darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_JSCVT\x00")) + ARM64.HasFCMA = darwinSysctlEnabled([]byte("hw.optional.armv8_3_compnum\x00")) || darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_FCMA\x00")) + + // Miscellaneous + ARM64.HasDCPOP = darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_DPB\x00")) + ARM64.HasEVTSTRM = darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_ECV\x00")) + ARM64.HasDIT = darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_DIT\x00")) + + // Not supported, but added for completeness + ARM64.HasCPUID = false + + ARM64.HasSM3 = false // darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_SM3\x00")) + ARM64.HasSM4 = false // darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_SM4\x00")) + ARM64.HasSVE = false // darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_SVE\x00")) + ARM64.HasSVE2 = false // darwinSysctlEnabled([]byte("hw.optional.arm.FEAT_SVE2\x00")) +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go b/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go new file mode 100644 index 000000000..4ee68e38d --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go @@ -0,0 +1,29 @@ +// Copyright 2026 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build darwin && arm64 && !gc + +package cpu + +func doinit() { + setMinimalFeatures() + + ARM64.HasASIMD = true + ARM64.HasFP = true + + // Go already assumes these to be available because they were on the M1 + // and these are supported on all Apple arm64 chips. + ARM64.HasAES = true + ARM64.HasPMULL = true + ARM64.HasSHA1 = true + ARM64.HasSHA2 = true + + if runtime.GOOS != "ios" { + // Apple A7 processors do not support these, however + // M-series SoCs are at least armv8.4-a + ARM64.HasCRC32 = true // armv8.1 + ARM64.HasATOMICS = true // armv8.2 + ARM64.HasJSCVT = true // armv8.3, if HasFP + } +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go index 7f1946780..05913081e 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go @@ -9,3 +9,4 @@ package cpu func getisar0() uint64 { return 0 } func getisar1() uint64 { return 0 } func getpfr0() uint64 { return 0 } +func getzfr0() uint64 { return 0 } diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go index ff74d7afa..6c7c5bfd5 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go @@ -2,8 +2,10 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !linux && !netbsd && !openbsd && !windows && arm64 +//go:build !darwin && !linux && !netbsd && !openbsd && !windows && arm64 package cpu -func doinit() {} +func doinit() { + setMinimalFeatures() +} diff --git a/vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go b/vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go new file mode 100644 index 000000000..7b4e67ff9 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go @@ -0,0 +1,54 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Minimal copy from internal/cpu and runtime to make sysctl calls. + +//go:build darwin && arm64 && gc + +package cpu + +import ( + "syscall" + "unsafe" +) + +type Errno = syscall.Errno + +// adapted from internal/cpu/cpu_arm64_darwin.go +func darwinSysctlEnabled(name []byte) bool { + out := int32(0) + nout := unsafe.Sizeof(out) + if ret := sysctlbyname(&name[0], (*byte)(unsafe.Pointer(&out)), &nout, nil, 0); ret != nil { + return false + } + return out > 0 +} + +//go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib" + +var libc_sysctlbyname_trampoline_addr uintptr + +// adapted from runtime/sys_darwin.go in the pattern of sysctl() above, as defined in x/sys/unix +func sysctlbyname(name *byte, old *byte, oldlen *uintptr, new *byte, newlen uintptr) error { + if _, _, err := syscall_syscall6( + libc_sysctlbyname_trampoline_addr, + uintptr(unsafe.Pointer(name)), + uintptr(unsafe.Pointer(old)), + uintptr(unsafe.Pointer(oldlen)), + uintptr(unsafe.Pointer(new)), + uintptr(newlen), + 0, + ); err != 0 { + return err + } + + return nil +} + +//go:cgo_import_dynamic libc_sysctlbyname sysctlbyname "/usr/lib/libSystem.B.dylib" + +// Implemented in the runtime package (runtime/sys_darwin.go) +func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) + +//go:linkname syscall_syscall6 syscall.syscall6 diff --git a/vendor/golang.org/x/sys/plan9/syscall_plan9.go b/vendor/golang.org/x/sys/plan9/syscall_plan9.go index d079d8116..761912237 100644 --- a/vendor/golang.org/x/sys/plan9/syscall_plan9.go +++ b/vendor/golang.org/x/sys/plan9/syscall_plan9.go @@ -19,13 +19,7 @@ import ( // A Note is a string describing a process note. // It implements the os.Signal interface. -type Note string - -func (n Note) Signal() {} - -func (n Note) String() string { - return string(n) -} +type Note = syscall.Note var ( Stdin = 0 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index c1a467017..45476a73c 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -593,110 +593,115 @@ const ( ) const ( - NDA_UNSPEC = 0x0 - NDA_DST = 0x1 - NDA_LLADDR = 0x2 - NDA_CACHEINFO = 0x3 - NDA_PROBES = 0x4 - NDA_VLAN = 0x5 - NDA_PORT = 0x6 - NDA_VNI = 0x7 - NDA_IFINDEX = 0x8 - NDA_MASTER = 0x9 - NDA_LINK_NETNSID = 0xa - NDA_SRC_VNI = 0xb - NTF_USE = 0x1 - NTF_SELF = 0x2 - NTF_MASTER = 0x4 - NTF_PROXY = 0x8 - NTF_EXT_LEARNED = 0x10 - NTF_OFFLOADED = 0x20 - NTF_ROUTER = 0x80 - NUD_INCOMPLETE = 0x1 - NUD_REACHABLE = 0x2 - NUD_STALE = 0x4 - NUD_DELAY = 0x8 - NUD_PROBE = 0x10 - NUD_FAILED = 0x20 - NUD_NOARP = 0x40 - NUD_PERMANENT = 0x80 - NUD_NONE = 0x0 - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFA_FLAGS = 0x8 - IFA_RT_PRIORITY = 0x9 - IFA_TARGET_NETNSID = 0xa - IFAL_LABEL = 0x2 - IFAL_ADDRESS = 0x1 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofIfAddrlblmsg = 0xc - SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 - SizeofNdMsg = 0xc + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFAL_LABEL = 0x2 + IFAL_ADDRESS = 0x1 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + PREFIX_UNSPEC = 0x0 + PREFIX_ADDRESS = 0x1 + PREFIX_CACHEINFO = 0x2 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofPrefixmsg = 0xc + SizeofPrefixCacheinfo = 0x8 + SizeofIfAddrmsg = 0x8 + SizeofIfAddrlblmsg = 0xc + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -735,6 +740,22 @@ type IfInfomsg struct { Change uint32 } +type Prefixmsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + Type uint8 + Len uint8 + Flags uint8 + Pad3 uint8 +} + +type PrefixCacheinfo struct { + Preferred_time uint32 + Valid_time uint32 +} + type IfAddrmsg struct { Family uint8 Prefixlen uint8 diff --git a/vendor/golang.org/x/sys/windows/aliases.go b/vendor/golang.org/x/sys/windows/aliases.go index 16f90560a..96317966e 100644 --- a/vendor/golang.org/x/sys/windows/aliases.go +++ b/vendor/golang.org/x/sys/windows/aliases.go @@ -8,5 +8,6 @@ package windows import "syscall" +type Signal = syscall.Signal type Errno = syscall.Errno type SysProcAttr = syscall.SysProcAttr diff --git a/vendor/golang.org/x/sys/windows/registry/key.go b/vendor/golang.org/x/sys/windows/registry/key.go index 39aeeb644..7cc6ff3af 100644 --- a/vendor/golang.org/x/sys/windows/registry/key.go +++ b/vendor/golang.org/x/sys/windows/registry/key.go @@ -198,7 +198,20 @@ type KeyInfo struct { // ModTime returns the key's last write time. func (ki *KeyInfo) ModTime() time.Time { - return time.Unix(0, ki.lastWriteTime.Nanoseconds()) + lastHigh, lastLow := ki.lastWriteTime.HighDateTime, ki.lastWriteTime.LowDateTime + // 100-nanosecond intervals since January 1, 1601 + hsec := uint64(lastHigh)<<32 + uint64(lastLow) + // Convert _before_ gauging; the nanosecond difference between Epoch (00:00:00 + // UTC, January 1, 1970) and Filetime's zero offset (January 1, 1601) is out + // of bounds for int64: -11644473600*1e7*1e2 < math.MinInt64 + sec := int64(hsec/1e7) - 11644473600 + nsec := int64(hsec%1e7) * 100 + return time.Unix(sec, nsec) +} + +// modTimeZero reports whether the key's last write time is zero. +func (ki *KeyInfo) modTimeZero() bool { + return ki.lastWriteTime.LowDateTime == 0 && ki.lastWriteTime.HighDateTime == 0 } // Stat retrieves information about the open key k. diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 738a9f212..d76643658 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -1490,20 +1490,6 @@ func Getgid() (gid int) { return -1 } func Getegid() (egid int) { return -1 } func Getgroups() (gids []int, err error) { return nil, syscall.EWINDOWS } -type Signal int - -func (s Signal) Signal() {} - -func (s Signal) String() string { - if 0 <= s && int(s) < len(signals) { - str := signals[s] - if str != "" { - return str - } - } - return "signal " + itoa(int(s)) -} - func LoadCreateSymbolicLink() error { return procCreateSymbolicLinkW.Find() } diff --git a/vendor/golang.org/x/time/rate/rate.go b/vendor/golang.org/x/time/rate/rate.go index 93a798ab6..563270c15 100644 --- a/vendor/golang.org/x/time/rate/rate.go +++ b/vendor/golang.org/x/time/rate/rate.go @@ -85,7 +85,7 @@ func (lim *Limiter) Burst() int { // TokensAt returns the number of tokens available at time t. func (lim *Limiter) TokensAt(t time.Time) float64 { lim.mu.Lock() - _, tokens := lim.advance(t) // does not mutate lim + tokens := lim.advance(t) // does not mutate lim lim.mu.Unlock() return tokens } @@ -186,7 +186,7 @@ func (r *Reservation) CancelAt(t time.Time) { return } // advance time to now - t, tokens := r.lim.advance(t) + tokens := r.lim.advance(t) // calculate new number of tokens tokens += restoreTokens if burst := float64(r.lim.burst); tokens > burst { @@ -195,7 +195,7 @@ func (r *Reservation) CancelAt(t time.Time) { // update state r.lim.last = t r.lim.tokens = tokens - if r.timeToAct == r.lim.lastEvent { + if r.timeToAct.Equal(r.lim.lastEvent) { prevEvent := r.timeToAct.Add(r.limit.durationFromTokens(float64(-r.tokens))) if !prevEvent.Before(t) { r.lim.lastEvent = prevEvent @@ -307,7 +307,7 @@ func (lim *Limiter) SetLimitAt(t time.Time, newLimit Limit) { lim.mu.Lock() defer lim.mu.Unlock() - t, tokens := lim.advance(t) + tokens := lim.advance(t) lim.last = t lim.tokens = tokens @@ -324,7 +324,7 @@ func (lim *Limiter) SetBurstAt(t time.Time, newBurst int) { lim.mu.Lock() defer lim.mu.Unlock() - t, tokens := lim.advance(t) + tokens := lim.advance(t) lim.last = t lim.tokens = tokens @@ -347,7 +347,7 @@ func (lim *Limiter) reserveN(t time.Time, n int, maxFutureReserve time.Duration) } } - t, tokens := lim.advance(t) + tokens := lim.advance(t) // Calculate the remaining number of tokens resulting from the request. tokens -= float64(n) @@ -380,10 +380,11 @@ func (lim *Limiter) reserveN(t time.Time, n int, maxFutureReserve time.Duration) return r } -// advance calculates and returns an updated state for lim resulting from the passage of time. +// advance calculates and returns an updated number of tokens for lim +// resulting from the passage of time. // lim is not changed. // advance requires that lim.mu is held. -func (lim *Limiter) advance(t time.Time) (newT time.Time, newTokens float64) { +func (lim *Limiter) advance(t time.Time) (newTokens float64) { last := lim.last if t.Before(last) { last = t @@ -396,7 +397,7 @@ func (lim *Limiter) advance(t time.Time) (newT time.Time, newTokens float64) { if burst := float64(lim.burst); tokens > burst { tokens = burst } - return t, tokens + return tokens } // durationFromTokens is a unit conversion function from the number of tokens to the duration @@ -405,8 +406,15 @@ func (limit Limit) durationFromTokens(tokens float64) time.Duration { if limit <= 0 { return InfDuration } - seconds := tokens / float64(limit) - return time.Duration(float64(time.Second) * seconds) + + duration := (tokens / float64(limit)) * float64(time.Second) + + // Cap the duration to the maximum representable int64 value, to avoid overflow. + if duration > float64(math.MaxInt64) { + return InfDuration + } + + return time.Duration(duration) } // tokensFromDuration is a unit conversion function from a time duration to the number of tokens diff --git a/vendor/golang.org/x/time/rate/sometimes.go b/vendor/golang.org/x/time/rate/sometimes.go index 6ba99ddb6..9b8393269 100644 --- a/vendor/golang.org/x/time/rate/sometimes.go +++ b/vendor/golang.org/x/time/rate/sometimes.go @@ -61,7 +61,9 @@ func (s *Sometimes) Do(f func()) { (s.Every > 0 && s.count%s.Every == 0) || (s.Interval > 0 && time.Since(s.last) >= s.Interval) { f() - s.last = time.Now() + if s.Interval > 0 { + s.last = time.Now() + } } s.count++ } diff --git a/vendor/k8s.io/klog/v2/README.md b/vendor/k8s.io/klog/v2/README.md index d45cbe172..a680beb40 100644 --- a/vendor/k8s.io/klog/v2/README.md +++ b/vendor/k8s.io/klog/v2/README.md @@ -48,8 +48,6 @@ How to use klog - For more logging conventions (See [Logging Conventions](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md)) - See our documentation on [pkg.go.dev/k8s.io](https://pkg.go.dev/k8s.io/klog). -**NOTE**: please use the newer go versions that support semantic import versioning in modules, ideally go 1.11.4 or greater. - ### Coexisting with klog/v2 See [this example](examples/coexist_klog_v1_and_v2/) to see how to coexist with both klog/v1 and klog/v2. diff --git a/vendor/k8s.io/klog/v2/internal/serialize/keyvalues.go b/vendor/k8s.io/klog/v2/internal/serialize/keyvalues.go index d1a4751c9..73f91ea50 100644 --- a/vendor/k8s.io/klog/v2/internal/serialize/keyvalues.go +++ b/vendor/k8s.io/klog/v2/internal/serialize/keyvalues.go @@ -20,7 +20,9 @@ import ( "bytes" "encoding/json" "fmt" + "slices" "strconv" + "strings" "github.com/go-logr/logr" ) @@ -51,139 +53,157 @@ func WithValues(oldKV, newKV []interface{}) []interface{} { return kv } -// MergeKVs deduplicates elements provided in two key/value slices. -// -// Keys in each slice are expected to be unique, so duplicates can only occur -// when the first and second slice contain the same key. When that happens, the -// key/value pair from the second slice is used. The first slice must be well-formed -// (= even key/value pairs). The second one may have a missing value, in which -// case the special "missing value" is added to the result. -func MergeKVs(first, second []interface{}) []interface{} { - maxLength := len(first) + (len(second)+1)/2*2 - if maxLength == 0 { - // Nothing to do at all. - return nil - } - - if len(first) == 0 && len(second)%2 == 0 { - // Nothing to be overridden, second slice is well-formed - // and can be used directly. - return second - } - - // Determine which keys are in the second slice so that we can skip - // them when iterating over the first one. The code intentionally - // favors performance over completeness: we assume that keys are string - // constants and thus compare equal when the string values are equal. A - // string constant being overridden by, for example, a fmt.Stringer is - // not handled. - overrides := map[interface{}]bool{} - for i := 0; i < len(second); i += 2 { - overrides[second[i]] = true - } - merged := make([]interface{}, 0, maxLength) - for i := 0; i+1 < len(first); i += 2 { - key := first[i] - if overrides[key] { - continue - } - merged = append(merged, key, first[i+1]) - } - merged = append(merged, second...) - if len(merged)%2 != 0 { - merged = append(merged, missingValue) - } - return merged -} - type Formatter struct { AnyToStringHook AnyToStringFunc } type AnyToStringFunc func(v interface{}) string -// MergeKVsInto is a variant of MergeKVs which directly formats the key/value -// pairs into a buffer. -func (f Formatter) MergeAndFormatKVs(b *bytes.Buffer, first, second []interface{}) { - if len(first) == 0 && len(second) == 0 { - // Nothing to do at all. - return - } +const missingValue = "(MISSING)" - if len(first) == 0 && len(second)%2 == 0 { - // Nothing to be overridden, second slice is well-formed - // and can be used directly. - for i := 0; i < len(second); i += 2 { - f.KVFormat(b, second[i], second[i+1]) - } - return - } +func FormatKVs(b *bytes.Buffer, kvs ...[]interface{}) { + Formatter{}.FormatKVs(b, kvs...) +} - // Determine which keys are in the second slice so that we can skip - // them when iterating over the first one. The code intentionally - // favors performance over completeness: we assume that keys are string - // constants and thus compare equal when the string values are equal. A - // string constant being overridden by, for example, a fmt.Stringer is - // not handled. - overrides := map[interface{}]bool{} - for i := 0; i < len(second); i += 2 { - overrides[second[i]] = true - } - for i := 0; i < len(first); i += 2 { - key := first[i] - if overrides[key] { - continue +// FormatKVs formats all key/value pairs such that the output contains no +// duplicates ("last one wins"). +func (f Formatter) FormatKVs(b *bytes.Buffer, kvs ...[]interface{}) { + // De-duplication is done by optimistically formatting all key value + // pairs and then cutting out the output of those key/value pairs which + // got overwritten later. + // + // In the common case of no duplicates, the only overhead is tracking + // previous keys. This uses a slice with a simple linear search because + // the number of entries is typically so low that allocating a map or + // keeping a sorted slice with binary search aren't justified. + // + // Using a fixed size here makes the Go compiler use the stack as + // initial backing store for the slice, which is crucial for + // performance. + existing := make([]obsoleteKV, 0, 32) + obsolete := make([]interval, 0, 32) // Sorted by start index. + for _, keysAndValues := range kvs { + for i := 0; i < len(keysAndValues); i += 2 { + var v interface{} + k := keysAndValues[i] + if i+1 < len(keysAndValues) { + v = keysAndValues[i+1] + } else { + v = missingValue + } + var e obsoleteKV + e.start = b.Len() + e.key = f.KVFormat(b, k, v) + e.end = b.Len() + i := findObsoleteEntry(existing, e.key) + if i >= 0 { + data := b.Bytes() + if bytes.Compare(data[existing[i].start:existing[i].end], data[e.start:e.end]) == 0 { + // The new entry gets obsoleted because it's identical. + // This has the advantage that key/value pairs from + // a WithValues call always come first, even if the same + // pair gets added again later. This makes different log + // entries more consistent. + // + // The new entry has a higher start index and thus can be appended. + obsolete = append(obsolete, e.interval) + } else { + // The old entry gets obsoleted because it's value is different. + // + // Sort order is not guaranteed, we have to insert at the right place. + index, _ := slices.BinarySearchFunc(obsolete, existing[i].interval, func(a, b interval) int { return a.start - b.start }) + obsolete = slices.Insert(obsolete, index, existing[i].interval) + existing[i].interval = e.interval + } + } else { + // Instead of appending at the end and doing a + // linear search in findEntry, we could keep + // the slice sorted by key and do a binary search. + // + // Above: + // i, ok := slices.BinarySearchFunc(existing, e, func(a, b entry) int { return strings.Compare(a.key, b.key) }) + // Here: + // existing = slices.Insert(existing, i, e) + // + // But that adds a dependency on the slices package + // and made performance slightly worse, presumably + // because the cost of shifting entries around + // did not pay of with faster lookups. + existing = append(existing, e) + } } - f.KVFormat(b, key, first[i+1]) } - // Round down. - l := len(second) - l = l / 2 * 2 - for i := 1; i < l; i += 2 { - f.KVFormat(b, second[i-1], second[i]) - } - if len(second)%2 == 1 { - f.KVFormat(b, second[len(second)-1], missingValue) - } -} -func MergeAndFormatKVs(b *bytes.Buffer, first, second []interface{}) { - Formatter{}.MergeAndFormatKVs(b, first, second) -} + // If we need to remove some obsolete key/value pairs then move the memory. + if len(obsolete) > 0 { + // Potentially the next remaining output (might itself be obsolete). + from := obsolete[0].end + // Next obsolete entry. + nextObsolete := 1 + // This is the source buffer, before truncation. + all := b.Bytes() + b.Truncate(obsolete[0].start) -const missingValue = "(MISSING)" + for nextObsolete < len(obsolete) { + if from == obsolete[nextObsolete].start { + // Skip also the next obsolete key/value. + from = obsolete[nextObsolete].end + nextObsolete++ + continue + } -// KVListFormat serializes all key/value pairs into the provided buffer. -// A space gets inserted before the first pair and between each pair. -func (f Formatter) KVListFormat(b *bytes.Buffer, keysAndValues ...interface{}) { - for i := 0; i < len(keysAndValues); i += 2 { - var v interface{} - k := keysAndValues[i] - if i+1 < len(keysAndValues) { - v = keysAndValues[i+1] - } else { - v = missingValue + // Preserve some output. Write uses copy, which + // explicitly allows source and destination to overlap. + // That could happen here. + valid := all[from:obsolete[nextObsolete].start] + b.Write(valid) + from = obsolete[nextObsolete].end + nextObsolete++ } - f.KVFormat(b, k, v) + // Copy end of buffer. + valid := all[from:] + b.Write(valid) } } -func KVListFormat(b *bytes.Buffer, keysAndValues ...interface{}) { - Formatter{}.KVListFormat(b, keysAndValues...) +type obsoleteKV struct { + key string + interval +} + +// interval includes the start and excludes the end. +type interval struct { + start int + end int } -func KVFormat(b *bytes.Buffer, k, v interface{}) { - Formatter{}.KVFormat(b, k, v) +func findObsoleteEntry(entries []obsoleteKV, key string) int { + for i, entry := range entries { + if entry.key == key { + return i + } + } + return -1 } // formatAny is the fallback formatter for a value. It supports a hook (for // example, for YAML encoding) and itself uses JSON encoding. func (f Formatter) formatAny(b *bytes.Buffer, v interface{}) { - b.WriteRune('=') if f.AnyToStringHook != nil { - b.WriteString(f.AnyToStringHook(v)) + str := f.AnyToStringHook(v) + if strings.Contains(str, "\n") { + // If it's multi-line, then pass it through writeStringValue to get start/end delimiters, + // which separates it better from any following key/value pair. + writeStringValue(b, str) + return + } + // Otherwise put it directly after the separator, on the same lime, + // The assumption is that the hook returns something where start/end are obvious. + b.WriteRune('=') + b.WriteString(str) return } + b.WriteRune('=') formatAsJSON(b, v) } diff --git a/vendor/k8s.io/klog/v2/internal/serialize/keyvalues_no_slog.go b/vendor/k8s.io/klog/v2/internal/serialize/keyvalues_no_slog.go index d9c7d1546..b8c7e443d 100644 --- a/vendor/k8s.io/klog/v2/internal/serialize/keyvalues_no_slog.go +++ b/vendor/k8s.io/klog/v2/internal/serialize/keyvalues_no_slog.go @@ -28,7 +28,7 @@ import ( // KVFormat serializes one key/value pair into the provided buffer. // A space gets inserted before the pair. -func (f Formatter) KVFormat(b *bytes.Buffer, k, v interface{}) { +func (f Formatter) KVFormat(b *bytes.Buffer, k, v interface{}) string { // This is the version without slog support. Must be kept in sync with // the version in keyvalues_slog.go. @@ -37,13 +37,15 @@ func (f Formatter) KVFormat(b *bytes.Buffer, k, v interface{}) { // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#name-arguments // for the sake of performance. Keys with spaces, // special characters, etc. will break parsing. + var key string if sK, ok := k.(string); ok { // Avoid one allocation when the key is a string, which // normally it should be. - b.WriteString(sK) + key = sK } else { - b.WriteString(fmt.Sprintf("%s", k)) + key = fmt.Sprintf("%s", k) } + b.WriteString(key) // The type checks are sorted so that more frequently used ones // come first because that is then faster in the common @@ -94,4 +96,6 @@ func (f Formatter) KVFormat(b *bytes.Buffer, k, v interface{}) { default: f.formatAny(b, v) } + + return key } diff --git a/vendor/k8s.io/klog/v2/internal/serialize/keyvalues_slog.go b/vendor/k8s.io/klog/v2/internal/serialize/keyvalues_slog.go index 89acf9772..8e0084364 100644 --- a/vendor/k8s.io/klog/v2/internal/serialize/keyvalues_slog.go +++ b/vendor/k8s.io/klog/v2/internal/serialize/keyvalues_slog.go @@ -29,8 +29,8 @@ import ( ) // KVFormat serializes one key/value pair into the provided buffer. -// A space gets inserted before the pair. -func (f Formatter) KVFormat(b *bytes.Buffer, k, v interface{}) { +// A space gets inserted before the pair. It returns the key. +func (f Formatter) KVFormat(b *bytes.Buffer, k, v interface{}) string { // This is the version without slog support. Must be kept in sync with // the version in keyvalues_slog.go. @@ -39,13 +39,15 @@ func (f Formatter) KVFormat(b *bytes.Buffer, k, v interface{}) { // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#name-arguments // for the sake of performance. Keys with spaces, // special characters, etc. will break parsing. + var key string if sK, ok := k.(string); ok { // Avoid one allocation when the key is a string, which // normally it should be. - b.WriteString(sK) + key = sK } else { - b.WriteString(fmt.Sprintf("%s", k)) + key = fmt.Sprintf("%s", k) } + b.WriteString(key) // The type checks are sorted so that more frequently used ones // come first because that is then faster in the common @@ -112,6 +114,8 @@ func (f Formatter) KVFormat(b *bytes.Buffer, k, v interface{}) { default: f.formatAny(b, v) } + + return key } // generateJSON has the same preference for plain strings as KVFormat. diff --git a/vendor/k8s.io/klog/v2/klog.go b/vendor/k8s.io/klog/v2/klog.go index 47ec9466a..319ffbe24 100644 --- a/vendor/k8s.io/klog/v2/klog.go +++ b/vendor/k8s.io/klog/v2/klog.go @@ -58,15 +58,30 @@ // // -logtostderr=true // Logs are written to standard error instead of to files. -// This shortcuts most of the usual output routing: -// -alsologtostderr, -stderrthreshold and -log_dir have no -// effect and output redirection at runtime with SetOutput is -// ignored. +// By default, all logs are written regardless of severity +// (legacy behavior). To filter logs by severity when +// -logtostderr=true, set -legacy_stderr_threshold_behavior=false +// and use -stderrthreshold. +// With -legacy_stderr_threshold_behavior=true, +// -stderrthreshold has no effect. +// +// The following flags always have no effect: +// -alsologtostderr, -alsologtostderrthreshold, and -log_dir. +// Output redirection at runtime with SetOutput is also ignored. // -alsologtostderr=false // Logs are written to standard error as well as to files. +// -alsologtostderrthreshold=INFO +// Log events at or above this severity are logged to standard +// error when -alsologtostderr=true (no effect when -logtostderr=true). +// Default is INFO to maintain backward compatibility. // -stderrthreshold=ERROR // Log events at or above this severity are logged to standard -// error as well as to files. +// error as well as to files. When -logtostderr=true, this flag +// has no effect unless -legacy_stderr_threshold_behavior=false. +// -legacy_stderr_threshold_behavior=true +// If true, -stderrthreshold is ignored when -logtostderr=true +// (legacy behavior). If false, -stderrthreshold is honored even +// when -logtostderr=true, allowing severity-based filtering. // -log_dir="" // Log files will be written to this directory instead of the // default temporary directory. @@ -156,7 +171,7 @@ func (s *severityValue) Set(value string) error { } threshold = severity.Severity(v) } - logging.stderrThreshold.set(threshold) + s.set(threshold) return nil } @@ -409,6 +424,15 @@ var commandLine flag.FlagSet // init sets up the defaults and creates command line flags. func init() { + // Initialize severity thresholds + logging.stderrThreshold = severityValue{ + Severity: severity.ErrorLog, // Default stderrThreshold is ERROR. + } + logging.alsologtostderrthreshold = severityValue{ + Severity: severity.InfoLog, // Default alsologtostderrthreshold is INFO (to maintain backward compatibility). + } + logging.setVState(0, nil, false) + commandLine.StringVar(&logging.logDir, "log_dir", "", "If non-empty, write log files in this directory (no effect when -logtostderr=true)") commandLine.StringVar(&logging.logFile, "log_file", "", "If non-empty, use this log file (no effect when -logtostderr=true)") commandLine.Uint64Var(&logging.logFileMaxSizeMB, "log_file_max_size", 1800, @@ -416,16 +440,14 @@ func init() { "If the value is 0, the maximum file size is unlimited.") commandLine.BoolVar(&logging.toStderr, "logtostderr", true, "log to standard error instead of files") commandLine.BoolVar(&logging.alsoToStderr, "alsologtostderr", false, "log to standard error as well as files (no effect when -logtostderr=true)") - logging.setVState(0, nil, false) + commandLine.BoolVar(&logging.legacyStderrThresholdBehavior, "legacy_stderr_threshold_behavior", true, "If true, stderrthreshold is ignored when logtostderr=true (legacy behavior). If false, stderrthreshold is honored even when logtostderr=true") commandLine.Var(&logging.verbosity, "v", "number for the log level verbosity") commandLine.BoolVar(&logging.addDirHeader, "add_dir_header", false, "If true, adds the file directory to the header of the log messages") commandLine.BoolVar(&logging.skipHeaders, "skip_headers", false, "If true, avoid header prefixes in the log messages") commandLine.BoolVar(&logging.oneOutput, "one_output", false, "If true, only write logs to their native severity level (vs also writing to each lower severity level; no effect when -logtostderr=true)") commandLine.BoolVar(&logging.skipLogHeaders, "skip_log_headers", false, "If true, avoid headers when opening log files (no effect when -logtostderr=true)") - logging.stderrThreshold = severityValue{ - Severity: severity.ErrorLog, // Default stderrThreshold is ERROR. - } - commandLine.Var(&logging.stderrThreshold, "stderrthreshold", "logs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=true)") + commandLine.Var(&logging.stderrThreshold, "stderrthreshold", "logs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=true unless -legacy_stderr_threshold_behavior=false)") + commandLine.Var(&logging.alsologtostderrthreshold, "alsologtostderrthreshold", "logs at or above this threshold go to stderr when -alsologtostderr=true (no effect when -logtostderr=true)") commandLine.Var(&logging.vmodule, "vmodule", "comma-separated list of pattern=N settings for file-filtered logging") commandLine.Var(&logging.traceLocation, "log_backtrace_at", "when logging hits line file:N, emit a stack trace") @@ -470,11 +492,13 @@ type settings struct { // Boolean flags. Not handled atomically because the flag.Value interface // does not let us avoid the =true, and that shorthand is necessary for // compatibility. TODO: does this matter enough to fix? Seems unlikely. - toStderr bool // The -logtostderr flag. - alsoToStderr bool // The -alsologtostderr flag. + toStderr bool // The -logtostderr flag. + alsoToStderr bool // The -alsologtostderr flag. + legacyStderrThresholdBehavior bool // The -legacy_stderr_threshold_behavior flag. // Level flag. Handled atomically. - stderrThreshold severityValue // The -stderrthreshold flag. + stderrThreshold severityValue // The -stderrthreshold flag. + alsologtostderrthreshold severityValue // The -alsologtostderrthreshold flag. // Access to all of the following fields must be protected via a mutex. @@ -809,16 +833,21 @@ func (l *loggingT) infoS(logger *logWriter, filter LogFilter, depth int, msg str // printS is called from infoS and errorS if logger is not specified. // set log severity by s func (l *loggingT) printS(err error, s severity.Severity, depth int, msg string, keysAndValues ...interface{}) { - // Only create a new buffer if we don't have one cached. - b := buffer.GetBuffer() // The message is always quoted, even if it contains line breaks. // If developers want multi-line output, they should use a small, fixed // message and put the multi-line output into a value. - b.WriteString(strconv.Quote(msg)) + qMsg := make([]byte, 0, 1024) + qMsg = strconv.AppendQuote(qMsg, msg) + + // Only create a new buffer if we don't have one cached. + b := buffer.GetBuffer() + b.Write(qMsg) + + var errKV []interface{} if err != nil { - serialize.KVListFormat(&b.Buffer, "err", err) + errKV = []interface{}{"err", err} } - serialize.KVListFormat(&b.Buffer, keysAndValues...) + serialize.FormatKVs(&b.Buffer, errKV, keysAndValues) l.printDepth(s, nil, nil, depth+1, &b.Buffer) // Make the buffer available for reuse. buffer.PutBuffer(b) @@ -885,9 +914,25 @@ func (l *loggingT) output(s severity.Severity, logger *logWriter, buf *buffer.Bu } } } else if l.toStderr { - os.Stderr.Write(data) + // When logging to stderr only, check if we should filter by severity. + // This is controlled by the legacy_stderr_threshold_behavior flag. + if l.legacyStderrThresholdBehavior { + // Legacy behavior: always write to stderr, ignore stderrthreshold + os.Stderr.Write(data) + } else { + // New behavior: honor stderrthreshold even when logtostderr=true + if s >= l.stderrThreshold.get() { + os.Stderr.Write(data) + } + } } else { - if alsoToStderr || l.alsoToStderr || s >= l.stderrThreshold.get() { + // Write to stderr if any of these conditions are met: + // - alsoToStderr is set (legacy behavior) + // - alsologtostderr is set and severity meets alsologtostderrthreshold + // - alsologtostderr is not set and severity meets stderrThreshold + if alsoToStderr || + (l.alsoToStderr && s >= l.alsologtostderrthreshold.get()) || + (!l.alsoToStderr && s >= l.stderrThreshold.get()) { os.Stderr.Write(data) } diff --git a/vendor/k8s.io/klog/v2/klogr.go b/vendor/k8s.io/klog/v2/klogr.go index efec96fd4..6204c7bb4 100644 --- a/vendor/k8s.io/klog/v2/klogr.go +++ b/vendor/k8s.io/klog/v2/klogr.go @@ -53,7 +53,7 @@ func (l *klogger) Init(info logr.RuntimeInfo) { } func (l *klogger) Info(level int, msg string, kvList ...interface{}) { - merged := serialize.MergeKVs(l.values, kvList) + merged := serialize.WithValues(l.values, kvList) // Skip this function. VDepth(l.callDepth+1, Level(level)).InfoSDepth(l.callDepth+1, msg, merged...) } @@ -63,7 +63,7 @@ func (l *klogger) Enabled(level int) bool { } func (l *klogger) Error(err error, msg string, kvList ...interface{}) { - merged := serialize.MergeKVs(l.values, kvList) + merged := serialize.WithValues(l.values, kvList) ErrorSDepth(l.callDepth+1, err, msg, merged...) } diff --git a/vendor/k8s.io/klog/v2/klogr_slog.go b/vendor/k8s.io/klog/v2/klogr_slog.go index c77d7baaf..901e28dd3 100644 --- a/vendor/k8s.io/klog/v2/klogr_slog.go +++ b/vendor/k8s.io/klog/v2/klogr_slog.go @@ -63,12 +63,17 @@ func slogOutput(file string, line int, now time.Time, err error, s severity.Seve } // See printS. + qMsg := make([]byte, 0, 1024) + qMsg = strconv.AppendQuote(qMsg, msg) + b := buffer.GetBuffer() - b.WriteString(strconv.Quote(msg)) + b.Write(qMsg) + + var errKV []interface{} if err != nil { - serialize.KVListFormat(&b.Buffer, "err", err) + errKV = []interface{}{"err", err} } - serialize.KVListFormat(&b.Buffer, kvList...) + serialize.FormatKVs(&b.Buffer, errKV, kvList) // See print + header. buf := logging.formatHeader(s, file, line, now) diff --git a/vendor/modules.txt b/vendor/modules.txt index b9c37dcbe..b3555eb07 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -55,7 +55,7 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources # github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions v1.3.0 ## explicit; go 1.18 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions -# github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 +# github.com/AzureAD/microsoft-authentication-library-for-go v1.7.0 ## explicit; go 1.18 github.com/AzureAD/microsoft-authentication-library-for-go/apps/cache github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential @@ -191,8 +191,8 @@ github.com/aws/aws-sdk-go-v2/internal/ini github.com/aws/aws-sdk-go-v2/internal/v4a github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4 -# github.com/aws/aws-sdk-go-v2/service/ec2 v1.293.0 -## explicit; go 1.23 +# github.com/aws/aws-sdk-go-v2/service/ec2 v1.294.0 +## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/ec2 github.com/aws/aws-sdk-go-v2/service/ec2/internal/endpoints github.com/aws/aws-sdk-go-v2/service/ec2/types @@ -497,7 +497,7 @@ github.com/golang/groupcache/lru # github.com/google/uuid v1.6.0 ## explicit github.com/google/uuid -# github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 +# github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 ## explicit; go 1.24.0 github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule github.com/grpc-ecosystem/grpc-gateway/v2/runtime @@ -665,13 +665,13 @@ github.com/pulumi/esc/internal/util github.com/pulumi/esc/schema github.com/pulumi/esc/syntax github.com/pulumi/esc/syntax/encoding -# github.com/pulumi/pulumi-aws-native/sdk v1.56.0 -## explicit; go 1.24.7 +# github.com/pulumi/pulumi-aws-native/sdk v1.57.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-aws-native/sdk/go/aws github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal github.com/pulumi/pulumi-aws-native/sdk/go/aws/scheduler github.com/pulumi/pulumi-aws-native/sdk/go/aws/ssm -# github.com/pulumi/pulumi-aws/sdk/v7 v7.20.0 +# github.com/pulumi/pulumi-aws/sdk/v7 v7.21.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-aws/sdk/v7/go/aws github.com/pulumi/pulumi-aws/sdk/v7/go/aws/autoscaling @@ -683,33 +683,33 @@ github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3 -# github.com/pulumi/pulumi-awsx/sdk/v3 v3.2.1 +# github.com/pulumi/pulumi-awsx/sdk/v3 v3.3.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-awsx/sdk/v3/go/awsx/awsx github.com/pulumi/pulumi-awsx/sdk/v3/go/awsx/ecs github.com/pulumi/pulumi-awsx/sdk/v3/go/awsx/internal -# github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.14.0 +# github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.15.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 -# github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.14.0 +# github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.15.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-azure-native-sdk/compute/v3 -# github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.14.0 +# github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.15.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 -# github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.14.0 +# github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.15.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 -# github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.14.0 +# github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.15.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-azure-native-sdk/network/v3 -# github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.14.0 +# github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.15.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-azure-native-sdk/resources/v3 -# github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.14.0 +# github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.15.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-azure-native-sdk/storage/v3 -# github.com/pulumi/pulumi-azure-native-sdk/v3 v3.14.0 +# github.com/pulumi/pulumi-azure-native-sdk/v3 v3.15.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi-azure-native-sdk/v3/utilities # github.com/pulumi/pulumi-command/sdk v1.2.1 @@ -806,8 +806,8 @@ github.com/pulumi/pulumi-random/sdk/v4/go/random/internal ## explicit; go 1.24.0 github.com/pulumi/pulumi-tls/sdk/v5/go/tls github.com/pulumi/pulumi-tls/sdk/v5/go/tls/internal -# github.com/pulumi/pulumi/sdk/v3 v3.224.0 -## explicit; go 1.24.0 +# github.com/pulumi/pulumi/sdk/v3 v3.225.1 +## explicit; go 1.25.6 github.com/pulumi/pulumi/sdk/v3 github.com/pulumi/pulumi/sdk/v3/go/auto github.com/pulumi/pulumi/sdk/v3/go/auto/debug @@ -966,19 +966,19 @@ github.com/zclconf/go-cty/cty/set ## explicit; go 1.24.0 go.opentelemetry.io/auto/sdk go.opentelemetry.io/auto/sdk/internal/telemetry -# go.opentelemetry.io/collector/featuregate v1.51.0 -## explicit; go 1.24.0 +# go.opentelemetry.io/collector/featuregate v1.53.0 +## explicit; go 1.25.0 go.opentelemetry.io/collector/featuregate -# go.opentelemetry.io/collector/pdata v1.51.0 -## explicit; go 1.24.0 +# go.opentelemetry.io/collector/pdata v1.53.0 +## explicit; go 1.25.0 go.opentelemetry.io/collector/pdata/internal go.opentelemetry.io/collector/pdata/internal/json go.opentelemetry.io/collector/pdata/internal/otlp go.opentelemetry.io/collector/pdata/internal/proto go.opentelemetry.io/collector/pdata/pcommon go.opentelemetry.io/collector/pdata/ptrace -# go.opentelemetry.io/otel v1.40.0 -## explicit; go 1.24.0 +# go.opentelemetry.io/otel v1.42.0 +## explicit; go 1.25.0 go.opentelemetry.io/otel go.opentelemetry.io/otel/attribute go.opentelemetry.io/otel/attribute/internal @@ -986,19 +986,20 @@ go.opentelemetry.io/otel/attribute/internal/xxhash go.opentelemetry.io/otel/baggage go.opentelemetry.io/otel/codes go.opentelemetry.io/otel/internal/baggage +go.opentelemetry.io/otel/internal/errorhandler go.opentelemetry.io/otel/internal/global go.opentelemetry.io/otel/propagation go.opentelemetry.io/otel/semconv/v1.17.0 go.opentelemetry.io/otel/semconv/v1.26.0 go.opentelemetry.io/otel/semconv/v1.37.0 -go.opentelemetry.io/otel/semconv/v1.39.0 -go.opentelemetry.io/otel/semconv/v1.39.0/otelconv -# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 -## explicit; go 1.24.0 +go.opentelemetry.io/otel/semconv/v1.40.0 +go.opentelemetry.io/otel/semconv/v1.40.0/otelconv +# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0 +## explicit; go 1.25.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform -# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 -## explicit; go 1.24.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0 +## explicit; go 1.25.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/counter @@ -1007,13 +1008,13 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/retry go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/x -# go.opentelemetry.io/otel/metric v1.40.0 -## explicit; go 1.24.0 +# go.opentelemetry.io/otel/metric v1.42.0 +## explicit; go 1.25.0 go.opentelemetry.io/otel/metric go.opentelemetry.io/otel/metric/embedded go.opentelemetry.io/otel/metric/noop -# go.opentelemetry.io/otel/sdk v1.40.0 -## explicit; go 1.24.0 +# go.opentelemetry.io/otel/sdk v1.42.0 +## explicit; go 1.25.0 go.opentelemetry.io/otel/sdk go.opentelemetry.io/otel/sdk/instrumentation go.opentelemetry.io/otel/sdk/internal/x @@ -1021,8 +1022,8 @@ go.opentelemetry.io/otel/sdk/resource go.opentelemetry.io/otel/sdk/trace go.opentelemetry.io/otel/sdk/trace/internal/env go.opentelemetry.io/otel/sdk/trace/internal/observ -# go.opentelemetry.io/otel/trace v1.40.0 -## explicit; go 1.24.0 +# go.opentelemetry.io/otel/trace v1.42.0 +## explicit; go 1.25.0 go.opentelemetry.io/otel/trace go.opentelemetry.io/otel/trace/embedded go.opentelemetry.io/otel/trace/internal/telemetry @@ -1086,15 +1087,15 @@ golang.org/x/net/internal/socks golang.org/x/net/internal/timeseries golang.org/x/net/proxy golang.org/x/net/trace -# golang.org/x/oauth2 v0.34.0 -## explicit; go 1.24.0 +# golang.org/x/oauth2 v0.36.0 +## explicit; go 1.25.0 golang.org/x/oauth2 golang.org/x/oauth2/internal -# golang.org/x/sync v0.19.0 -## explicit; go 1.24.0 +# golang.org/x/sync v0.20.0 +## explicit; go 1.25.0 golang.org/x/sync/errgroup -# golang.org/x/sys v0.41.0 -## explicit; go 1.24.0 +# golang.org/x/sys v0.42.0 +## explicit; go 1.25.0 golang.org/x/sys/cpu golang.org/x/sys/execabs golang.org/x/sys/plan9 @@ -1120,8 +1121,8 @@ golang.org/x/text/secure/bidirule golang.org/x/text/transform golang.org/x/text/unicode/bidi golang.org/x/text/unicode/norm -# golang.org/x/time v0.9.0 -## explicit; go 1.18 +# golang.org/x/time v0.15.0 +## explicit; go 1.25.0 golang.org/x/time/rate # golang.org/x/tools v0.42.0 ## explicit; go 1.24.0 @@ -1145,8 +1146,8 @@ golang.org/x/tools/internal/stdlib golang.org/x/tools/internal/typeparams golang.org/x/tools/internal/typesinternal golang.org/x/tools/internal/versions -# google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 -## explicit; go 1.24.0 +# google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171 +## explicit; go 1.25.0 google.golang.org/genproto/googleapis/api/httpbody # google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 ## explicit; go 1.25.0 @@ -1347,8 +1348,8 @@ k8s.io/client-go/util/flowcontrol k8s.io/client-go/util/homedir k8s.io/client-go/util/keyutil k8s.io/client-go/util/workqueue -# k8s.io/klog/v2 v2.130.1 -## explicit; go 1.18 +# k8s.io/klog/v2 v2.140.0 +## explicit; go 1.21 k8s.io/klog/v2 k8s.io/klog/v2/internal/buffer k8s.io/klog/v2/internal/clock @@ -1356,11 +1357,11 @@ k8s.io/klog/v2/internal/dbg k8s.io/klog/v2/internal/serialize k8s.io/klog/v2/internal/severity k8s.io/klog/v2/internal/sloghandler -# k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 +# k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf ## explicit; go 1.23.0 k8s.io/kube-openapi/pkg/util -# k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 -## explicit; go 1.18 +# k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 +## explicit; go 1.23 k8s.io/utils/clock k8s.io/utils/internal/third_party/forked/golang/net k8s.io/utils/net